from datetime import datetime, UTC from enum import Enum from typing import List, Optional from pydantic import BaseModel from models.Asset import Asset from models.enums import AspectRatios, Quality class GenerationStatus(str, Enum): RUNNING = "running" DONE = "done" FAILED = "failed" class Generation(BaseModel): id: Optional[str] = None status: GenerationStatus = GenerationStatus.RUNNING linked_character_id: Optional[str] = None aspect_ratio: AspectRatios quality: Quality prompt: str tech_prompt: Optional[str] = None assets_list: List[str] result: Optional[str] = None created_at: datetime = datetime.now(UTC) updated_at: datetime = datetime.now(UTC)