sehastian's picture
fix : db use naive utc datetime for asyncpg compatibility"
7fef436
raw
history blame contribute delete
680 Bytes
import uuid
from datetime import datetime, timezone
from enum import StrEnum
from sqlmodel import Field, SQLModel
class TaskStatus(StrEnum):
QUEUED = "queued"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
class Task(SQLModel, table=True):
__tablename__: str = "tasks" # type: ignore
id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True)
status: TaskStatus = Field(default=TaskStatus.QUEUED)
input_filename: str
result_url: str | None = None
error_message: str | None = None
created_at: datetime = Field(
default_factory=lambda: datetime.now(timezone.utc).replace(tzinfo=None)
)