From 2b8296d62241062b5815c550111b494e0b41567d Mon Sep 17 00:00:00 2001 From: luxferre Date: Tue, 19 May 2026 11:08:22 +0100 Subject: [PATCH] feat: combined admin dependency org_or_super_admin_dependency can be used in place of org_admin_dependency to also allow super admins. --- src/auth/service.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/auth/service.py b/src/auth/service.py index aee2aae..c8fa3b3 100644 --- a/src/auth/service.py +++ b/src/auth/service.py @@ -126,7 +126,19 @@ async def is_super_admin(claims: claims_dependency): super_admin_dependency = Annotated[dict[str, Any], Depends(is_super_admin)] +async def is_admin(claims: claims_dependency, db: db_dependency, org_id: int = Path(gt=0)): + try: + await is_super_admin(claims) + return True + except HTTPException as e: + pass + try: + await is_org_admin(claims, db, org_id) + return True + except HTTPException as e: + raise HTTPException(status_code=401, detail="Not authorised") +org_or_super_admin_dependency = Annotated[dict[str, Any], Depends(is_admin)] # Middleware version of user auth # import json