111 lines
3.5 KiB
PHP
111 lines
3.5 KiB
PHP
<?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;
|
|
|
|
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,
|
|
],
|
|
|
|
/*
|
|
* 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'),
|
|
];
|