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

34 lines
671 B
Python
Raw Normal View History

from typing import Any, Optional
2024-02-16 23:48:19 +08:00
from pydantic import BaseModel, ConfigDict
from .conf import categories, priorities, states
#
# Job Schemas
#
class JobBase(BaseModel):
action: str | None = None
category: str | None = categories.WORKSHEET
priority: int | None = priorities.NORMAL
data: Optional[Any] = None
2023-09-11 13:02:05 +08:00
job_id: str | None = None
status: str | None = states.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