Files
X-Financial/server/src/app/api/v1/endpoints/audit_logs.py

30 lines
844 B
Python
Raw Normal View History

2026-05-11 03:51:24 +00:00
from __future__ import annotations
from typing import Annotated
from fastapi import APIRouter, Depends, Query
from sqlalchemy.orm import Session
from app.api.deps import get_db
from app.schemas.audit_log import AuditLogRead
from app.services.audit import AuditLogService
router = APIRouter(prefix="/audit-logs")
DbSession = Annotated[Session, Depends(get_db)]
@router.get("", response_model=list[AuditLogRead])
def list_audit_logs(
db: DbSession,
resource_type: str | None = Query(default=None),
resource_id: str | None = Query(default=None),
action: str | None = Query(default=None),
limit: int = Query(default=50, ge=1, le=200),
) -> list[AuditLogRead]:
return AuditLogService(db).list_logs(
resource_type=resource_type,
resource_id=resource_id,
action=action,
limit=limit,
)