Update backend to setup admin
This commit is contained in:
parent
e0b3102007
commit
0f3aa43b89
@ -58,6 +58,8 @@ def decode_token(token: str) -> dict:
|
||||
|
||||
def get_current_user(credentials: HTTPAuthorizationCredentials = Depends(security)) -> dict:
|
||||
"""Get current user from JWT token (for protected routes)"""
|
||||
from user_db_utils import get_user_by_id
|
||||
|
||||
token = credentials.credentials
|
||||
payload = decode_token(token)
|
||||
user_id = payload.get("sub")
|
||||
@ -66,7 +68,21 @@ def get_current_user(credentials: HTTPAuthorizationCredentials = Depends(securit
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Invalid authentication credentials",
|
||||
)
|
||||
return {"user_id": int(user_id), "username": payload.get("username")}
|
||||
|
||||
# Get full user info from database to include is_admin
|
||||
user = get_user_by_id(int(user_id))
|
||||
if not user:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="User not found",
|
||||
)
|
||||
|
||||
return {
|
||||
"user_id": user["id"],
|
||||
"username": user["username"],
|
||||
"display_name": user["display_name"],
|
||||
"is_admin": user.get("is_admin", False)
|
||||
}
|
||||
|
||||
|
||||
# Optional dependency - returns None if no token provided
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user