Skip to content

Add deregistration logic #146

@steeevin88

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions