Compare commits
base: eho:feat/12-withdrawal
eho:main
eho:feat/12-withdrawal-workflow
eho:feat/12-withdrawal
eho:feat/13-behandel-portal
eho:feat/13-behandel-decide
eho:feat/13-behandel-bff-auth-werkbak
eho:feat/13-workflow-user-tasks
eho:feat/13-behandel-decision-model
eho:chore/release-2026.07.0
eho:feat/78-reference-correlation
eho:feat/75-approval-flow
eho:feat/10-openbaar-portal
eho:chore/73-ci-speedups
eho:feat/68-e2e
eho:feat/67-self-service-form
eho:feat/66-api-client
eho:feat/65-nx-workspace
eho:feat/8-bff
eho:feat/6-domain-service
eho:feat/7-event-subscriber-projection
eho:feat/56-nrc-notification-wiring
eho:test/46-acl-openzaak-integration
eho:feat/47-acl-mutation-baseline
eho:ci/30-gitea-actions-ci
eho:feat/5-acl-open-zaak
eho:feat/4-flowable
eho:feat/3-keycloak
eho:feat/2-opennotificaties
eho:feat/2-catalogus-seed
eho:feat/10-openzaak-compose
eho:feat/32-docs-scaffold
eho:feat/31-contributor-workflow
eho:feat/30-gitea-actions-ci
eho:feat/29-bff-docker-compose
eho:chore/remove-bootstrap-scripts
eho:feat/28-bff-health
eho:docs/split-s00
..
compare: eho:main
eho:feat/12-withdrawal-workflow
eho:main
eho:feat/12-withdrawal
eho:feat/13-behandel-portal
eho:feat/13-behandel-decide
eho:feat/13-behandel-bff-auth-werkbak
eho:feat/13-workflow-user-tasks
eho:feat/13-behandel-decision-model
eho:chore/release-2026.07.0
eho:feat/78-reference-correlation
eho:feat/75-approval-flow
eho:feat/10-openbaar-portal
eho:chore/73-ci-speedups
eho:feat/68-e2e
eho:feat/67-self-service-form
eho:feat/66-api-client
eho:feat/65-nx-workspace
eho:feat/8-bff
eho:feat/6-domain-service
eho:feat/7-event-subscriber-projection
eho:feat/56-nrc-notification-wiring
eho:test/46-acl-openzaak-integration
eho:feat/47-acl-mutation-baseline
eho:ci/30-gitea-actions-ci
eho:feat/5-acl-open-zaak
eho:feat/4-flowable
eho:feat/3-keycloak
eho:feat/2-opennotificaties
eho:feat/2-catalogus-seed
eho:feat/10-openzaak-compose
eho:feat/32-docs-scaffold
eho:feat/31-contributor-workflow
eho:feat/30-gitea-actions-ci
eho:feat/29-bff-docker-compose
eho:chore/remove-bootstrap-scripts
eho:feat/28-bff-health
eho:docs/split-s00
1 Commits
feat/12-wi
...
main
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 1f1c944a8b |
feat(domain): withdrawal — INGETROKKEN transition + endpoint (S-11a, refs #12) (#88)
All checks were successful
## What & why First sub-slice of **S-11 · Withdrawal (Flow 3)** (#12). A zorgprofessional can withdraw a still-open registration ("trek aanvraag in"); this sub-slice delivers the **domain transition + endpoint**, mirroring how S-12a shipped the beoordeling decision model on its own (#82). - `RegistrationStatus.Ingetrokken` (terminal). - `Registration.Withdraw()` — allowed from INGEDIEND or IN_BEHANDELING, needs no zaak, idempotent, and rejected once the registration has been decided (INGESCHREVEN/AFGEWEZEN). - `WithdrawRegistration` application handler (load → withdraw → persist; repeated withdrawal is a no-op). - `POST /registrations/{id}/withdraw` on the domain API. Demoable: `POST /registrations/{id}/withdraw` → `GET /registrations/{id}` shows `INGETROKKEN`. Refs #12 (not closing — see below). ## Scope / follow-ups S-11 is bigger than one slice, so it is split (CLAUDE.md §13), like S-12 was: - **S-11a (this PR)** — domain withdrawal transition + endpoint. - **S-11b** — cancel the running Flowable process via a BPMN message event, so a withdrawn case leaves the behandelaar's werkbak. - **S-11c** — owner-scoped BFF self-service withdraw endpoint + "trek aanvraag in" button + e2e. Cancelling the Flowable process is deliberately deferred (documented in `WithdrawRegistration`), exactly as the beoordeling's rejection deferred its zaak propagation. #12 stays open until S-11c. ## Definition of Done - [x] Linked Gitea issue (#12). - [x] Failing test committed before the implementation. - [x] Implementation makes the test pass. - [x] Conventional Commits referencing the issue (`refs #12`). - [ ] CI green — all Gitea Actions jobs. - [x] `docker compose up` unaffected (no infra/contract change). - [x] Docs — none needed for this backend sub-slice; the user-visible demo note lands with S-11c. - [x] No ADR needed — mirrors existing aggregate/handler/endpoint patterns; no boundary change. ## Notes for reviewers - Verified locally: `Big.Tests` 89/89 pass; `Big.Api` builds clean. - The domain trusts its callers (§8.3); owner-scoping by the caller's bsn is enforced at the BFF in S-11c. Reviewed-on: #88 |