feat(09-03): compile ordered Winter form schemas

- Strict config_form and fields documents keep source order and JSON scalar types
- Unknown keys, partials, path escape, and a mismatched modelClass fail activation with plugin context
- List-only controllers still activate when config_form.yaml is absent
This commit is contained in:
Jakub Zych
2026-09-24 18:17:45 +02:00
parent ea3f0705f4
commit 4c814e5f63
4 changed files with 532 additions and 12 deletions

View File

@@ -49,10 +49,15 @@ func compileRegistry(items []controllerRef) (*Registry, error) {
if err != nil {
return nil, err
}
form, err := compileFormIfPresent(item.plugin.ID(), item.ctl, assets.AdminFS())
if err != nil {
return nil, err
}
byID[id] = &CompiledController{
PluginID: item.plugin.ID(),
Controller: item.ctl,
List: list,
Form: form,
}
}
return &Registry{byID: byID}, nil