From 69148ebef401e4703b2a4a2bb8144f0129e853e8 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 11 Aug 2026 16:51:48 +0200 Subject: [PATCH] api: fix response generation with new "is_main_lock" field --- api/src/dooris_api/app.py | 5 +++++ api/src/dooris_api/models.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/src/dooris_api/app.py b/api/src/dooris_api/app.py index 9be8164..cabab73 100644 --- a/api/src/dooris_api/app.py +++ b/api/src/dooris_api/app.py @@ -233,11 +233,16 @@ async def list_locks(ccujack: deps.CCUJackClient) -> List[models.Lock]: case "UNREACH": status_data["is_unreachable"] = value.v + is_main_lock = ( + i_lock.identifier.lower() == app_config.get().main_lock.lower() + or i_lock.title.lower() == app_config.get().main_lock.lower() + ) result.append( models.Lock( id=i_lock.identifier, name=i_lock.title, status=models.LockStatus(**status_data), + is_main_lock=is_main_lock, ) ) diff --git a/api/src/dooris_api/models.py b/api/src/dooris_api/models.py index ee95233..ae603c4 100644 --- a/api/src/dooris_api/models.py +++ b/api/src/dooris_api/models.py @@ -54,7 +54,6 @@ class LockStatus(BaseModel): is_unreachable: bool is_low_battery: bool is_error_jammed: bool - is_main_lock: bool lock_target_level: Literal["locked", "unlocked", "open"] lock_state: Literal["unknown", "locked", "unlocked"] activity_state: Literal["unknown", "locking", "unlocking", "stable"] @@ -63,6 +62,7 @@ class LockStatus(BaseModel): class Lock(BaseModel): name: str id: str + is_main_lock: bool status: LockStatus