Добавлена проверка роли администратора

This commit is contained in:
2026-08-09 14:24:04 +03:00
parent 79a3614a59
commit efae38ef4e
+10 -3
View File
@@ -1,4 +1,4 @@
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends, HTTPException
from .. import models from .. import models
from ..deps import get_current_user from ..deps import get_current_user
@@ -6,7 +6,14 @@ from ..deps import get_current_user
router = APIRouter(prefix="/admin", tags=["admin"]) 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") @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} return {"ok": True, "role": user.role.value}