2023-05-12 02:32:50 +08:00
|
|
|
from typing import Any, Optional
|
|
|
|
|
2024-02-16 23:48:19 +08:00
|
|
|
from pydantic import BaseModel, ConfigDict
|
2023-05-12 02:32:50 +08:00
|
|
|
|
|
|
|
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
|
2023-05-12 02:32:50 +08:00
|
|
|
status: str | None = states.PENDING
|
|
|
|
reason: str | None = None
|
2023-09-11 13:02:05 +08:00
|
|
|
creator_uid: str | None = None
|
2023-05-12 02:32:50 +08:00
|
|
|
|
|
|
|
|
|
|
|
class Job(JobBase):
|
2023-09-11 13:02:05 +08:00
|
|
|
uid: str | None = None
|
2023-05-12 02:32:50 +08:00
|
|
|
|
2023-09-14 16:35:24 +08:00
|
|
|
model_config = ConfigDict(from_attributes=True)
|
2023-05-12 02:32:50 +08:00
|
|
|
|
|
|
|
|
|
|
|
class JobCreate(JobBase):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class JobUpdate(JobBase):
|
|
|
|
pass
|