feat/shared-model #37
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/shared-model"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1 of docs/plans/shared-model.md: - crudExposure { } DSL in api (de.loosetie.crudular.api.rest): entity blocks with create/read/update field whitelists, like = <op>, delete, search condition whitelists, searchCustom, plus the extension hooks (declare/capture/extension). build() never throws; structural mistakes land as ExposureIssues on the value. - CrudExposure value with merge by union of mentions; CEILING is the neutral element and, as the final union, serves everything annotated. - starter-base collects CrudExposureDeclaration beans, builds each once, unions them and hands the value to CrudMetaModel, which resolves effective restOperations at construction (ExposureNarrowing). - Key fields bypass field whitelists and their read is lifted past an off annotation; write operations keep the annotation's protection (deviation from the plan's letter: lifting writes would have made protected key fields patchable, e.g. the ShelfView fixture). - Links: a reference field without effective read renders neither value nor link; a link to an entity without a local item endpoint keeps its uri and points at crudular.rest.not-served-path (default /-/not-served, 421 route mounted; absolute URLs used verbatim, nothing mounted); back-links render only when the referencing entity serves SEARCH.