mandant-crm/backend/database/seeders/CustomFieldDefinitionSeeder.php

40 lines
1.4 KiB
PHP
Raw Normal View History

<?php
namespace Database\Seeders;
use App\Modules\CustomField\Models\CustomFieldDefinition;
use App\Modules\CustomField\Models\CustomFieldType;
use Illuminate\Database\Seeder;
/**
* Registers the base-data custom fields the Mandanten-Import maps onto.
*
* Idempotent (firstOrCreate by key) so it is safe to run against a real
* database the importer resolves these definitions by key and fails fast
* if they are absent.
*/
class CustomFieldDefinitionSeeder extends Seeder
{
public function run(): void
{
$fields = [
['key' => 'telefonnummer', 'label' => 'Telefon 1', 'type' => CustomFieldType::Text, 'sort_order' => 1],
['key' => 'e_mail', 'label' => 'E-Mail', 'type' => CustomFieldType::Text, 'sort_order' => 2],
['key' => 'ansprechpartner', 'label' => 'Ansprechpartner', 'type' => CustomFieldType::Text, 'sort_order' => 3],
['key' => 'anschrift', 'label' => 'Anschrift', 'type' => CustomFieldType::Textarea, 'sort_order' => 4],
];
foreach ($fields as $field) {
CustomFieldDefinition::firstOrCreate(
['key' => $field['key']],
[
'label' => $field['label'],
'type' => $field['type'],
'is_required' => false,
'sort_order' => $field['sort_order'],
],
);
}
}
}