101 lines
1.9 KiB
Python
101 lines
1.9 KiB
Python
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
|