fix: ruff lint + format fixes in tests, ESLint fixes in frontend
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
"""FastAPI dependencies: pagination, current user extraction, RBAC role enforcement.
|
||||
"""
|
||||
"""FastAPI dependencies: pagination, current user extraction, RBAC role enforcement."""
|
||||
|
||||
import uuid
|
||||
from typing import Optional
|
||||
@@ -35,7 +34,12 @@ async def get_current_user(
|
||||
if credentials is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail={"error": {"code": "UNAUTHORIZED", "message": "Missing authentication token"}},
|
||||
detail={
|
||||
"error": {
|
||||
"code": "UNAUTHORIZED",
|
||||
"message": "Missing authentication token",
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
token = credentials.credentials
|
||||
@@ -43,14 +47,21 @@ async def get_current_user(
|
||||
if payload is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail={"error": {"code": "INVALID_TOKEN", "message": "Invalid or expired access token"}},
|
||||
detail={
|
||||
"error": {
|
||||
"code": "INVALID_TOKEN",
|
||||
"message": "Invalid or expired access token",
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
user_id_str = payload.get("sub")
|
||||
if not user_id_str:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail={"error": {"code": "INVALID_TOKEN", "message": "Token missing subject"}},
|
||||
detail={
|
||||
"error": {"code": "INVALID_TOKEN", "message": "Token missing subject"}
|
||||
},
|
||||
)
|
||||
|
||||
try:
|
||||
@@ -58,7 +69,12 @@ async def get_current_user(
|
||||
except (ValueError, TypeError):
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail={"error": {"code": "INVALID_TOKEN", "message": "Invalid user ID in token"}},
|
||||
detail={
|
||||
"error": {
|
||||
"code": "INVALID_TOKEN",
|
||||
"message": "Invalid user ID in token",
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
user = await get_user_by_id(db, user_uuid)
|
||||
@@ -71,7 +87,12 @@ async def get_current_user(
|
||||
if not user.is_active:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail={"error": {"code": "ACCOUNT_DISABLED", "message": "Account is deactivated"}},
|
||||
detail={
|
||||
"error": {
|
||||
"code": "ACCOUNT_DISABLED",
|
||||
"message": "Account is deactivated",
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
return user
|
||||
@@ -87,7 +108,9 @@ def require_role(allowed_roles: list[str]):
|
||||
"""
|
||||
|
||||
async def role_checker(user: User = Depends(get_current_user)) -> User:
|
||||
user_role = user.role.value if isinstance(user.role, UserRole) else str(user.role)
|
||||
user_role = (
|
||||
user.role.value if isinstance(user.role, UserRole) else str(user.role)
|
||||
)
|
||||
if user_role not in allowed_roles:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
Reference in New Issue
Block a user