chore: extract build_access_denied_message in its own function

Signed-off-by: Akram Ben Aissi <<akram.benaissi@gmail.com>>
This commit is contained in:
Akram Ben Aissi 2025-07-03 14:10:15 +02:00
parent 31f85076ad
commit b945525a9e

View file

@ -105,13 +105,8 @@ def is_action_allowed(
return False
class AccessDeniedError(RuntimeError):
def __init__(self, action: str | None = None, resource: ProtectedResource | None = None, user: User | None = None):
self.action = action
self.resource = resource
self.user = user
# Build detailed error message
def build_access_denied_message(action: str | None, resource: ProtectedResource | None, user: User | None) -> str:
"""Build detailed error message for access denied scenarios."""
if action and resource and user:
resource_info = f"{resource.type}::{resource.identifier}"
user_info = f"'{user.principal}'"
@ -123,4 +118,14 @@ class AccessDeniedError(RuntimeError):
else:
message = "Insufficient permissions"
return message
class AccessDeniedError(RuntimeError):
def __init__(self, action: str | None = None, resource: ProtectedResource | None = None, user: User | None = None):
self.action = action
self.resource = resource
self.user = user
message = build_access_denied_message(action, resource, user)
super().__init__(message)