Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -62,6 +62,41 @@ class AiConclusionResponse(BaseModel):
|
||||
error: Optional[str] = None
|
||||
|
||||
|
||||
class ConclusionByFilenameResponse(BaseModel):
|
||||
"""Заключение по имени файла"""
|
||||
filename: str
|
||||
audio_id: str
|
||||
conclusion: Dict[str, Any]
|
||||
index_date: Optional[datetime] = None
|
||||
end_date: Optional[datetime] = None
|
||||
|
||||
|
||||
@ai_conclusion_router.get("/conclusion/by-filename/{filename}", response_model=ConclusionByFilenameResponse)
|
||||
async def get_conclusion_by_filename(filename: str, db: Session = Depends(get_db)):
|
||||
"""
|
||||
Возвращает заключение по распознаванию по имени файла.
|
||||
Имя файла задаётся в path (то же, что сохранено в БД при загрузке).
|
||||
"""
|
||||
audio = db.query(Audio).filter(Audio.filename == filename).first()
|
||||
if not audio:
|
||||
raise HTTPException(status_code=404, detail=f"Файл не найден: {filename}")
|
||||
|
||||
conclusion_row = db.query(AiConclusion).filter(AiConclusion.audio_id == audio.id).first()
|
||||
if not conclusion_row:
|
||||
raise HTTPException(
|
||||
status_code=404,
|
||||
detail=f"Заключение по распознаванию для файла не найдено: {filename}"
|
||||
)
|
||||
|
||||
return ConclusionByFilenameResponse(
|
||||
filename=audio.filename,
|
||||
audio_id=str(audio.id),
|
||||
conclusion=conclusion_row.conclusion or {},
|
||||
index_date=conclusion_row.index_date,
|
||||
end_date=conclusion_row.end_date,
|
||||
)
|
||||
|
||||
|
||||
@ai_conclusion_router.post("/conclusion/save", response_model=AiConclusionResponse)
|
||||
async def save_ai_conclusion(request: AiConclusionRequest, db: Session = Depends(get_db)):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user