33 lines
966 B
Python
33 lines
966 B
Python
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}
|