Skip to content

“Ghost participant” (slettet bruker) ligger igjen i event.participants → 400 “Confirmed user cannot be moved…” #106

@TorgrimRL

Description

@TorgrimRL

Ghost participant i events

Problem

En slettet bruker ligger fortsatt igjen i events.participants (ofte med confirmed: true). Når admin trykker Oppdatere liste (uten å endre rekkefølgen), validerer backenden dagens liste og kaster 400:

Confirmed user cannot be moved to a non confirmed spot

UI-sletting feiler også når users-referansen mangler, fordi deltakeren ikke finnes som bruker lenger.

Berørte deler

  • Backend

    • PUT /{id}/updateParticipantsOrder/ (reorder)
    • Sletting av deltaker fra event
    • Bruker-sletting (mangler “cascade”)
  • Frontend (sekundært)

    • Knappetekst og manglende lokal pre-validering/disable ved uendret rekkefølge

Forventet vs. faktisk

  • Forventet

    • Slettede brukere finnes ikke i participants.
    • Reorder feiler ikke pga. data som systemet kan rydde opp i automatisk.
    • “Slett deltaker” fungerer selv om bruker er slettet.
  • Faktisk

    • “Spøkelses”-deltakere blir værende og kan være confirmed: true.
    • Reorder kaster 400.
    • UI-sletting lykkes ikke når users-rad mangler.

Reproduksjon

  1. Opprett event med maxParticipants > 0. Bekreft bruker A (confirmed: true).
  2. Slett bruker A fra users.
  3. Åpne admin-UI → trykk Oppdatere liste.
  4. Får 400 “Confirmed user cannot be moved …”. Forsøk å slette raden → feiler.

Rotårsak (mistenkt)

  • Ingen cascade/reconciler mellom users og events.participants.
  • reorder_participants validerer nåværende participants uten å filtrere bort deltakere som ikke lenger eksisterer.
  • “Slett deltaker”-handler avhenger av at users-rad finnes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    🏗️ API[Organization Project] Task Related to API functionalitybugSomething isn't workinggood first issueGood for newcomers

    Type

    Projects

    Status

    🔎 Issue under review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions