feat: initial commit of AI Comic Generator
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional, Dict, List
|
||||
from datetime import datetime
|
||||
from app.models.models import (
|
||||
ModelConfigBase, ProjectBase, CharacterBase, StoryboardItemBase, GlobalConfigBase, TaskBase,
|
||||
ModelConfig, Project, Character, StoryboardItem, GlobalConfig, Task
|
||||
)
|
||||
|
||||
# ModelConfig
|
||||
class ModelConfigCreate(ModelConfigBase):
|
||||
pass
|
||||
|
||||
class ModelConfigUpdate(BaseModel):
|
||||
provider: Optional[str] = None
|
||||
api_key: Optional[str] = None
|
||||
base_url: Optional[str] = None
|
||||
model_name: Optional[str] = None
|
||||
model_type: Optional[str] = None
|
||||
is_active: Optional[bool] = None
|
||||
|
||||
# Read Models for nested response
|
||||
class CharacterRead(CharacterBase):
|
||||
id: int
|
||||
project_id: str
|
||||
|
||||
class StoryboardItemRead(StoryboardItemBase):
|
||||
id: int
|
||||
project_id: str
|
||||
|
||||
class GlobalConfigRead(GlobalConfigBase):
|
||||
id: int
|
||||
project_id: str
|
||||
|
||||
class TaskRead(TaskBase):
|
||||
id: str
|
||||
project_id: str
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
# Project
|
||||
class ProjectCreate(ProjectBase):
|
||||
pass
|
||||
|
||||
class ProjectUpdate(BaseModel):
|
||||
title: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
story_input: Optional[str] = None
|
||||
theme: Optional[str] = None
|
||||
language: Optional[str] = None
|
||||
panel_count: Optional[int] = None
|
||||
aspect_ratio: Optional[str] = None
|
||||
|
||||
class ProjectRead(ProjectBase):
|
||||
id: str
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
characters: List[CharacterRead] = []
|
||||
storyboard_items: List[StoryboardItemRead] = []
|
||||
global_config: Optional[GlobalConfigRead] = None
|
||||
Reference in New Issue
Block a user