app->singleton(CheckoutSessionService::class); $this->app->singleton(CheckoutAssignmentService::class); $this->app->singleton(CheckoutPaymentService::class); } /** * Bootstrap any application services. */ public function boot(): void { RateLimiter::for('tenant-api', function (Request $request) { $tenantId = $request->attributes->get('tenant_id') ?? $request->user()?->tenant_id ?? $request->user()?->tenant?->id; $key = $tenantId ? 'tenant:' . $tenantId : ('ip:' . ($request->ip() ?? 'unknown')); return Limit::perMinute(100)->by($key); }); RateLimiter::for('oauth', function (Request $request) { return Limit::perMinute(10)->by('oauth:' . ($request->ip() ?? 'unknown')); }); \Inertia\Inertia::share('locale', function () { return app()->getLocale(); }); if ($this->app->runningInConsole()) { $this->app->register(\App\Providers\Filament\AdminPanelProvider::class); } } }