init
This commit is contained in:
100
backend/app/schemas/schemas.py
Normal file
100
backend/app/schemas/schemas.py
Normal file
@@ -0,0 +1,100 @@
|
||||
from pydantic import BaseModel
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class TranscriptOut(BaseModel):
|
||||
id: str
|
||||
filename: str
|
||||
file_path: str
|
||||
line_count: int
|
||||
file_size: int
|
||||
status: str
|
||||
error_message: str
|
||||
uploaded_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class PersonOut(BaseModel):
|
||||
id: str
|
||||
name: str
|
||||
nickname: str
|
||||
filename: str
|
||||
file_path: str
|
||||
photo_path: str
|
||||
info: str
|
||||
uploaded_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class StoryOut(BaseModel):
|
||||
id: str
|
||||
title: str
|
||||
summary: str
|
||||
content: str
|
||||
raw_material: str
|
||||
speaker_nickname: str
|
||||
source_transcript_id: str
|
||||
source_lines: str
|
||||
duration_minutes: float
|
||||
confidence: float
|
||||
confidence_level: str
|
||||
person_id: str | None
|
||||
match_status: str
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class StoryEdit(BaseModel):
|
||||
title: str | None = None
|
||||
summary: str | None = None
|
||||
content: str | None = None
|
||||
|
||||
|
||||
class MatchCreate(BaseModel):
|
||||
story_id: str
|
||||
person_id: str
|
||||
|
||||
|
||||
class MatchOut(BaseModel):
|
||||
story_id: str
|
||||
person_id: str
|
||||
person_name: str
|
||||
story_title: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ExportItemOut(BaseModel):
|
||||
person_id: str
|
||||
person_name: str
|
||||
story_count: int
|
||||
has_photo: bool
|
||||
|
||||
|
||||
class SettingsOut(BaseModel):
|
||||
llm_provider: str
|
||||
llm_model: str
|
||||
llm_base_url: str
|
||||
llm_api_key: str
|
||||
segment_max_lines: int
|
||||
story_min_lines: int
|
||||
confidence_threshold: float
|
||||
temperature: float
|
||||
|
||||
|
||||
class SettingsUpdate(BaseModel):
|
||||
llm_provider: str | None = None
|
||||
llm_model: str | None = None
|
||||
llm_base_url: str | None = None
|
||||
llm_api_key: str | None = None
|
||||
segment_max_lines: int | None = None
|
||||
story_min_lines: int | None = None
|
||||
confidence_threshold: float | None = None
|
||||
temperature: float | None = None
|
||||
Reference in New Issue
Block a user