fix: admin_required check DB direct en fallback (session cookie stale)
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped

Le cookie de session peut dater d'avant le flag is_admin →
vérification DB directe si la session ne contient pas is_admin
This commit is contained in:
2026-07-13 13:19:38 -04:00
parent 057ff9f524
commit 9e9ea181e6
+8 -1
View File
@@ -9,8 +9,15 @@ router = APIRouter(tags=["admin"], prefix="/api/admin")
async def admin_required(request: Request):
from app.auth.session import get_current_user
user = await get_current_user(request)
if not user or not user.get("is_admin"):
if not user:
raise HTTPException(status_code=403, detail="Admin access required")
# Also check DB directly (session cookie may be stale)
if not user.get("is_admin"):
from app.db import get_conn
with get_conn() as conn:
row = conn.execute("SELECT is_admin FROM users WHERE id=?", (user.get("id"),)).fetchone()
if not row or not row["is_admin"]:
raise HTTPException(status_code=403, detail="Admin access required")
return user