Сервис для хранения файлов аудио, индексации файлов, записи и выдачи результатов распознавания
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
1.8 KiB

# 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()