config_router.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from fastapi import APIRouter, Request
  2. from core.constant import PermissionName
  3. from core.decorators import Authorize, OperationLog
  4. from core.enums import BusinessTypeEnum
  5. from domain.dtos import PageDto, SysConfigUpdateDto
  6. from domain.services import SysConfigService, get_config_service
  7. config_router = APIRouter(prefix="/config", tags=["系统配置管理"])
  8. @config_router.post("/page", summary="查询配置")
  9. @Authorize(PermissionName.SYS_CONFIG_QUERY)
  10. async def get_configs_page(
  11. request: Request,
  12. config_service: SysConfigService = get_config_service(),
  13. ):
  14. page_dict = await request.json()
  15. page_dto = PageDto(**page_dict)
  16. configs = await config_service.get_page_list(page_dto)
  17. return configs
  18. @config_router.post("/update", summary="更新配置")
  19. @Authorize(PermissionName.SYS_USER_UPDATE)
  20. @OperationLog(title="更新配置", business_type=BusinessTypeEnum.UPDATE)
  21. async def update_user(
  22. request: Request,
  23. config_service: SysConfigService = get_config_service(),
  24. ):
  25. user_data = await request.json()
  26. dto = SysConfigUpdateDto(**user_data)
  27. updated_user = await config_service.update(dto)
  28. return updated_user