feat(form-builder): form_field_configs relational table + non-validation key split + drop validation_rules JSON columns

This commit is contained in:
2026-04-24 22:42:35 +02:00
parent 9d2758a42c
commit d494478c08
31 changed files with 1233 additions and 60 deletions

View File

@@ -0,0 +1,22 @@
<?php
declare(strict_types=1);
namespace App\Enums\FormBuilder;
/**
* Non-validation field configuration (ARCH-FORM-BUILDER §17.5). Tag
* picker option filtering + upload disk selection live here because
* they are per-field rendering / storage configuration, not validation
* rules splitting them out of `form_field_validation_rules` preserves
* the semantic integrity of that table's name (strict-enterprise
* decision on WS-5b, addendum Q3 Uitvoering).
*
* Per-case parameter shape is enforced at the service layer
* (`FormFieldConfigService::assertSpecValid`), not in the enum or DB.
*/
enum FormFieldConfigType: string
{
case TagCategories = 'tag_categories';
case StorageDisk = 'storage_disk';
}