'string', 'date_format' => 'string', 'datetime_format' => 'string', 'military_time' => 'bool', 'start_of_week' => 'string', 'financial_year_start' => 'string', 'language_id' => 'string', 'precision' => 'int', 'show_currency_symbol' => 'bool', 'show_currency_code' => 'bool', 'payment_terms' => 'int', 'custom_label1' => 'string', 'custom_value1' => 'string', 'custom_label2' => 'string', 'custom_value2' => 'string', 'custom_label3' => 'string', 'custom_value3' => 'string', 'custom_label4' => 'string', 'custom_value5' => 'string', 'custom_client_label1' => 'string', 'custom_client_label2' => 'string', 'custom_client_label3' => 'string', 'custom_client_label4' => 'string', 'custom_client_contact_label1' => 'string', 'custom_client_contact_label2' => 'string', 'custom_client_contact_label3' => 'string', 'custom_client_contact_label4' => 'string', 'custom_invoice_label1' => 'string', 'custom_invoice_label2' => 'string', 'custom_invoice_label3' => 'string', 'custom_invoice_label4' => 'string', 'custom_product_label1' => 'string', 'custom_product_label2' => 'string', 'custom_product_label3' => 'string', 'custom_product_label4' => 'string', 'custom_task_label1' => 'string', 'custom_task_label2' => 'string', 'custom_task_label3' => 'string', 'custom_task_label4' => 'string', 'custom_expense_label1' => 'string', 'custom_expense_label2' => 'string', 'custom_expense_label3' => 'string', 'custom_expense_label4' => 'string', 'custom_invoice_taxes1' => 'bool', 'custom_invoice_taxes2' => 'bool', 'default_task_rate' => 'float', 'send_reminders' => 'bool', 'show_tasks_in_portal' => 'bool', 'custom_message_dashboard' => 'string', 'custom_message_unpaid_invoice' => 'string', 'custom_message_paid_invoice' => 'string', 'custom_message_unapproved_quote' => 'string', 'lock_sent_invoices' => 'bool', 'auto_archive_invoice' => 'bool', 'inclusive_taxes' => 'bool', 'invoice_number_prefix' => 'string', 'invoice_number_pattern' => 'string', 'invoice_number_counter' => 'int', 'quote_number_prefix' => 'string', 'quote_number_pattern' => 'string', 'quote_number_counter' => 'int', 'client_number_prefix' => 'string', 'client_number_pattern' => 'string', 'client_number_counter' => 'int', 'credit_number_prefix' => 'string', 'credit_number_pattern' => 'string', 'credit_number_counter' => 'int', 'shared_invoice_quote_counter' => 'bool', 'recurring_invoice_number_prefix' => 'string', 'reset_counter_frequency_id' => 'int', 'reset_counter_date' => 'string', 'counter_padding' => 'int', 'design' => 'string', 'company_gateways' => 'string', ]; /** * Cast object values and return entire class * prevents missing properties from not being returned * and always ensure an up to date class is returned * * @return \stdClass */ public function __construct($obj) { // parent::__construct($obj); } /** * Provides class defaults on init * @return object */ public static function defaults() : \stdClass { $config = json_decode(config('ninja.settings')); $data = (object)get_class_vars(CompanySettings::class); unset($data->casts); $data->timezone_id = (string)config('ninja.i18n.timezone_id'); $data->language_id = (string)config('ninja.i18n.language_id'); $data->payment_terms = (string)config('ninja.i18n.payment_terms'); $data->datetime_format = (string)config('ninja.i18n.datetime_format'); $data->military_time = (bool )config('ninja.i18n.military_time'); $data->date_format = (string)config('ninja.i18n.date_format'); $data->start_of_week = (int) config('ninja.i18n.start_of_week'); $data->financial_year_start = (int)config('ninja.i18n.financial_year_start'); $data->translations = (object) []; return self::setCasts($data, self::$casts); } }