dict_router.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from fastapi import APIRouter, Request
  2. from core.constant import PermissionName
  3. from core.decorators import Authorize
  4. from domain.dtos import SysDictDataUpdateDto, PageDto
  5. from domain.services import SysDictService, get_dict_service
  6. diict_router = APIRouter(prefix="/dict", tags=["系统字典管理"])
  7. @diict_router.post("/type/page", summary="查询字典")
  8. @Authorize(PermissionName.SYS_DICT_QUERY)
  9. async def get_dict_type_page(
  10. request: Request,
  11. dict_service: SysDictService = get_dict_service(),
  12. ):
  13. page_dict = await request.json()
  14. page_dto = PageDto(**page_dict)
  15. dicts = await dict_service.get_page_list(page_dto)
  16. return dicts
  17. @diict_router.post("/data/page", summary="查询字典数据")
  18. @Authorize(PermissionName.SYS_DICT_QUERY)
  19. async def get_dict_data_page(
  20. request: Request,
  21. dict_service: SysDictService = get_dict_service(),
  22. ):
  23. page_dict = await request.json()
  24. page_dto = PageDto(**page_dict)
  25. dicts = await dict_service.get_dict_data_page(page_dto)
  26. return dicts
  27. @diict_router.post("/data/all", summary="查询所有字典数据")
  28. @Authorize(PermissionName.SYS_DICT_QUERY)
  29. async def get_dict_datas_page(
  30. _: Request,
  31. dict_service: SysDictService = get_dict_service(),
  32. ):
  33. dicts = await dict_service.get_all_dict_data()
  34. return dicts
  35. @diict_router.post("/data/update", summary="更新字典数据")
  36. @Authorize(PermissionName.SYS_DICT_UPDATE)
  37. async def update_dict_data(
  38. request: Request,
  39. dict_service: SysDictService = get_dict_service(),
  40. ):
  41. dict_data = await request.json()
  42. dict_data_dto = SysDictDataUpdateDto(**dict_data)
  43. await dict_service.update_dict_data(dict_data_dto)