dooris/ssh-cli/src/api_models.rs
lilly 504d64ea57
All checks were successful
Build Container / Build Container (push) Successful in 1m42s
init small ssh-cli to accept commands over SSH and operate local locks
2026-07-18 23:20:07 +02:00

63 lines
1.3 KiB
Rust

use serde::{Deserialize, Serialize};
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Deserialize)]
pub struct ApiLock {
pub id: String,
pub name: String,
pub status: ApiLockStatus,
}
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Deserialize)]
pub struct ApiLockStatus {
pub is_unreachable: bool,
#[serde(default)]
pub is_low_batteray: bool,
pub is_error_jammed: bool,
pub lock_target_level: String,
pub lock_state: String,
pub activity_state: String,
}
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum LockTargetLevel {
LOCKED,
UNLOCKED,
OPEN,
}
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum LockState {
UNKNOWN,
LOCKED,
UNLOCKED,
}
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum LockActivityState {
UNKNOWN,
LOCKING,
UNLOCKING,
STABLE,
}
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Serialize)]
pub struct LockOperationRequest {
pub desired_state: DesiredLockState,
}
#[allow(unused)]
#[derive(Debug, Eq, PartialEq, Hash, Serialize)]
#[serde(rename_all = "lowercase")]
pub enum DesiredLockState {
OPEN,
CLOSED,
}