from __future__ import annotations from datetime import datetime from typing import Literal from uuid import UUID from cpv3.common.schemas import Schema ProjectStatusEnum = Literal["DRAFT", "PROCESSING", "DONE", "FAILED"] class ProjectRead(Schema): id: UUID owner_id: UUID name: str description: str | None language: str folder: str | None status: ProjectStatusEnum is_active: bool created_at: datetime updated_at: datetime class ProjectCreate(Schema): name: str description: str | None = None language: str = "auto" class ProjectUpdate(Schema): name: str | None = None description: str | None = None language: str | None = None folder: str | None = None status: ProjectStatusEnum | None = None