feat(09-05): project writable fields through Fill and Validate

- Bind schema fields to model columns at activation and drop protected keys
- Create and update Fill, run BeforeValidate, then Validate before persistence
- Missing Fill or Validate capability and provider errors fail closed
This commit is contained in:
Jakub Zych
2026-09-24 19:28:36 +02:00
parent 1e14da7bb5
commit 578bdc8d5d
2 changed files with 471 additions and 9 deletions

View File

@@ -53,12 +53,16 @@ func compileRegistry(items []controllerRef) (*Registry, error) {
if err != nil {
return nil, err
}
byID[id] = &CompiledController{
compiled := &CompiledController{
PluginID: item.plugin.ID(),
Controller: item.ctl,
List: list,
Form: form,
}
if err := BindWritableFields(compiled); err != nil {
return nil, err
}
byID[id] = compiled
}
return &Registry{byID: byID}, nil
}