ldc-legaulois/database/seeders/Mandatory/GeneralSettingSeeder.php
2026-09-25 16:25:31 +02:00

46 lines
1.2 KiB
PHP

<?php
namespace Database\Seeders\Mandatory;
use App\Enums\Settings\SettingsType;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\GeneralSetting;
use Illuminate\Database\Query\Builder;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class GeneralSettingSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @throws \ErrorException If a setting seeding case is missing.
*/
public function run(): void
{
FileStorageHelper::removeModelFiles(new GeneralSetting());
DB::table((new GeneralSetting())->getTable())->truncate();
\collect(SettingsType::all())->each(fn (SettingsType $type) => self::seedSettingsType($type));
}
/**
* Seeds Menu order
*/
public static function seedSettingsType(SettingsType $type): void
{
self::getTable()->insert([
'type' => $type,
'value' => json_encode(GeneralSetting::getJsonLayout($type)),
'created_at' => now(),
'updated_at' => now(),
]);
}
/**
* Get Table
*/
private static function getTable(): Builder
{
return DB::table((new GeneralSetting())->getTable());
}
}