46 lines
961 B
Python
46 lines
961 B
Python
from pydantic import BaseModel, Field
|
|
from typing import Optional, Dict, Any
|
|
from datetime import datetime
|
|
import uuid
|
|
|
|
|
|
class AiConclusionBase(BaseModel):
|
|
audio_id: uuid.UUID
|
|
conclusion: Optional[Dict[str, Any]] = None
|
|
|
|
class AiConclusionCreate(AiConclusionBase):
|
|
pass
|
|
|
|
|
|
class AiConclusionResponse(BaseModel):
|
|
id: uuid.UUID
|
|
audio_id: uuid.UUID
|
|
conclusion: Dict[str, Any]
|
|
index_date: Optional[datetime] = None
|
|
end_date: Optional[datetime] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
class RecognitionStatus(BaseModel):
|
|
task_id: str
|
|
audio_id: uuid.UUID
|
|
status: str # pending, processing, completed, error
|
|
result: Optional[Dict[str, Any]] = None
|
|
error: Optional[str] = None
|
|
|
|
|
|
class RecognitionStartResponse(BaseModel):
|
|
status: str
|
|
message: str
|
|
task_id: str
|
|
audio_id: uuid.UUID
|
|
|
|
|
|
class MessageResponse(BaseModel):
|
|
message: str
|
|
|
|
|
|
class ErrorResponse(BaseModel):
|
|
detail: str
|