feature(jobs): add subscription endpoint

This commit is contained in:
Houkime 2024-05-15 20:41:36 +00:00
parent 8348f11faf
commit 3b0600efb6
2 changed files with 20 additions and 0 deletions

View file

@ -0,0 +1,20 @@
# pylint: disable=too-few-public-methods
import strawberry
from typing import AsyncGenerator, List
from selfprivacy_api.jobs import job_notifications
from selfprivacy_api.graphql.common_types.jobs import ApiJob
from selfprivacy_api.graphql.queries.jobs import get_all_jobs
@strawberry.type
class JobSubscriptions:
"""Subscriptions related to jobs"""
@strawberry.subscription
async def job_updates(self) -> AsyncGenerator[List[ApiJob], None]:
# Send the complete list of jobs every time anything gets updated
async for notification in job_notifications():
yield get_all_jobs()