Files
AI-comic-generator/backend/app/schemas/schemas.py
T
p 3f0815e997 feat: 新增项目配置选项和任务日志功能
添加分辨率配置选项,支持在项目设置中选择1K/2K/4K分辨率
为任务模型添加logs字段,记录任务执行过程中的详细日志
实现任务日志记录功能,包括时间戳和状态更新
新增多个前端对话框组件:终端日志、历史记录、JSON编辑器等
优化AI服务生成图像接口,支持传入分辨率和宽高比参数
重构任务管理界面,添加折叠功能和日志查看入口
2026-01-17 18:35:57 +08:00

61 lines
1.6 KiB
Python

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
resolution: 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