Spaces:
Runtime error
Runtime error
File size: 709 Bytes
f3997d4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | """
Admin authentication middleware.
"""
from fastapi import Depends, HTTPException, status
from app.middleware.auth import get_current_user
from app.database.models import User
def get_current_admin_user(current_user: User = Depends(get_current_user)) -> User:
"""
Verify that the current user is an admin.
Args:
current_user: Current authenticated user
Returns:
User object if admin
Raises:
HTTPException: If user is not an admin
"""
if not current_user.is_admin:
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="Admin privileges required"
)
return current_user
|