| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- from fastapi import Depends, APIRouter, Query, HTTPException, UploadFile, WebSocket
- from fastapi.responses import JSONResponse, PlainTextResponse
- from app.apis.base import Response
- from app.models.ai_meeting import AIMeetingModel
- from app.services.ai_meeting import AIMeetingService
- from app.services.hotword import ReplaceHotwordService, ASRHotwordService
- from app.models.hotword import ReplaceHotwordModel, ASRHotwordModel
- from app.models.common import Page
- router = APIRouter()
- @router.post("/asr/add", response_model=Response)
- async def create_asr_hotword(asr_hotword: ASRHotwordModel):
- asr_hotword_total = await ASRHotwordService.create_asr_hotword(asr_hotword.get_create())
- return Response(code=201, msg="success", data={"total": asr_hotword_total})
- @router.post("/asr/list", response_model=Response)
- async def list_asr_hotwords(page: Page):
- data_list = await ASRHotwordService.list_asr_hotwords(page)
- return Response(code=200, msg="success", data={"total": await ASRHotwordService.asr_hotwords_total(),
- "rows": [i.to_dict() for i in data_list]})
- @router.get("/asr/total", response_model=Response)
- async def total_asr_hotwords():
- return Response(code=200, msg="success", data={"total": await ASRHotwordService.asr_hotwords_total()})
- @router.get("/asr/{asr_hotword_id}")
- async def get_asr_hotword(asr_hotword_id: int):
- return await ASRHotwordService.get_asr_hotword(ASRHotwordModel(id=asr_hotword_id))
- @router.put("/asr/{asr_hotword_id}")
- async def update_asr_hotword(asr_hotword_id: int, asr_hotword: ASRHotwordModel):
- asr_hotword.id = asr_hotword_id
- await ASRHotwordService.update_asr_hotword(asr_hotword.get_update())
- return PlainTextResponse(status_code=204)
- @router.delete("/asr/delete/{hotword_id}", response_model=Response)
- async def delete_asr_hotword(hotword_id: int):
- await ASRHotwordService.delete_asr_hotword(ASRHotwordModel(id=hotword_id))
- return Response(code=204, msg="success", data={})
- @router.post("/replace/add", response_model=Response)
- async def create_replace_hotword(replace_hotword: ReplaceHotwordModel):
- replace_hotword_total = await ReplaceHotwordService.create_replace_hotword(replace_hotword.get_create())
- if replace_hotword.meeting_id:
- await AIMeetingService.replace_ai_meeting_record(
- AIMeetingModel(id=replace_hotword.meeting_id, replace_word=replace_hotword.replace_list)
- )
- return Response(code=201, msg="success", data={"total": replace_hotword_total})
- @router.post("/replace/list", response_model=Response)
- async def list_replace_hotwords(page: Page):
- data_list = await ReplaceHotwordService.list_replace_hotwords(page)
- return Response(code=200, msg="success", data={"total": await ReplaceHotwordService.replace_hotwords_total(),
- "rows": [i.to_dict() for i in data_list]})
- @router.put("/replace/edit", response_model=Response)
- async def update_replace_hotword(replace_hotword: ReplaceHotwordModel):
- replace_hotword = await ReplaceHotwordService.update_replace_hotword(replace_hotword.get_update())
- return Response(code=204, msg="success", data={"id": replace_hotword.id})
- @router.delete("/replace/delete/{replace_id}", response_model=Response)
- async def delete_replace_hotword(replace_id: int):
- await ReplaceHotwordService.delete_replace_hotword(ReplaceHotwordModel(id=replace_id))
- return Response(code=204, msg="success", data={})
- @router.get("/replace/total", response_model=Response)
- async def total_replace_hotwords():
- return Response(code=200, msg="success", data={"total": await ReplaceHotwordService.replace_hotwords_total()})
|