RFC-TIMETABLE v0.2 Session 1 — Artist Timetable foundation #15

Merged
bert.hausmans merged 14 commits from feat/timetable-session-1 into main 2026-05-08 20:23:43 +02:00
Showing only changes of commit dd0d98f9ed - Show all commits

View File

@@ -16,6 +16,7 @@ use App\Listeners\FormBuilder\ApplyBindingsOnFormSectionSubmitted;
use App\Listeners\FormBuilder\ApplyBindingsOnFormSubmit;
use App\Listeners\FormBuilder\SyncTagPickerSelectionsOnSubmit;
use App\Listeners\FormBuilder\TriggerPersonIdentityMatchOnFormSubmit;
use App\Models\Artist;
use App\Models\Company;
use App\Models\CrowdList;
use App\Models\CrowdType;
@@ -72,17 +73,16 @@ class AppServiceProvider extends ServiceProvider
/**
* FQCN lookup for every `subject_type` alias that PurposeRegistry may
* return. Single source of truth for domain-subject model mapping,
* consumed by the morph-map build in boot(). The `artist` class is
* declared as a string because the Artist model is not yet landed;
* it is safe to register the morph alias (lazily resolved).
* consumed by the morph-map build in boot(). `artist` resolves to
* `App\Models\Artist` (introduced 2026-05, RFC-TIMETABLE Session 1).
*
* @var array<string, class-string|string>
* @var array<string, class-string>
*/
private const PURPOSE_SUBJECT_FQCN = [
'person' => Person::class,
'user' => User::class,
'company' => Company::class,
'artist' => 'App\\Models\\Artist',
'artist' => Artist::class,
];
public function register(): void