app->singleton(DrawService::class, DrawService::class); //$this->app->singleton(AuditionService::class, AuditionService::class); //$this->app->singleton(EntryService::class, EntryService::class); //$this->app->singleton(ScoreService::class, ScoreService::class); //$this->app->singleton(UserService::class, UserService::class); //$this->app->singleton(DoublerService::class, DoublerService::class); //$this->app->singleton(CreateEntry::class, CreateEntry::class); //$this->app->singleton(UpdateEntry::class, UpdateEntry::class); //$this->app->singleton(SetHeadDirector::class, SetHeadDirector::class); //$this->app->singleton(TotalEntryScores::class, TotalEntryScores::class); //$this->app->singleton(CalculateAuditionScores::class, CalculateAuditionScores::class); } /** * Bootstrap any application services. */ public function boot(): void { Audition::observe(AuditionObserver::class); BonusScore::observe(BonusScoreObserver::class); Entry::observe(EntryObserver::class); EntryFlag::observe(EntryFlagObserver::class); Event::observe(EventObserver::class); School::observe(SchoolObserver::class); PrelimDefinition::observe(PrelimDefinitionObserver::class); SchoolEmailDomain::observe(SchoolEmailDomainObserver::class); ScoreSheet::observe(ScoreSheetObserver::class); ScoringGuide::observe(ScoringGuideObserver::class); Student::observe(StudentObserver::class); User::observe(UserObserver::class); Gate::define('impersonate', function ($admin, $target) { return $admin->hasFlag('can_impersonate') && $admin->id !== $target->id; }); // Model::preventLazyLoading(! app()->isProduction()); } }