1
0
Fork 0
forked from sr2/cloud-api

fix: auth dependency return values and types

Return values were all labelled as dicts instead of bools. Root user dependency now returns the org for which they are root user.
This commit is contained in:
Chris Milne 2026-05-27 15:22:32 +01:00
parent 868e56ce40
commit 36736e5142

View file

@ -9,11 +9,12 @@ Functions:
- List: Description
- Functions: Description
"""
from typing import Annotated, Any
from typing import Annotated
from fastapi import Depends
from src.user.dependencies import user_model_claims_dependency
from src.organisation.dependencies import org_model_query_dependency
from src.organisation.models import Organisation as Org
from src.auth.exceptions import UnauthorizedException
@ -25,17 +26,17 @@ async def org_query_user_claims(org_model: org_model_query_dependency, user_mode
raise UnauthorizedException()
org_query_user_claims_dependency = Annotated[dict[str, Any], Depends(org_query_user_claims)]
org_query_user_claims_dependency = Annotated[bool, Depends(org_query_user_claims)]
async def org_query_root_claims(user_model: user_model_claims_dependency, org_model: org_model_query_dependency):
if org_model.root_user_id == user_model.id:
return True
return org_model
raise UnauthorizedException()
org_query_root_claims_dependency = Annotated[dict[str, Any], Depends(org_query_root_claims)]
org_model_root_claim_query_dependency = Annotated[type[Org], Depends(org_query_root_claims)]
async def is_super_admin(user_model: user_model_claims_dependency):
@ -45,4 +46,4 @@ async def is_super_admin(user_model: user_model_claims_dependency):
return True
super_admin_dependency = Annotated[dict[str, Any], Depends(is_super_admin)]
super_admin_dependency = Annotated[bool, Depends(is_super_admin)]