Remove duplicate internal permissions snapshot API
This commit is contained in:
@@ -7,11 +7,9 @@ from app.repositories.users_repo import UsersRepository
|
||||
from app.repositories.user_sites_repo import UserSitesRepository
|
||||
from app.schemas.idp_admin import ProviderEnsureUserRequest, ProviderEnsureUserResponse
|
||||
from app.schemas.internal import InternalUpsertUserBySubResponse, InternalUserRoleItem, InternalUserRoleResponse
|
||||
from app.schemas.permissions import RoleSnapshotResponse
|
||||
from app.schemas.users import UserUpsertBySubRequest
|
||||
from app.security.api_client_auth import require_api_client
|
||||
from app.services.idp_admin_service import ProviderAdminService
|
||||
from app.services.permission_service import PermissionService
|
||||
from app.services.runtime_cache import runtime_cache
|
||||
|
||||
router = APIRouter(prefix="/internal", tags=["internal"], dependencies=[Depends(require_api_client)])
|
||||
@@ -104,22 +102,6 @@ def get_user_roles(user_sub: str, db: Session = Depends(get_db)) -> InternalUser
|
||||
return result
|
||||
|
||||
|
||||
@router.get("/permissions/{user_sub}/snapshot", response_model=RoleSnapshotResponse)
|
||||
def get_permission_snapshot(
|
||||
user_sub: str,
|
||||
db: Session = Depends(get_db),
|
||||
) -> RoleSnapshotResponse:
|
||||
cache_key = f"internal:permissions_snapshot:{user_sub}"
|
||||
cached = runtime_cache.get(cache_key)
|
||||
if isinstance(cached, RoleSnapshotResponse):
|
||||
return cached
|
||||
|
||||
rows = _build_user_role_rows(db, user_sub)
|
||||
result = PermissionService.build_role_snapshot(user_sub=user_sub, rows=rows)
|
||||
runtime_cache.set(cache_key, result, ttl_seconds=30)
|
||||
return result
|
||||
|
||||
|
||||
@router.post("/provider/users/ensure", response_model=ProviderEnsureUserResponse)
|
||||
@router.post("/idp/users/ensure", response_model=ProviderEnsureUserResponse, include_in_schema=False)
|
||||
@router.post("/keycloak/users/ensure", response_model=ProviderEnsureUserResponse, include_in_schema=False)
|
||||
|
||||
Reference in New Issue
Block a user