app->environment('local')) { $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class); $this->app->register(TelescopeServiceProvider::class); } // Eloquent Model::preventLazyLoading(! $this->app->isProduction()); Model::preventSilentlyDiscardingAttributes(! $this->app->isProduction()); Model::preventAccessingMissingAttributes(! $this->app->isProduction()); Relation::enforceMorphMap([ 'client' => Client::class, 'failed-job' => FailedJob::class, 'membership' => Member::class, 'organization' => Organization::class, 'organization-invitation' => OrganizationInvitation::class, 'project' => Project::class, 'project-member' => ProjectMember::class, 'tag' => Tag::class, 'task' => Task::class, 'time-entry' => TimeEntry::class, 'user' => User::class, ]); Model::unguard(); // Filament Section::configureUsing(function (Section $section): void { $section->columns(1); }, null, true); Table::configureUsing(function (Table $table): void { $table->paginated([10, 25, 50, 100]); }); // Scramble Scramble::extendOpenApi(function (OpenApi $openApi): void { $openApi->secure( SecurityScheme::oauth2() ->flow('authorizationCode', function (OAuthFlow $flow): void { $flow ->authorizationUrl('https://solidtime.test/oauth/authorize'); }) ); }); $this->app->scoped(PermissionStore::class, function (Application $app): PermissionStore { return new PermissionStore; }); // Extensions $this->app->bind(IpLookupServiceContract::class, NoIpLookupService::class); $this->app->bind(BillingContract::class); // Routing Route::model('member', Member::class); Route::model('invitation', OrganizationInvitation::class); Route::model('apiToken', Token::class); } }