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"}