ProviderConnectionPolicy::class, ]; public function boot(): void { $this->registerPolicies(); $resolver = app(CapabilityResolver::class); $defineTenantCapability = function (string $capability) use ($resolver): void { Gate::define($capability, function (User $user, Tenant $tenant) use ($resolver, $capability): bool { return $resolver->can($user, $tenant, $capability); }); }; foreach (Capabilities::all() as $capability) { $defineTenantCapability($capability); } foreach (PlatformCapabilities::all() as $capability) { Gate::define($capability, function (PlatformUser $user) use ($capability): bool { return $user->hasCapability($capability); }); } } }