felicity-lims/felicity/apps/job/schemas.py

34 lines
679 B
Python
Raw Normal View History

from typing import Any, Optional
2024-02-16 23:48:19 +08:00
from pydantic import BaseModel, ConfigDict
2024-07-24 04:30:01 +08:00
from .enum import JobCategory, JobPriority, JobState
#
# Job Schemas
#
class JobBase(BaseModel):
action: str | None = None
2024-07-24 04:30:01 +08:00
category: str | None = JobCategory.WORKSHEET
priority: int | None = JobPriority.NORMAL
data: Optional[Any] = None
2023-09-11 13:02:05 +08:00
job_id: str | None = None
2024-07-24 04:30:01 +08:00
status: str | None = JobState.PENDING
reason: str | None = None
2023-09-11 13:02:05 +08:00
creator_uid: str | None = None
class Job(JobBase):
2023-09-11 13:02:05 +08:00
uid: str | None = None
2023-09-14 16:35:24 +08:00
model_config = ConfigDict(from_attributes=True)
class JobCreate(JobBase):
pass
class JobUpdate(JobBase):
pass