self::PERMISSION_ACCESS, self::ABILITY_CHECKS_VIEW => self::PERMISSION_CHECKS_VIEW, self::ABILITY_CHECKS_CREATE => self::PERMISSION_CHECKS_CREATE, self::ABILITY_CHECKS_MANAGE => self::PERMISSION_CHECKS_MANAGE, self::ABILITY_TEMPLATES_MANAGE => self::PERMISSION_TEMPLATES_MANAGE, self::ABILITY_SETTINGS_MANAGE => self::PERMISSION_SETTINGS_MANAGE, default => null, }; if ($permissionKey === null) { return AuthorizationDecision::deny(403, 'forbidden'); } if (!$this->permissionService->userHas($actorUserId, $permissionKey)) { return AuthorizationDecision::deny(403, 'forbidden'); } return AuthorizationDecision::allow(); } }