name(static::$name) ->hasConfigFile('filament-short-url') ->hasViews('filament-short-url') ->hasTranslations() ->hasMigrations([ '2024_01_01_000001_create_short_urls_table', '2024_01_01_000002_create_short_url_visits_table', '2026_06_01_000003_add_utm_city_referer_to_short_url_visits_table', '2026_06_01_000004_add_targeting_and_security_to_short_urls_table', '2026_06_01_000005_create_short_url_daily_stats_table', ]) ->hasCommands([ SyncBufferedCountersCommand::class, Console\Commands\AggregateAndPruneVisitsCommand::class, ]) ->hasRoutes(['web']); } public function packageRegistered(): void { $this->app->singleton(ShortUrlSettingsManager::class); $this->app->make(ShortUrlSettingsManager::class)->applyConfigOverrides(); // Bind services as singletons for efficient reuse $this->app->singleton(UserAgentParser::class); $this->app->singleton(GeoIpService::class); $this->app->singleton(ShortUrlService::class); $this->app->singleton(ShortUrlTracker::class); } }