feat: add admin permissions voice input analytics and feedback
This commit is contained in:
27
ai_knowledge_base_v2/apps/backend/app/api/voice.py
Normal file
27
ai_knowledge_base_v2/apps/backend/app/api/voice.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from fastapi import APIRouter, Depends, File, UploadFile
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.core.database import get_db
|
||||
from app.core.dependencies import get_current_user
|
||||
from app.core.responses import api_success
|
||||
from app.models.user import User
|
||||
from app.services.voice_input_service import MAX_UPLOAD_BYTES, VoiceInputService
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/config")
|
||||
def voice_config(db: Session = Depends(get_db), _user: User = Depends(get_current_user)) -> dict:
|
||||
return api_success(VoiceInputService.public_config(db))
|
||||
|
||||
|
||||
@router.post("/transcribe")
|
||||
def transcribe(
|
||||
audio: UploadFile = File(...),
|
||||
db: Session = Depends(get_db),
|
||||
user: User = Depends(get_current_user),
|
||||
) -> dict:
|
||||
content = audio.file.read(MAX_UPLOAD_BYTES + 1)
|
||||
return api_success(VoiceInputService.transcribe(db, user.id, content, audio.content_type))
|
||||
Reference in New Issue
Block a user