diff --git a/app/routers/admin.py b/app/routers/admin.py index e210781..272ddcd 100644 --- a/app/routers/admin.py +++ b/app/routers/admin.py @@ -24,16 +24,16 @@ async def list_users(_admin=Depends(admin_required)): SELECT u.id, u.login, u.full_name, u.email, u.is_admin, u.is_active, u.last_login, u.created_at, (SELECT COUNT(*) FROM workspaces WHERE owner_id=u.id) AS ws_count, - (SELECT COUNT(*) FROM pages WHERE owner_id=u.id AND is_folder=0) AS file_count, - (SELECT COUNT(*) FROM pages WHERE owner_id=u.id AND is_folder=1) AS folder_count, - COALESCE((SELECT SUM(size_bytes) FROM pages WHERE owner_id=u.id), 0) AS total_bytes + (SELECT COUNT(*) FROM pages WHERE workspace_id IN (SELECT id FROM workspaces WHERE owner_id=u.id)) AS page_count FROM users u ORDER BY u.id """).fetchall() users = [] for r in rows: d = dict(r) - d["total_mb"] = round(d["total_bytes"] / (1024 * 1024), 2) + d["file_count"] = d["page_count"] + d["folder_count"] = 0 + d["total_mb"] = 0 users.append(d) return {"users": users} @@ -127,9 +127,9 @@ async def user_stats(_admin=Depends(admin_required)): with get_conn() as conn: total_users = conn.execute("SELECT COUNT(*) FROM users").fetchone()[0] total_ws = conn.execute("SELECT COUNT(*) FROM workspaces").fetchone()[0] - total_files = conn.execute("SELECT COUNT(*) FROM pages WHERE is_folder=0").fetchone()[0] - total_folders = conn.execute("SELECT COUNT(*) FROM pages WHERE is_folder=1").fetchone()[0] - total_bytes = conn.execute("SELECT COALESCE(SUM(size_bytes), 0) FROM pages").fetchone()[0] + total_files = conn.execute("SELECT COUNT(*) FROM pages").fetchone()[0] + total_folders = 0 + total_bytes = 0 return { "total_users": total_users, "total_workspaces": total_ws,