refactor: share alarm loading between get_alarms and get_alarm

This commit is contained in:
2026-06-22 10:37:52 +02:00
parent 3fae274aa0
commit e118dbc357
+10 -6
View File
@@ -77,6 +77,12 @@ def _alarm_from_dict(data: dict) -> Alarm:
) )
def _load_alarms() -> List[Alarm]:
"""Load all alarms from the crontab and map them to GraphQL types."""
manager = get_manager()
return [_alarm_from_dict(a) for a in manager.get_alarms()]
@strawberry.type @strawberry.type
class Query: class Query:
@strawberry.field @strawberry.field
@@ -85,15 +91,13 @@ class Query:
@strawberry.field @strawberry.field
def get_alarms(self) -> List[Alarm]: def get_alarms(self) -> List[Alarm]:
manager = get_manager() return _load_alarms()
return [_alarm_from_dict(a) for a in manager.get_alarms()]
@strawberry.field @strawberry.field
def get_alarm(self, id: str) -> Optional[Alarm]: def get_alarm(self, id: str) -> Optional[Alarm]:
manager = get_manager() for alarm in _load_alarms():
for a in manager.get_alarms(): if alarm.id == id:
if a["id"] == id: return alarm
return _alarm_from_dict(a)
return None return None