42 lines
1.3 KiB
PHP
42 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Setting;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class SettingSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$defaults = [
|
|
['key' => 'company_name', 'value' => 'Computer Service', 'type' => 'string'],
|
|
['key' => 'company_logo', 'value' => null, 'type' => 'string'],
|
|
['key' => 'timezone', 'value' => 'Asia/Yekaterinburg', 'type' => 'string'],
|
|
['key' => 'default_sla_hours', 'value' => '24', 'type' => 'integer'],
|
|
['key' => 'maintenance_mode', 'value' => '0', 'type' => 'boolean'],
|
|
[
|
|
'key' => 'email_notifications',
|
|
'value' => json_encode([
|
|
'assigned' => true,
|
|
'status_changed' => true,
|
|
'comment_added' => true,
|
|
'overdue' => true,
|
|
'sla_warning' => true,
|
|
], JSON_THROW_ON_ERROR),
|
|
'type' => 'json',
|
|
],
|
|
];
|
|
|
|
foreach ($defaults as $setting) {
|
|
Setting::query()->updateOrCreate(
|
|
['key' => $setting['key']],
|
|
[
|
|
'value' => $setting['value'],
|
|
'type' => $setting['type'],
|
|
]
|
|
);
|
|
}
|
|
}
|
|
}
|