Implement cancel-event feature (016) #38

Merged
nitrix merged 3 commits from 016-cancel-event into master 2026-03-12 20:42:39 +01:00
Owner

Summary

  • Add PATCH /events/{eventToken} endpoint for organizers to cancel events (irreversible)
  • Store cancelled flag and optional cancellationReason on event entity (Liquibase migration)
  • Frontend: cancel bottom sheet with reason textarea, red cancellation banner for visitors, RSVP buttons hidden on cancelled events
  • Refactor domain models to records and move exceptions to sub-package
  • Block new RSVPs on cancelled events (409 Conflict)

Test plan

  • Backend unit + integration tests (EventServiceCancelTest, EventControllerIntegrationTest)
  • Frontend E2E tests (cancel-event.spec.ts, cancelled-event-visitor.spec.ts)
  • Exploratory testing via rodney (API + browser, 26/26 pass)
## Summary - Add PATCH `/events/{eventToken}` endpoint for organizers to cancel events (irreversible) - Store `cancelled` flag and optional `cancellationReason` on event entity (Liquibase migration) - Frontend: cancel bottom sheet with reason textarea, red cancellation banner for visitors, RSVP buttons hidden on cancelled events - Refactor domain models to records and move exceptions to sub-package - Block new RSVPs on cancelled events (409 Conflict) ## Test plan - [x] Backend unit + integration tests (EventServiceCancelTest, EventControllerIntegrationTest) - [x] Frontend E2E tests (cancel-event.spec.ts, cancelled-event-visitor.spec.ts) - [x] Exploratory testing via rodney (API + browser, 26/26 pass)
nitrix added 3 commits 2026-03-12 20:28:40 +01:00
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add PATCH /events/{eventToken} endpoint for organizers to cancel events,
cancellation banner for visitors, and RSVP rejection on cancelled events.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Refactor domain models to records and move exceptions to sub-package
All checks were successful
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m25s
CI / build-and-publish (push) Has been skipped
d333ab3d39
- Convert Event and Rsvp from mutable POJOs to Java records
- Move all 8 exception classes to application.service.exception sub-package
- Add ArchUnit rule enforcing domain models must be records

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
nitrix merged commit e01d5ee642 into master 2026-03-12 20:42:39 +01:00
nitrix deleted branch 016-cancel-event 2026-03-12 20:42:39 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nitrix/fete#38