refactor: share alarm loading between get_alarms and get_alarm
This commit is contained in:
+10
-6
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user