crud.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. from collections.abc import Sequence
  2. from app.api.v1.module_system.auth.schema import AuthSchema
  3. from app.core.base_crud import CRUDBase
  4. from .model import ParamsModel
  5. from .schema import ParamsCreateSchema, ParamsUpdateSchema
  6. class ParamsCRUD(CRUDBase[ParamsModel, ParamsCreateSchema, ParamsUpdateSchema]):
  7. """配置管理数据层"""
  8. def __init__(self, auth: AuthSchema) -> None:
  9. """
  10. 初始化系统参数配置数据层。
  11. 参数:
  12. - auth (AuthSchema): 认证信息模型(含 DB 会话等上下文)。
  13. 返回:
  14. - None
  15. """
  16. self.auth = auth
  17. super().__init__(model=ParamsModel, auth=auth)
  18. async def get_obj_by_id_crud(self, id: int, preload: list | None = None) -> ParamsModel | None:
  19. """
  20. 获取配置管理型详情
  21. 参数:
  22. - id (int): 配置管理型ID
  23. - preload (list | None): 预加载关系,未提供时使用模型默认项
  24. 返回:
  25. - ParamsModel | None: 配置管理型模型实例
  26. """
  27. return await self.get(id=id, preload=preload)
  28. async def get_obj_by_key_crud(
  29. self, key: str, preload: list | None = None
  30. ) -> ParamsModel | None:
  31. """
  32. 根据key获取配置管理型详情
  33. 参数:
  34. - key (str): 配置管理型key
  35. - preload (list | None): 预加载关系,未提供时使用模型默认项
  36. 返回:
  37. - ParamsModel | None: 配置管理型模型实例
  38. """
  39. return await self.get(config_key=key, preload=preload)
  40. async def get_obj_list_crud(
  41. self,
  42. search: dict | None = None,
  43. order_by: list | None = None,
  44. preload: list | None = None,
  45. ) -> Sequence[ParamsModel]:
  46. """
  47. 获取配置管理型列表
  48. 参数:
  49. - search (dict | None): 查询参数对象。
  50. - order_by (list | None): 排序参数列表。
  51. - preload (list | None): 预加载关系,未提供时使用模型默认项
  52. 返回:
  53. - Sequence[ParamsModel]: 配置管理型模型实例列表
  54. """
  55. return await self.list(search=search, order_by=order_by, preload=preload)
  56. async def create_obj_crud(self, data: ParamsCreateSchema) -> ParamsModel | None:
  57. """
  58. 创建配置管理型
  59. 参数:
  60. - data (ParamsCreateSchema): 创建配置管理型负载模型
  61. 返回:
  62. - ParamsModel | None: 配置管理型模型实例
  63. """
  64. return await self.create(data=data)
  65. async def update_obj_crud(self, id: int, data: ParamsUpdateSchema) -> ParamsModel | None:
  66. """
  67. 更新配置管理型
  68. 参数:
  69. - id (int): 配置管理型ID
  70. - data (ParamsUpdateSchema): 更新配置管理型负载模型
  71. 返回:
  72. - ParamsModel | None: 配置管理型模型实例
  73. """
  74. return await self.update(id=id, data=data)
  75. async def delete_obj_crud(self, ids: list[int]) -> None:
  76. """
  77. 删除配置管理型
  78. 参数:
  79. - ids (list[int]): 配置管理型ID列表
  80. 返回:
  81. - None
  82. """
  83. return await self.delete(ids=ids)