Skip to content

Add deregistration logic #146

Description

@steeevin88

CONTEXT

  • users can register for events and join waitlists, but there's no way to cancel or deregister
  • no DELETE /events/:id/register endpoint exists
  • this means a user who can no longer attend is permanently holding a seat, and waitlisted users have no chance of getting in unless an admin manually intervenes

CHANGES NEEDED

  • add a deregister/cancel endpoint (e.g. DELETE /events/:id/register)
  • release the held seat in Redis for capacity-limited events
  • mark the registration document as canceled (or a new terminal status) rather than deleting it — keep the audit trail
  • if a waitlist exists and is enabled for the event, trigger promotion of the next waitlisted user
  • restrict to the registrant themselves or event admins

APPROACH

  • deregistration flow triggers ReleaseEventSeat in Redis, then promotes from waitlist via the Kafka pipeline (same as auto-promotion).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions