<?php namespace App\Providers; use App\Events\ObjectActionCreate; use App\Listeners\SendActionBrowserNotification; use App\Listeners\SendActionEmailNotification; use App\Models\Asset; use App\Models\Plan; use App\Models\Project; use App\Models\Requirement; use App\Models\RequirementGroup; use App\Models\Task; use App\Observers\AssetObserver; use App\Observers\PlanObserver; use App\Observers\ProjectObsever; use App\Observers\RequirementGroupObserver; use App\Observers\RequirementObserver; use App\Observers\TaskObserver; use Illuminate\Auth\Events\Registered; use Illuminate\Auth\Listeners\SendEmailVerificationNotification; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; use Illuminate\Support\Facades\Event; class EventServiceProvider extends ServiceProvider { /** * The event to listener mappings for the application. * * @var array<class-string, array<int, class-string>> */ protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], ObjectActionCreate::class => [ SendActionBrowserNotification::class, SendActionEmailNotification::class, ] ]; /** * Register any events for your application. */ public function boot(): void { Requirement::observe(RequirementObserver::class); Task::observe(TaskObserver::class); Asset::observe(AssetObserver::class); Plan::observe(PlanObserver::class); RequirementGroup::observe(RequirementGroupObserver::class); Project::observe(ProjectObsever::class); } /** * Determine if events and listeners should be automatically discovered. */ public function shouldDiscoverEvents(): bool { return false; } }