diff --git a/src/user/dependencies.py b/src/user/dependencies.py index 7518c16..d846d79 100644 --- a/src/user/dependencies.py +++ b/src/user/dependencies.py @@ -10,12 +10,13 @@ Exports: from typing import Annotated from fastapi import Depends, Query -from src.user.exceptions import UserNotFoundException -from src.user.models import User - from src.auth.service import claims_dependency from src.database import DbSession from src.schemas import UserIDMixin +from src.exceptions import ForbiddenException + +from src.user.exceptions import UserNotFoundException +from src.user.models import User async def get_user_model_claims(claims: claims_dependency, db: DbSession): @@ -27,6 +28,9 @@ async def get_user_model_claims(claims: claims_dependency, db: DbSession): if user_model is None: raise UserNotFoundException(user_id=user_id) + if not user_model.active: + raise ForbiddenException("User account is not active") + return user_model diff --git a/src/user/router.py b/src/user/router.py index adcfb57..6ea07d8 100644 --- a/src/user/router.py +++ b/src/user/router.py @@ -7,6 +7,7 @@ Endpoints: - [GET](/user/): [super admin]: Returns user(id) details. - [DELETE](/user/): [super admin]: Removes a User(id) from the hub database. """ + from datetime import datetime, timezone from fastapi import APIRouter, status, BackgroundTasks