docs(architecture): ADR-0011 approval status flow + demo note (refs #75)
Some checks failed
CI / lint (pull_request) Successful in 1m7s
CI / build (pull_request) Successful in 54s
CI / unit (pull_request) Successful in 1m4s
CI / frontend (pull_request) Successful in 2m0s
CI / mutation (pull_request) Failing after 1m54s
CI / verify-stack (pull_request) Failing after 5m49s
Some checks failed
CI / lint (pull_request) Successful in 1m7s
CI / build (pull_request) Successful in 54s
CI / unit (pull_request) Successful in 1m4s
CI / frontend (pull_request) Successful in 2m0s
CI / mutation (pull_request) Failing after 1m54s
CI / verify-stack (pull_request) Failing after 5m49s
Records the two non-obvious decisions: the ACL resolves the zaaktype eindstatus (domain stays ZGW-ignorant), and the event-subscriber projects INGESCHREVEN from the notification alone (hoofdObject + any status-create), never reading OpenZaak. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -195,5 +195,35 @@ curl -fsS http://localhost:8140/openbaar/register | jq # same public-safe view
|
||||
# → [ { "id": "<zaak-uuid>", "status": "INGEDIEND" } ]
|
||||
```
|
||||
|
||||
> The register shows `INGEDIEND` entries today; the approval transition to a terminal status
|
||||
> (e.g. `INGESCHREVEN`) lands with the approval flow (S-09b, #75).
|
||||
> The register shows `INGEDIEND` on submit; approval flips it to `INGESCHREVEN` — see S-09b below.
|
||||
|
||||
---
|
||||
|
||||
## S-09b — Approval flow (public visibility flips to INGESCHREVEN)
|
||||
|
||||
**Outcome:** a behandelaar approves a submitted registration via a temporary admin endpoint (no
|
||||
behandel-portal yet — S-12). The approval sets the zaak's final status through the ACL, which flows
|
||||
back to the projection over NRC, and the openbaar register then shows the entry as `INGESCHREVEN`.
|
||||
|
||||
**The path:** `POST /registrations/{id}/approve` (domain) → ACL sets the zaak eindstatus (ZGW
|
||||
`/statussen`) → OpenZaak → NRC → Event Subscriber projects `INGESCHREVEN` → openbaar register.
|
||||
|
||||
```bash
|
||||
# 1. Full stack up, then drive submit → public INGEDIEND → approve → public INGESCHREVEN:
|
||||
make up
|
||||
make verify-e2e
|
||||
|
||||
# 2. Or by hand: submit (as in S-09), note the reference, then approve it.
|
||||
# The zaak is opened off the request path, so approve once GET shows a zaakUrl.
|
||||
ref="<registration-reference-from-the-confirmation>"
|
||||
curl -fsS http://localhost:8130/registrations/$ref | jq # domain (host port 8130): wait for .zaakUrl
|
||||
curl -fsS -X POST http://localhost:8130/registrations/$ref/approve -i # → 204 No Content
|
||||
|
||||
# 3. The public register now shows the entry as approved.
|
||||
curl -fsS http://localhost:8140/openbaar/register | jq
|
||||
# → [ { "id": "<zaak-uuid>", "status": "INGESCHREVEN" } ]
|
||||
```
|
||||
|
||||
> **End of walking skeleton** (S-09 + S-09b): submit → process → projection → public visibility, from
|
||||
> INGEDIEND through approval to INGESCHREVEN. The subscriber takes any post-creation status-set as the
|
||||
> approval (ADR-0011) — a walking-skeleton assumption that tightens when more transitions arrive (S-12+).
|
||||
|
||||
Reference in New Issue
Block a user