diff --git a/src/routers/auth.py b/src/routers/auth.py index 154b08a..717e342 100644 --- a/src/routers/auth.py +++ b/src/routers/auth.py @@ -5,8 +5,8 @@ from fastapi_cache.decorator import cache from slugify import slugify +from src.common.helpers.caching import custom_key_builder, delete_custom_key from src.config import enable_endpoint, settings -from src.common.helpers.caching import custom_key_builder from src.middleware import AuthorizedHTTPBearer from src.models import User from src.schemas import ( @@ -76,6 +76,8 @@ async def resend_otp_code(bg: BackgroundTasks, payload: PhonenumberModel = Body( "/logout", dependencies=[Depends(AuthorizedHTTPBearer)], summary="Logout User", status_code=status.HTTP_200_OK ) async def logout(request: Request): + await delete_custom_key(service_appname_slug + "access") + await delete_custom_key(service_appname_slug + "validate") return await auth.logout(request) diff --git a/src/routers/roles.py b/src/routers/roles.py index 6a1e618..b44e0c5 100644 --- a/src/routers/roles.py +++ b/src/routers/roles.py @@ -4,7 +4,9 @@ from fastapi import APIRouter, Body, Depends, Query, status from fastapi_pagination.ext.beanie import paginate from pymongo import ASCENDING, DESCENDING +from slugify import slugify +from src.common.helpers.caching import delete_custom_key from src.config import enable_endpoint, settings from src.middleware import AuthorizedHTTPBearer, CheckPermissionsHandler from src.models import Role @@ -12,6 +14,8 @@ from src.services import roles from src.shared.utils import customize_page, SortEnum +service_appname_slug = slugify(settings.APP_NAME) + role_router = APIRouter(prefix="/roles", tags=["ROLES"], redirect_slashes=False) @@ -141,4 +145,6 @@ async def get_role_members( status_code=status.HTTP_200_OK, ) async def manage_permission_to_role(id: PydanticObjectId, payload: Set[str] = Body(...)): + await delete_custom_key(service_appname_slug + "access") + await delete_custom_key(service_appname_slug + "validate") return await roles.assign_permissions_to_role(role_id=PydanticObjectId(id), permission_codes=payload)