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, }