Maia/backend/app/schemas/meeting.py

45 lines
1.1 KiB
Python

from pydantic import BaseModel
from typing import Optional, List, Any
from datetime import datetime
from uuid import UUID
from app.models.meeting import MeetingStatus
class MeetingResponse(BaseModel):
id: UUID
title: Optional[str] = None
date: datetime
duration: Optional[int] = None
status: MeetingStatus
transcription: Optional[Any] = None
user_id: UUID
owner_email: Optional[str] = None
owner_name: Optional[str] = None
created_at: datetime
class Config:
from_attributes = True
class MeetingStatusResponse(BaseModel):
id: UUID
status: MeetingStatus
title: Optional[str] = None
class Config:
from_attributes = True
class ParticipantUpdate(BaseModel):
identified_name: Optional[str] = None
confidence_score: Optional[float] = None
class ParticipantResponse(BaseModel):
id: UUID
meeting_id: UUID
speaker_label: str
voice_profile_id: Optional[UUID] = None
identified_name: Optional[str] = None
confidence_score: Optional[float] = None
talk_time_seconds: Optional[int] = None
class Config:
from_attributes = True