67 lines
2.1 KiB
PHP
67 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Setting;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class SettingsSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$settings = [
|
|
// Ticket-Einstellungen
|
|
[
|
|
'group' => 'tickets',
|
|
'key' => 'validity_days',
|
|
'value' => '30',
|
|
'type' => 'integer',
|
|
'description' => 'Gültigkeitsdauer eines Tickets in Tagen',
|
|
],
|
|
[
|
|
'group' => 'tickets',
|
|
'key' => 'receipt_upload_deadline_days',
|
|
'value' => '30',
|
|
'type' => 'integer',
|
|
'description' => 'Frist für den Beleg-Upload nach Ticket-Einlösung in Tagen',
|
|
],
|
|
[
|
|
'group' => 'tickets',
|
|
'key' => 'max_per_merchant_per_customer',
|
|
'value' => '3',
|
|
'type' => 'integer',
|
|
'description' => 'Max. Tickets pro Händler pro Kunde',
|
|
],
|
|
[
|
|
'group' => 'tickets',
|
|
'key' => 'max_merchants_per_customer',
|
|
'value' => '4',
|
|
'type' => 'integer',
|
|
'description' => 'Max. Händler pro Kunde pro Zeitraum',
|
|
],
|
|
|
|
// Provisions-Einstellungen
|
|
[
|
|
'group' => 'commissions',
|
|
'key' => 'default_broker_rate',
|
|
'value' => '0',
|
|
'type' => 'integer',
|
|
'description' => 'Standard-Makler-Provision in Prozent (individuell je Partner)',
|
|
],
|
|
[
|
|
'group' => 'commissions',
|
|
'key' => 'default_cashback_rate',
|
|
'value' => '0',
|
|
'type' => 'integer',
|
|
'description' => 'Standard-Kunden-Cashback in Prozent (individuell je Partner)',
|
|
],
|
|
];
|
|
|
|
foreach ($settings as $setting) {
|
|
Setting::query()->updateOrCreate(
|
|
['group' => $setting['group'], 'key' => $setting['key']],
|
|
$setting
|
|
);
|
|
}
|
|
}
|
|
}
|