From efae38ef4ee3d1f60e5572d53be34f1ff65cd54a Mon Sep 17 00:00:00 2001 From: host Date: Sun, 9 Aug 2026 14:24:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0?= =?UTF-8?q?=20=D1=80=D0=BE=D0=BB=D0=B8=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/routers/admin.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/backend/app/routers/admin.py b/backend/app/routers/admin.py index 57c3396..d167e08 100644 --- a/backend/app/routers/admin.py +++ b/backend/app/routers/admin.py @@ -1,4 +1,4 @@ -from fastapi import APIRouter, Depends +from fastapi import APIRouter, Depends, HTTPException from .. import models from ..deps import get_current_user @@ -6,7 +6,14 @@ from ..deps import get_current_user router = APIRouter(prefix="/admin", tags=["admin"]) +def require_admin(user: models.User = Depends(get_current_user)) -> models.User: + """Разрешает доступ только администратору.""" + if user.role != models.UserRole.admin: + raise HTTPException(status_code=403, detail="Требуются права администратора") + return user + + @router.get("/ping") -def admin_ping(user: models.User = Depends(get_current_user)): - """Временная проверка авторизации для следующего этапа админ-панели.""" +def admin_ping(user: models.User = Depends(require_admin)): + """Временная проверка административной авторизации.""" return {"ok": True, "role": user.role.value}