from datetime import datetime from typing import Optional from pydantic import BaseModel from .models import MeetingStatus class UploadUrlRequest(BaseModel): filename: str content_type: str = "audio/mp4" title: Optional[str] = None participants: Optional[str] = None class UploadUrlResponse(BaseModel): meeting_id: int upload_url: str object_key: str class UploadCompleteRequest(BaseModel): meeting_id: int file_size: int class MeetingRead(BaseModel): id: int title: str participants: Optional[str] = None duration: Optional[int] = None file_size: Optional[int] = None status: MeetingStatus chunks_done: int chunks_total: int error: Optional[str] = None created_at: datetime class Config: from_attributes = True