mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-25 21:57:48 +00:00
- Added *.pyc and *.pyo to .gitignore to prevent compiled Python files from being tracked. - Improved docstrings in various modules, providing clearer descriptions of functions, parameters, and return values to enhance code readability and maintainability.
75 lines
2.1 KiB
Python
75 lines
2.1 KiB
Python
from collections.abc import Sequence
|
|
|
|
from app.api.v1.module_system.auth.schema import AuthSchema
|
|
from app.core.base_crud import CRUDBase
|
|
|
|
from .model import OperationLogModel
|
|
from .schema import OperationLogCreateSchema
|
|
|
|
|
|
class OperationLogCRUD(
|
|
CRUDBase[OperationLogModel, OperationLogCreateSchema, OperationLogCreateSchema]
|
|
):
|
|
"""
|
|
操作日志数据层。
|
|
"""
|
|
|
|
def __init__(self, auth: AuthSchema) -> None:
|
|
"""
|
|
初始化操作日志数据层。
|
|
|
|
参数:
|
|
- auth (AuthSchema): 认证信息模型(含 DB 会话等上下文)。
|
|
|
|
返回:
|
|
- None
|
|
"""
|
|
self.auth = auth
|
|
super().__init__(model=OperationLogModel, auth=auth)
|
|
|
|
async def create_crud(self, data: OperationLogCreateSchema) -> OperationLogModel | None:
|
|
"""
|
|
创建操作日志记录。
|
|
|
|
参数:
|
|
- data (OperationLogCreateSchema): 操作日志创建模型。
|
|
|
|
返回:
|
|
- OperationLogModel | None: 创建后的日志记录。
|
|
"""
|
|
return await self.create(data=data)
|
|
|
|
async def get_by_id_crud(
|
|
self, id: int, preload: list | None = None
|
|
) -> OperationLogModel | None:
|
|
"""
|
|
根据ID获取操作日志详情。
|
|
|
|
参数:
|
|
- id (int): 操作日志ID。
|
|
- preload (list | None): 预加载关系,未提供时使用模型默认项
|
|
|
|
返回:
|
|
- OperationLogModel | None: 操作日志记录。
|
|
"""
|
|
return await self.get(id=id, preload=preload)
|
|
|
|
async def get_list_crud(
|
|
self,
|
|
search: dict | None = None,
|
|
order_by: list | None = None,
|
|
preload: list | None = None,
|
|
) -> Sequence[OperationLogModel]:
|
|
"""
|
|
获取操作日志列表。
|
|
|
|
参数:
|
|
- search (dict | None): 搜索条件字典。
|
|
- order_by (list | None): 排序字段列表。
|
|
- preload (list | None): 预加载关系,未提供时使用模型默认项
|
|
|
|
返回:
|
|
- Sequence[OperationLogModel]: 操作日志列表。
|
|
"""
|
|
return await self.list(search=search, order_by=order_by, preload=preload)
|