123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- use App\Helpers\ExtensionHelper;
- use App\Settings\GeneralSettings;
- use App\Settings\DiscordSettings;
- use App\Settings\InvoiceSettings;
- use App\Settings\LocaleSettings;
- use App\Settings\MailSettings;
- use App\Settings\PterodactylSettings;
- use App\Settings\ReferralSettings;
- use App\Settings\ServerSettings;
- use App\Settings\UserSettings;
- use App\Settings\WebsiteSettings;
- use App\Settings\TicketSettings;
- use App\Settings\CouponSettings;
- return [
- /*
- * Each settings class used in your application must be registered, you can
- * put them (manually) here.
- */
- 'settings' => [
- GeneralSettings::class,
- DiscordSettings::class,
- InvoiceSettings::class,
- LocaleSettings::class,
- MailSettings::class,
- PterodactylSettings::class,
- ReferralSettings::class,
- ServerSettings::class,
- UserSettings::class,
- WebsiteSettings::class,
- TicketSettings::class,
- CouponSettings::class,
- ],
- /*
- * The path where the settings classes will be created.
- */
- 'setting_class_path' => app_path('Settings'),
- /*
- * In these directories settings migrations will be stored and ran when migrating. A settings
- * migration created via the make:settings-migration command will be stored in the first path or
- * a custom defined path when running the command.
- */
- 'migrations_paths' => [
- database_path('settings'),
- ...ExtensionHelper::getAllExtensionMigrations()
- ],
- /*
- * When no repository was set for a settings class the following repository
- * will be used for loading and saving settings.
- */
- 'default_repository' => 'database',
- /*
- * Settings will be stored and loaded from these repositories.
- */
- 'repositories' => [
- 'database' => [
- 'type' => Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class,
- 'model' => null,
- 'table' => null,
- 'connection' => null,
- ],
- 'redis' => [
- 'type' => Spatie\LaravelSettings\SettingsRepositories\RedisSettingsRepository::class,
- 'connection' => null,
- 'prefix' => null,
- ],
- ],
- /*
- * The contents of settings classes can be cached through your application,
- * settings will be stored within a provided Laravel store and can have an
- * additional prefix.
- */
- 'cache' => [
- 'enabled' => env('SETTINGS_CACHE_ENABLED', true),
- 'store' => 'redis',
- 'prefix' => 'setting',
- 'ttl' => null,
- ],
- /*
- * These global casts will be automatically used whenever a property within
- * your settings class isn't a default PHP type.
- */
- 'global_casts' => [
- DateTimeInterface::class => Spatie\LaravelSettings\SettingsCasts\DateTimeInterfaceCast::class,
- DateTimeZone::class => Spatie\LaravelSettings\SettingsCasts\DateTimeZoneCast::class,
- // Spatie\DataTransferObject\DataTransferObject::class => Spatie\LaravelSettings\SettingsCasts\DtoCast::class,
- Spatie\LaravelData\Data::class => Spatie\LaravelSettings\SettingsCasts\DataCast::class,
- ],
- /*
- * The package will look for settings in these paths and automatically
- * register them.
- */
- 'auto_discover_settings' => [
- app()->path(),
- ],
- /*
- * Automatically discovered settings classes can be cached so they don't
- * need to be searched each time the application boots up.
- */
- 'discovered_settings_cache_path' => storage_path('app/laravel-settings'),
- ];
|