fix: admin query adaptée au schéma réel (pas de owner_id/is_folder)
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user