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:
|
def get_current_user(credentials: HTTPAuthorizationCredentials = Depends(security)) -> dict:
|
||||||
"""Get current user from JWT token (for protected routes)"""
|
"""Get current user from JWT token (for protected routes)"""
|
||||||
|
from user_db_utils import get_user_by_id
|
||||||
|
|
||||||
token = credentials.credentials
|
token = credentials.credentials
|
||||||
payload = decode_token(token)
|
payload = decode_token(token)
|
||||||
user_id = payload.get("sub")
|
user_id = payload.get("sub")
|
||||||
@ -66,7 +68,21 @@ def get_current_user(credentials: HTTPAuthorizationCredentials = Depends(securit
|
|||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
detail="Invalid authentication credentials",
|
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
|
# Optional dependency - returns None if no token provided
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user