API для работы с файлами, индексация файлов и результатов распощнавания

This commit is contained in:
poturaevpetr
2025-12-24 16:05:14 +05:00
parent 4f23dc8664
commit c39b348472
31 changed files with 1739 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
from apiApp.schemas.audio_schemas import *
from apiApp.schemas.ai_conclusions_schemas import *
+45
View File
@@ -0,0 +1,45 @@
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
+25
View File
@@ -0,0 +1,25 @@
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any
from datetime import datetime
import uuid
class AudioBase(BaseModel):
filename: str = Field(..., max_length=255)
file_path: Optional[str] = None
duration: Optional[float] = None
file_size: Optional[int] = None
class AudioCreate(AudioBase):
pass
class AudioResponse(AudioBase):
id: uuid.UUID
index_date: datetime
class Config:
from_attributes = True
class AudioListResponse(BaseModel):
audios: list[AudioResponse]
count: int