ArtworkPolicy::class, ArtworkAward::class => ArtworkAwardPolicy::class, ArtworkComment::class => ArtworkCommentPolicy::class, AcademyChallenge::class => AcademyChallengePolicy::class, AcademyChallengeSubmission::class => AcademyChallengeSubmissionPolicy::class, AcademyLesson::class => AcademyLessonPolicy::class, AcademyPromptPack::class => AcademyPromptPackPolicy::class, AcademyPromptTemplate::class => AcademyPromptTemplatePolicy::class, Collection::class => CollectionPolicy::class, Group::class => GroupPolicy::class, NovaCard::class => NovaCardPolicy::class, Post::class => PostPolicy::class, PostComment::class => PostCommentPolicy::class, World::class => WorldPolicy::class, ]; /** * Register any authentication / authorization services. */ public function boot(): void { $this->registerPolicies(); Gate::define('moderate-forum', static function ($user): bool { return method_exists($user, 'isAdmin') && ($user->isAdmin() || $user->isModerator()); }); } }