397b999558
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
745 B
Python
25 lines
745 B
Python
from fastapi import APIRouter, Depends, HTTPException
|
|
|
|
from app.api.deps import get_current_user
|
|
from app.models.user import User, UserRole
|
|
from app.services.storage import get_disk_usage
|
|
from app.tasks.cleanup import cleanup_old_data_task
|
|
|
|
router = APIRouter(prefix="/api/settings", tags=["settings"])
|
|
|
|
|
|
@router.get("/storage")
|
|
async def storage_info(user: User = Depends(get_current_user)):
|
|
return get_disk_usage()
|
|
|
|
|
|
@router.post("/cleanup")
|
|
async def trigger_cleanup(
|
|
retention_days: int | None = None,
|
|
user: User = Depends(get_current_user),
|
|
):
|
|
if user.role != UserRole.admin:
|
|
raise HTTPException(403, "Admin access required")
|
|
cleanup_old_data_task.delay(retention_days)
|
|
return {"message": "Cleanup started"}
|