From 51c67c49ae83e38928c0e568d87f1e7eca3a3617 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 | 6 ++++++ api/src/dooris_api/models.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/api/src/dooris_api/app.py b/api/src/dooris_api/app.py index 9be8164..f239fa5 100644 --- a/api/src/dooris_api/app.py +++ b/api/src/dooris_api/app.py @@ -233,11 +233,17 @@ async def list_locks(ccujack: deps.CCUJackClient) -> List[models.Lock]: case "UNREACH": status_data["is_unreachable"] = value.v + main_lock = app_config.get().main_lock or "" + is_main_lock = ( + i_lock.identifier.lower() == main_lock.lower() + or i_lock.title.lower() == 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