from fastapi import APIRouter, Depends, HTTPException, Query from sqlalchemy.orm import Session from app.api.deps import get_current_user, get_db from app.models.log import OperationLog from app.models.user import User from app.services.log_service import log_service router = APIRouter() @router.get("") def get_logs( limit: int = Query(100, ge=1, le=500), current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): _ = current_user return db.query(OperationLog).order_by(OperationLog.timestamp.desc()).limit(limit).all() @router.delete("/older-than/{days}") def delete_logs( days: int, current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): _ = current_user if days < 1: raise HTTPException(status_code=400, detail="Days must be >= 1") deleted = log_service.delete_older_than(db, days) return {"message": f"Deleted {deleted} logs", "deleted": deleted}