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
+65
View File
@@ -0,0 +1,65 @@
# Legacy database API support
# Этот модуль обеспечивает обратную совместимость со старым кодом
from apiApp.crud import AudioCRUD, AiConclusionCRUD
class AudioDB:
"""
Совместимый слой для старого API
"""
@staticmethod
def list():
from apiApp.database import SessionLocal
db = SessionLocal()
try:
return AudioCRUD.get_all(db)
finally:
db.close()
@staticmethod
def get(audio_id):
from apiApp.database import SessionLocal
db = SessionLocal()
try:
return AudioCRUD.get_by_id(db, audio_id)
finally:
db.close()
@staticmethod
def add(data):
from apiApp.database import SessionLocal
from apiApp.schemas import AudioCreate
db = SessionLocal()
try:
audio_data = AudioCreate(**data)
return AudioCRUD.create(db, audio_data, file_path=data.get('file_path', ''))
finally:
db.close()
@staticmethod
def put(audio_id, data):
from apiApp.database import SessionLocal
db = SessionLocal()
try:
return AudioCRUD.update(db, audio_id, data)
finally:
db.close()
@staticmethod
def delete(audio_id):
from apiApp.database import SessionLocal
db = SessionLocal()
try:
return AudioCRUD.delete(db, audio_id)
finally:
db.close()
@staticmethod
def update_recognition_result(audio_id, result):
from apiApp.database import SessionLocal
db = SessionLocal()
try:
return AudioCRUD.update_recognition_result(db, audio_id, result)
finally:
db.close()