diff --git a/app/Settings/GeneralSettings.php b/app/Settings/GeneralSettings.php index 906e4696..3fbf85c3 100644 --- a/app/Settings/GeneralSettings.php +++ b/app/Settings/GeneralSettings.php @@ -6,13 +6,13 @@ use Spatie\LaravelSettings\Settings; class GeneralSettings extends Settings { - public bool $store_enabled = true; + public bool $store_enabled = false; public string $credits_display_name; public bool $recaptcha_enabled; public string $recaptcha_site_key; public string $recaptcha_secret_key; public string $phpmyadmin_url; - public bool $alert_enabled; + public bool $alert_enabled = false; public string $alert_type; public string $alert_message; public string $theme; @@ -32,6 +32,26 @@ class GeneralSettings extends Settings ]; } + /** + * Summary of validations array + * @return array + */ + public static function getValidations() + { + return [ + 'store_enabled' => 'boolean', + 'credits_display_name' => 'required|string', + 'recaptcha_enabled' => 'nullable|boolean', + 'recaptcha_site_key' => 'nullable|string', + 'recaptcha_secret_key' => 'nullable|string', + 'phpmyadmin_url' => 'nullable|string', + 'alert_enabled' => 'nullable|boolean', + 'alert_type' => 'required|in:primary,secondary,success,danger,warning,info', + 'alert_message' => 'required|string', + 'theme' => 'required|in:default,BlueInfinity' // TODO: themes should be made/loaded dynamically + ]; + } + /** * Summary of optionTypes * Only used for the settings page @@ -110,7 +130,7 @@ class GeneralSettings extends Settings 'options' => [ 'default' => 'Default', 'BlueInfinity' => 'Blue Infinity', - ], + ], // TODO: themes should be made/loaded dynamically 'description' => 'The theme to use for the site.' ], ]; diff --git a/app/Settings/InvoiceSettings.php b/app/Settings/InvoiceSettings.php index 099565a7..5bcb65c4 100644 --- a/app/Settings/InvoiceSettings.php +++ b/app/Settings/InvoiceSettings.php @@ -6,21 +6,21 @@ use Spatie\LaravelSettings\Settings; class InvoiceSettings extends Settings { - public string $company_address; + public ?string $company_address; - public string $company_mail; + public ?string $company_mail; - public string $company_name; + public ?string $company_name; - public string $company_phone; + public ?string $company_phone; - public string $company_vat; + public ?string $company_vat; - public string $company_website; + public ?string $company_website; - public bool $enabled; + public bool $enabled = false; - public string $prefix; + public ?string $prefix; public static function group(): string { @@ -40,7 +40,7 @@ class InvoiceSettings extends Settings 'company_phone' => 'nullable|string', 'company_vat' => 'nullable|string', 'company_website' => 'nullable|string', - 'enabled' => 'nullable|string', + 'enabled' => 'nullable|boolean', 'prefix' => 'nullable|string', ]; } diff --git a/app/Settings/LocaleSettings.php b/app/Settings/LocaleSettings.php index 35755797..916e1436 100644 --- a/app/Settings/LocaleSettings.php +++ b/app/Settings/LocaleSettings.php @@ -6,15 +6,15 @@ use Spatie\LaravelSettings\Settings; class LocaleSettings extends Settings { - public string $available; + public ?string $available; - public bool $clients_can_change; + public bool $clients_can_change = false; - public string $datatables; + public ?string $datatables; public string $default; - public bool $dynamic; + public bool $dynamic = false; public static function group(): string { @@ -29,10 +29,10 @@ class LocaleSettings extends Settings { return [ 'available' => 'nullable|array', - 'clients_can_change' => 'nullable|string', + 'clients_can_change' => 'nullable|boolean', 'datatables' => 'nullable|string', - 'default' => 'nullable|string', - 'dynamic' => 'nullable|string', + 'default' => 'required|in:' . implode(',', config('app.available_locales')), + 'dynamic' => 'nullable|boolean', ]; } diff --git a/app/Settings/MailSettings.php b/app/Settings/MailSettings.php index f43158c1..76cc9891 100644 --- a/app/Settings/MailSettings.php +++ b/app/Settings/MailSettings.php @@ -22,7 +22,7 @@ class MailSettings extends Settings public ?string $mail_mailer; - public ?bool $mail_enabled; + public bool $mail_enabled = false; public static function group(): string { diff --git a/app/Settings/PterodactylSettings.php b/app/Settings/PterodactylSettings.php index b6335a5f..11f1b006 100644 --- a/app/Settings/PterodactylSettings.php +++ b/app/Settings/PterodactylSettings.php @@ -6,11 +6,11 @@ use Spatie\LaravelSettings\Settings; class PterodactylSettings extends Settings { - public ?string $admin_token; + public string $admin_token; - public ?string $user_token; + public string $user_token; - public ?string $panel_url; + public string $panel_url; public int $per_page_limit; @@ -44,9 +44,9 @@ class PterodactylSettings extends Settings public static function getValidations() { return [ - 'panel_url' => 'nullable|string|url', - 'admin_token' => 'nullable|string', - 'user_token' => 'nullable|string', + 'panel_url' => 'required|string|url', + 'admin_token' => 'required|string', + 'user_token' => 'required|string', 'per_page_limit' => 'required|integer|min:1|max:10000', ]; } diff --git a/app/Settings/ReferralSettings.php b/app/Settings/ReferralSettings.php index d2be01ad..892a2132 100644 --- a/app/Settings/ReferralSettings.php +++ b/app/Settings/ReferralSettings.php @@ -8,15 +8,15 @@ class ReferralSettings extends Settings { public string $allowed; - public bool $always_give_commission; + public bool $always_give_commission = false; - public bool $enabled; + public bool $enabled = false; - public float $reward; + public ?float $reward; public string $mode; - public int $percentage; + public ?int $percentage; public static function group(): string { @@ -30,11 +30,11 @@ class ReferralSettings extends Settings public static function getValidations() { return [ - 'allowed' => 'nullable|string', + 'allowed' => 'required|in:everyone,clients', 'always_give_commission' => 'nullable|boolean', 'enabled' => 'nullable|boolean', 'reward' => 'nullable|numeric', - 'mode' => 'nullable|string', + 'mode' => 'required|in:commission,percentage,both', 'percentage' => 'nullable|numeric', ]; } @@ -77,7 +77,7 @@ class ReferralSettings extends Settings 'type' => 'select', 'description' => 'Referral mode.', 'options' => [ - 'comission' => 'Comission', + 'commission' => 'Commission', 'sign-up' => 'Sign-Up', 'both' => 'Both', ], diff --git a/app/Settings/ServerSettings.php b/app/Settings/ServerSettings.php index 5a4a4708..a658a206 100644 --- a/app/Settings/ServerSettings.php +++ b/app/Settings/ServerSettings.php @@ -8,11 +8,11 @@ class ServerSettings extends Settings { public int $allocation_limit; - public bool $creation_enabled; + public bool $creation_enabled = false; - public bool $enable_upgrade; + public bool $enable_upgrade = false; - public bool $charge_first_hour; + public bool $charge_first_hour = false; public static function group(): string { @@ -27,9 +27,9 @@ class ServerSettings extends Settings { return [ 'allocation_limit' => 'required|integer|min:0', - 'creation_enabled' => 'nullable|string', - 'enable_upgrade' => 'nullable|string', - 'charge_first_hour' => 'nullable|string', + 'creation_enabled' => 'nullable|boolean', + 'enable_upgrade' => 'nullable|boolean', + 'charge_first_hour' => 'nullable|boolean', ]; } diff --git a/app/Settings/TicketSettings.php b/app/Settings/TicketSettings.php index d5dfeb4b..aa6e879d 100644 --- a/app/Settings/TicketSettings.php +++ b/app/Settings/TicketSettings.php @@ -6,7 +6,7 @@ use Spatie\LaravelSettings\Settings; class TicketSettings extends Settings { - public bool $enabled; + public bool $enabled = false; public string $notify; @@ -22,7 +22,7 @@ class TicketSettings extends Settings public static function getValidations() { return [ - 'enabled' => 'nullable|string', + 'enabled' => 'nullable|boolean', 'notify' => 'nullable|string', ]; } diff --git a/app/Settings/UserSettings.php b/app/Settings/UserSettings.php index 18f872ee..0c3a43bf 100644 --- a/app/Settings/UserSettings.php +++ b/app/Settings/UserSettings.php @@ -10,9 +10,9 @@ class UserSettings extends Settings public float $credits_reward_after_verify_email; - public bool $force_discord_verification; + public bool $force_discord_verification = false; - public bool $force_email_verification; + public bool $force_email_verification = false; public float $initial_credits; @@ -26,9 +26,9 @@ class UserSettings extends Settings public int $server_limit_after_verify_email; - public bool $register_ip_check; + public bool $register_ip_check = false; - public bool $creation_enabled; + public bool $creation_enabled = false; public static function group(): string { @@ -44,16 +44,16 @@ class UserSettings extends Settings return [ 'credits_reward_after_verify_discord' => 'required|numeric', 'credits_reward_after_verify_email' => 'required|numeric', - 'force_discord_verification' => 'nullable|string', - 'force_email_verification' => 'nullable|string', + 'force_discord_verification' => 'nullable|boolean', + 'force_email_verification' => 'nullable|boolean', 'initial_credits' => 'required|numeric', 'initial_server_limit' => 'required|numeric', 'min_credits_to_make_server' => 'required|numeric', 'server_limit_after_irl_purchase' => 'required|numeric', 'server_limit_after_verify_discord' => 'required|numeric', 'server_limit_after_verify_email' => 'required|numeric', - 'register_ip_check' => 'nullable|string', - 'creation_enabled' => 'nullable|string', + 'register_ip_check' => 'nullable|boolean', + 'creation_enabled' => 'nullable|boolean', ]; } diff --git a/app/Settings/WebsiteSettings.php b/app/Settings/WebsiteSettings.php index a8da99e4..2d65483b 100644 --- a/app/Settings/WebsiteSettings.php +++ b/app/Settings/WebsiteSettings.php @@ -8,20 +8,20 @@ class WebsiteSettings extends Settings { - public bool $show_imprint; + public bool $show_imprint = false; - public bool $show_privacy; + public bool $show_privacy = false; - public bool $show_tos; + public bool $show_tos = false; - public bool $useful_links_enabled; - public bool $enable_login_logo; - public string $seo_title; + public bool $useful_links_enabled = false; + public bool $enable_login_logo = false; + public ?string $seo_title; - public string $seo_description; - public bool $motd_enabled; + public ?string $seo_description; + public bool $motd_enabled = false; - public string $motd_message; + public ?string $motd_message; public static function group(): string { @@ -35,13 +35,13 @@ class WebsiteSettings extends Settings public static function getValidations() { return [ - 'motd_enabled' => 'nullable|string', + 'motd_enabled' => 'nullable|boolean', 'motd_message' => 'nullable|string', - 'show_imprint' => 'nullable|string', - 'show_privacy' => 'nullable|string', - 'show_tos' => 'nullable|string', - 'useful_links_enabled' => 'nullable|string', - 'enable_login_logo' => 'nullable|string', + 'show_imprint' => 'nullable|boolean', + 'show_privacy' => 'nullable|boolean', + 'show_tos' => 'nullable|boolean', + 'useful_links_enabled' => 'nullable|boolean', + 'enable_login_logo' => 'nullable|boolean', 'seo_title' => 'nullable|string', 'seo_description' => 'nullable|string', ];