Add static pages and styles
This commit is contained in:
@@ -758,6 +758,37 @@ async def create_content(
|
||||
return content
|
||||
|
||||
|
||||
@router.delete("/content/{key}", response_model=MessageResponse)
|
||||
async def delete_content(
|
||||
key: str,
|
||||
request: Request,
|
||||
current_user: CurrentUser,
|
||||
db: DbSession,
|
||||
):
|
||||
"""Delete static content. Admin only."""
|
||||
require_admin_with_2fa(current_user)
|
||||
|
||||
result = await db.execute(
|
||||
select(StaticContent).where(StaticContent.key == key)
|
||||
)
|
||||
content = result.scalar_one_or_none()
|
||||
if not content:
|
||||
raise HTTPException(status_code=404, detail="Content not found")
|
||||
|
||||
await db.delete(content)
|
||||
await db.commit()
|
||||
|
||||
# Log action
|
||||
await log_admin_action(
|
||||
db, current_user.id, AdminActionType.CONTENT_UPDATE.value,
|
||||
"static_content", content.id,
|
||||
{"action": "delete", "key": key},
|
||||
request.client.host if request.client else None
|
||||
)
|
||||
|
||||
return {"message": f"Content '{key}' deleted successfully"}
|
||||
|
||||
|
||||
# ============ Dashboard ============
|
||||
@router.get("/dashboard", response_model=DashboardStats)
|
||||
async def get_dashboard(current_user: CurrentUser, db: DbSession):
|
||||
|
||||
Reference in New Issue
Block a user