api: fix response generation with new "is_main_lock" field
All checks were successful
Build Container / Build Container (push) Successful in 4m25s

This commit is contained in:
lilly 2026-08-11 16:51:48 +02:00
commit 51c67c49ae
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
2 changed files with 7 additions and 1 deletions

View file

@ -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,
)
)

View file

@ -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