models + refactor
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
from datetime import datetime, UTC
|
||||
from enum import Enum
|
||||
from typing import List, Optional
|
||||
|
||||
from pydantic import BaseModel, Field, computed_field
|
||||
|
||||
from models.Asset import Asset
|
||||
from models.enums import AspectRatios, Quality, GenType
|
||||
from models.enums import AspectRatios, Quality
|
||||
|
||||
|
||||
class GenerationStatus(str, Enum):
|
||||
@@ -14,33 +12,35 @@ class GenerationStatus(str, Enum):
|
||||
FAILED = "failed"
|
||||
|
||||
class Generation(BaseModel):
|
||||
id: Optional[str] = None
|
||||
id: str | None = None
|
||||
status: GenerationStatus = GenerationStatus.RUNNING
|
||||
failed_reason: Optional[str] = None
|
||||
linked_character_id: Optional[str] = None
|
||||
telegram_id: Optional[int] = None
|
||||
failed_reason: str | None = None
|
||||
linked_character_id: str | None = None
|
||||
telegram_id: int | None = None
|
||||
use_profile_image: bool = True
|
||||
aspect_ratio: AspectRatios
|
||||
quality: Quality
|
||||
prompt: str
|
||||
tech_prompt: Optional[str] = None
|
||||
assets_list: List[str] = Field(default_factory=list)
|
||||
result_list: List[str] = Field(default_factory=list)
|
||||
result: Optional[str] = None
|
||||
model: str | None = None
|
||||
seed: int | None = None
|
||||
tech_prompt: str | None = None
|
||||
assets_list: list[str] = Field(default_factory=list)
|
||||
result_list: list[str] = Field(default_factory=list)
|
||||
result: str | None = None
|
||||
progress: int = 0
|
||||
execution_time_seconds: Optional[float] = None
|
||||
api_execution_time_seconds: Optional[float] = None
|
||||
token_usage: Optional[int] = None
|
||||
input_token_usage: Optional[int] = None
|
||||
output_token_usage: Optional[int] = None
|
||||
execution_time_seconds: float | None = None
|
||||
api_execution_time_seconds: float | None = None
|
||||
token_usage: int | None = None
|
||||
input_token_usage: int | None = None
|
||||
output_token_usage: int | None = None
|
||||
is_deleted: bool = False
|
||||
album_id: Optional[str] = None
|
||||
environment_id: Optional[str] = None
|
||||
generation_group_id: Optional[str] = None
|
||||
created_by: Optional[str] = None # Stores User ID (Telegram ID or Web User ObjectId)
|
||||
project_id: Optional[str] = None
|
||||
idea_id: Optional[str] = None
|
||||
liked_by: List[str] = Field(default_factory=list)
|
||||
album_id: str | None = None
|
||||
environment_id: str | None = None
|
||||
generation_group_id: str | None = None
|
||||
created_by: str | None = None # Stores User ID (Telegram ID or Web User ObjectId)
|
||||
project_id: str | None = None
|
||||
idea_id: str | None = None
|
||||
liked_by: list[str] = Field(default_factory=list)
|
||||
nsfw: bool = False
|
||||
created_at: datetime = Field(default_factory=lambda: datetime.now(UTC))
|
||||
updated_at: datetime = Field(default_factory=lambda: datetime.now(UTC))
|
||||
|
||||
Reference in New Issue
Block a user