dingdanquanliucheng/backend/app/api/audit_logs.py
2026-06-19 23:03:14 +08:00

41 lines
1.4 KiB
Python

from fastapi import APIRouter, Depends, Query
from sqlalchemy.orm import Session
from backend.app.api.deps import require_roles
from backend.app.db import get_db_session
from backend.app.schemas.common import success_payload
from backend.app.services.audit_service import audit_service
router = APIRouter(prefix="/api/audit-logs", tags=["audit-logs"])
@router.get("")
def list_audit_logs(
biz_type: str | None = Query(default=None),
biz_id: int | None = Query(default=None),
operator_name: str | None = Query(default=None),
operate_type: str | None = Query(default=None),
start_time: str | None = Query(default=None),
end_time: str | None = Query(default=None),
page_no: int = Query(default=1),
page_size: int = Query(default=20),
session: Session = Depends(get_db_session),
_user: dict = Depends(require_roles("admin", "manager")), # 仅管理员和经理可查看
) -> dict:
"""查询审计日志列表,仅管理员和经理可访问。"""
return success_payload(
audit_service.list_audit_logs(
session,
{
"biz_type": biz_type,
"biz_id": biz_id,
"operator_name": operator_name,
"operate_type": operate_type,
"start_time": start_time,
"end_time": end_time,
"page_no": page_no,
"page_size": page_size,
},
)
)