feat(09-04): compile switch, date-range, and scope filters

- Filters keep typed values and only registered scope names
- Raw conditions and arbitrary methods fail activation
- Request localization copies labels and leaves identifiers unchanged
This commit is contained in:
Jakub Zych
2026-09-24 18:53:52 +02:00
parent cb832eb70c
commit d3a93073c9
5 changed files with 417 additions and 6 deletions

View File

@@ -29,6 +29,8 @@ type ListFilter struct {
Scope string `json:"scope,omitempty"`
ModelClass string `json:"modelClass,omitempty"`
NameFrom string `json:"nameFrom,omitempty"`
TrueValue *jsonScalar `json:"trueValue,omitempty"`
FalseValue *jsonScalar `json:"falseValue,omitempty"`
Options []FormOption `json:"options,omitempty"`
}
@@ -66,6 +68,7 @@ type ListSchema struct {
Filters []ListFilter `json:"filters"`
RowActions []RowAction `json:"rowActions"`
BulkActions []BulkAction `json:"bulkActions"`
Meta *FormMeta `json:"meta,omitempty"`
}
// MarshalJSON keeps omitted collections as arrays so a partial copy cannot emit null.