Archived
Добавлена проверка роли администратора
This commit is contained in:
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user