addes folder backup attachments logging
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.database import get_db
|
||||
from app.models.db_models import FilterLog
|
||||
|
||||
router = APIRouter(prefix="/api/logs", tags=["logs"])
|
||||
|
||||
|
||||
@router.get("/")
|
||||
def get_logs(
|
||||
account_id: int | None = None,
|
||||
level: str | None = None,
|
||||
limit: int = Query(default=100, le=500),
|
||||
offset: int = 0,
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
query = db.query(FilterLog).order_by(FilterLog.created_at.desc())
|
||||
if account_id:
|
||||
query = query.filter(FilterLog.account_id == account_id)
|
||||
if level:
|
||||
query = query.filter(FilterLog.level == level)
|
||||
total = query.count()
|
||||
logs = query.offset(offset).limit(limit).all()
|
||||
return {
|
||||
"total": total,
|
||||
"logs": [
|
||||
{
|
||||
"id": log.id,
|
||||
"account_id": log.account_id,
|
||||
"account_name": log.account_name,
|
||||
"level": log.level.value if log.level else "info",
|
||||
"message": log.message,
|
||||
"rule_name": log.rule_name,
|
||||
"action_type": log.action_type,
|
||||
"mail_uid": log.mail_uid,
|
||||
"mail_subject": log.mail_subject,
|
||||
"mail_from": log.mail_from,
|
||||
"folder": log.folder,
|
||||
"details": log.details,
|
||||
"created_at": log.created_at.isoformat() if log.created_at else None,
|
||||
}
|
||||
for log in logs
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@router.delete("/")
|
||||
def clear_logs(account_id: int | None = None, db: Session = Depends(get_db)):
|
||||
query = db.query(FilterLog)
|
||||
if account_id:
|
||||
query = query.filter(FilterLog.account_id == account_id)
|
||||
count = query.delete()
|
||||
db.commit()
|
||||
return {"deleted": count}
|
||||
Reference in New Issue
Block a user