knowledge.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # coding:utf-8
  2. from fastapi import APIRouter, Depends, Query, HTTPException
  3. from app.api import Response, get_current_user, ResponseList
  4. from app.models import klgParameter, klgIcon
  5. from app.models.base_model import get_db
  6. from app.models.user_model import UserModel
  7. from app.service.knowledge import get_knowledge_list, create_knowledge_service, sync_knowledge_service, \
  8. delete_knowledge_service, update_knowledge_icon_service
  9. from typing import Optional
  10. knowledge_router = APIRouter()
  11. @knowledge_router.get("/list", response_model=Response)
  12. async def knowledge_list(
  13. current: int,
  14. pageSize: int,
  15. keyword: str="",
  16. status: str="",
  17. knowledge: str="1",
  18. location: str="",
  19. current_user: UserModel = Depends(get_current_user),
  20. db=Depends(get_db)):
  21. if current and not pageSize:
  22. return ResponseList(code=400, msg="缺少参数")
  23. getknowledgelist = await get_knowledge_list(db, current_user.id, keyword, pageSize, current, status, knowledge, location)
  24. return Response(code=200, msg="", data=getknowledgelist)
  25. @knowledge_router.post("/create", response_model=Response)
  26. async def create_knowledge_api(klg: klgParameter, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  27. is_create = await create_knowledge_service(db, klg.id, klg.name, klg.description, klg.icon, klg.klgType, current_user.id)
  28. if not is_create:
  29. return Response(code=500, msg="role knowledge failure", data={})
  30. return Response(code=200, msg="role knowledge success", data={})
  31. @knowledge_router.get("/update", response_model=Response)
  32. async def change_knowledge_api(knowledgeId: str, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  33. # is_create = await update_dialog_status_service(db, dialog.id, dialog.status)
  34. # if not is_create:
  35. # return Response(code=500, msg="dialog update failure", data={})
  36. return Response(code=200, msg="knowledge update success", data={})
  37. @knowledge_router.get("/sync", response_model=Response)
  38. async def sync_knowledge_api(knowledgeId: str, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  39. is_create = await sync_knowledge_service(db, knowledgeId)
  40. if not is_create:
  41. return Response(code=500, msg="knowledge update failure", data={})
  42. return Response(code=200, msg="knowledge update success", data={})
  43. @knowledge_router.get("/delete", response_model=Response)
  44. async def sync_knowledge_api(knowledgeId: str, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  45. is_delete = await delete_knowledge_service(db, knowledgeId)
  46. if not is_delete:
  47. return Response(code=500, msg="knowledge delete failure", data={})
  48. return Response(code=200, msg="knowledge delete success", data={})
  49. @knowledge_router.put("/update_icon", response_model=Response)
  50. async def change_dialog_icon(klg: klgIcon, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  51. is_create = await update_knowledge_icon_service(db, klg.id, klg.icon)
  52. if not is_create:
  53. return Response(code=500, msg="knowledge update failure", data={})
  54. return Response(code=200, msg="knowledge update success", data={})