TalentTalkPro / backend /app /schemas.py
Param2121's picture
Refactor: Move project to root of repository
3abfc90
Raw
History Blame Contribute Delete
1.07 kB
from pydantic import BaseModel, ConfigDict
from typing import List, Optional, Dict, Any
from uuid import UUID
# --- Request Models ---
class InterviewStartRequest(BaseModel):
target_company: str
job_role: str
interview_style: str
difficulty: str
topic: Optional[str] = None
max_follow_ups: int = 1 # Default to 1 follow-up per question
class ChatRequest(BaseModel):
session_id: str
user_input: Optional[str] = None
audio_file_data: Optional[bytes] = None # For direct file upload if needed, usually handled via UploadFile
class ReportRequest(BaseModel):
session_id: str
# --- Response Models ---
class InterviewStartResponse(BaseModel):
session_id: str
message: str
first_question: str
class ChatResponse(BaseModel):
question: Optional[str] = None
audio_url: Optional[str] = None # URL to TTS audio
feedback: Optional[Dict[str, Any]] = None
user_transcript: Optional[str] = None # Transcribed text from audio
is_finished: bool = False
class ReportResponse(BaseModel):
report_content: str