init
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional, Any
|
||||
from datetime import datetime
|
||||
|
||||
class Response(BaseModel):
|
||||
code: int = 0
|
||||
data: Any = None
|
||||
message: str = "ok"
|
||||
|
||||
class PageData(BaseModel):
|
||||
items: list = []
|
||||
total: int = 0
|
||||
page: int = 1
|
||||
page_size: int = 20
|
||||
|
||||
# 模板
|
||||
class TemplateCreate(BaseModel):
|
||||
name: str
|
||||
description: str = ""
|
||||
|
||||
class TemplateOut(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
description: str = ""
|
||||
file_path: str = ""
|
||||
paragraph_count: int = 0
|
||||
status: str = "draft"
|
||||
created_at: Optional[datetime] = None
|
||||
updated_at: Optional[datetime] = None
|
||||
|
||||
class ParagraphConfig(BaseModel):
|
||||
id: int = 0
|
||||
sort_index: int = 0
|
||||
title: str = ""
|
||||
edit_mode: str = "ai"
|
||||
model_id: Optional[int] = None
|
||||
need_prompt: bool = True
|
||||
prompt_text: str = ""
|
||||
need_file: bool = False
|
||||
file_note: str = ""
|
||||
output_format: str = "text"
|
||||
|
||||
class TemplateSave(BaseModel):
|
||||
paragraphs: list[ParagraphConfig] = []
|
||||
|
||||
# 模型
|
||||
class AiModelCreate(BaseModel):
|
||||
name: str
|
||||
provider: str = ""
|
||||
api_format: str = "openai"
|
||||
api_endpoint: str = ""
|
||||
api_key: str = ""
|
||||
status: str = "enabled"
|
||||
|
||||
class AiModelOut(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
provider: str = ""
|
||||
api_format: str = "openai"
|
||||
api_endpoint: str = ""
|
||||
api_key_preview: str = ""
|
||||
status: str = "enabled"
|
||||
created_at: Optional[datetime] = None
|
||||
|
||||
# 生成
|
||||
class GenerateTestRequest(BaseModel):
|
||||
paragraph_id: int
|
||||
template_id: int
|
||||
prompt_text: str = ""
|
||||
model_id: int = 0
|
||||
file_paths: list[str] = []
|
||||
|
||||
class GenerateFullRequest(BaseModel):
|
||||
template_id: int
|
||||
file_map: dict[str, str] = {} # paragraph_id -> file_path
|
||||
|
||||
class DocumentOut(BaseModel):
|
||||
id: int
|
||||
template_id: int
|
||||
name: str
|
||||
para_count_done: int = 0
|
||||
para_count_total: int = 0
|
||||
status: str = "pending"
|
||||
file_path: str = ""
|
||||
error: str = ""
|
||||
created_at: Optional[datetime] = None
|
||||
Reference in New Issue
Block a user