import emoji from cerbos.sdk.model import Principal, Resource from cerbos.sdk.client import CerbosClient ACTIONS = [ 'view', 'create', 'edit', 'review', ] def check_helper( client: CerbosClient, principal: Principal, action: str, resource: Resource, ): try: effect = "_cannot_" icon = emoji.emojize(":cross_mark:") if client.is_allowed(action=action, principal=principal, resource=resource): effect = "_can_" icon = emoji.emojize(":thumbs_up:") return ( f"{icon} {principal.id} {effect} {action} on " f"{resource.kind} {resource.id}" ) except Exception as e: return f"Request failed: {e}"