from pydantic import BaseModel from models.status import AnalysisStatus class Channels(BaseModel): youtube: str | None = None instagram: str | None = None facebook: str | None = None naver_blog: str | None = None gangnam_unni: str | None = None tiktok: str | None = None instagram_en: str | None = None facebook_en: str | None = None kakao_talk: str | None = None naver_cafe: str | None = None class AnalysisOptions(BaseModel): skip_vision: bool = False skip_perplexity: bool = False class AnalysisCreate(BaseModel): clinic_id: str channels: Channels options: AnalysisOptions = AnalysisOptions() class AnalysisStartResponse(BaseModel): analysis_run_id: str clinic_id: str status: AnalysisStatus estimated_seconds: int poll_url: str class AnalysisStatusResponse(BaseModel): analysis_run_id: str status: AnalysisStatus progress: float current_step: str channel_errors: dict completed_at: str | None