19 lines
502 B
Python
19 lines
502 B
Python
from app.models import Job, JobStatus
|
|
|
|
|
|
class JobStore:
|
|
def __init__(self) -> None:
|
|
self._jobs: dict[str, Job] = {}
|
|
|
|
def add(self, job: Job) -> None:
|
|
self._jobs[job.id] = job
|
|
|
|
def get(self, job_id: str) -> Job | None:
|
|
return self._jobs.get(job_id)
|
|
|
|
def list_all(self) -> list[Job]:
|
|
return list(self._jobs.values())
|
|
|
|
def list_by_status(self, status: JobStatus) -> list[Job]:
|
|
return [job for job in self._jobs.values() if job.status == status]
|