permissionStore->has($organization, $permission)) { throw new AuthorizationException; } } /** * @param array $permissions * * @throws AuthorizationException */ protected function checkAnyPermission(Organization $organization, array $permissions): void { foreach ($permissions as $permission) { if ($this->permissionStore->has($organization, $permission)) { return; } } throw new AuthorizationException; } protected function hasPermission(Organization $organization, string $permission): bool { return $this->permissionStore->has($organization, $permission); } protected function canAccessPremiumFeatures(Organization $organization): bool { return app(BillingContract::class)->hasSubscription($organization) || app(BillingContract::class)->hasTrial($organization); } }