Archived
Используется общая admin dependency
This commit is contained in:
1 parent
6e77d3818e
commit
8f724b9fe0
1 file changed
+2
-9
@@ -1,18 +1,11 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from .. import models
|
||||
from ..deps import get_current_user
|
||||
from ..deps import require_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")
|
||||
def admin_ping(user: models.User = Depends(require_admin)):
|
||||
"""Временная проверка административной авторизации."""
|
||||
|
||||
Reference in new issue
Block a user