from fastapi import APIRouter, Query, HTTPException, status from ..controllers.session_controller import * from fastapi import Depends from ..dependencies.database import get_db from ..dependencies.redis import get_redis router = APIRouter() #session_id查询接口 @router.get("/sessions", response_model=SessionIdQueryResponse) async def get_session_id(user_id: int=Query(..., description="用户id"), character_id: int=Query(..., description="角色id"),db=Depends(get_db)): response = await get_session_id_handler(user_id, character_id, db) return response #session查询接口 @router.get("/sessions/{session_id}", response_model=SessionQueryResponse) async def get_session(session_id: str, db=Depends(get_db), redis=Depends(get_redis)): response = await get_session_handler(session_id, db, redis) return response #session更新接口 @router.put("/sessions/{session_id}", response_model=SessionUpdateResponse) async def update_session(session_id: str, session_data: SessionUpdateRequest, db=Depends(get_db), redis=Depends(get_redis)): response = await update_session_handler(session_id, session_data, db, redis) return response #session声音信息更新接口 @router.put("/sessions/tts_info/speaker_id/{session_id}", response_model=SessionSpeakerUpdateResponse) async def update_session_speaker_id(session_id: str, session_data: SessionSpeakerUpdateRequest, db=Depends(get_db), redis=Depends(get_redis)): response = await update_session_speaker_id_handler(session_id, session_data, db, redis) return response