o2o-infinith-backend/app/models/analysis.py

39 lines
832 B
Python

from pydantic import BaseModel
class Channels(BaseModel):
youtube: str | None = None
instagram: list[str] | str | None = None
facebook: str | None = None
naver_blog: str | None = None
gangnam_unni: str | None = None
class AnalysisOptions(BaseModel):
skip_vision: bool = False
skip_perplexity: bool = False
class AnalysisCreate(BaseModel):
clinic_id: str | None = None
url: str | None = None
channels: Channels
options: AnalysisOptions = AnalysisOptions()
class AnalysisStartResponse(BaseModel):
analysis_run_id: str
clinic_id: str
status: str
estimated_seconds: int
poll_url: str
class AnalysisStatusResponse(BaseModel):
analysis_run_id: str
status: str
progress: float
current_step: str
channel_errors: dict
completed_at: str | None