Kontoloeschung laesst eigene Masterpacklisten und Listen-Sortiereintraege verwaist zurueck #209
Labels
No labels
priority/could
priority/must
priority/should
priority/wont
status/blocked
status/claimed
status/done-migrated
type/bug
type/feature
type/infra
type/tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/todo#209
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Beim Loeschen eines Kontos (Selbstloeschung und Admin-Loeschung aus #206, beide ueber
EraseUserAccountCommandHandler) werden eigene Todo- und Einkaufslisten explizit geloescht, eigene Masterpacklisten aber nicht. Die DB entfernt nur die Mitgliedschaftszeile (MasterPackingListToUserEntity), die Liste selbst bleibt als verwaiste, unerreichbare Zeile samt Items/Labels/Kommentaren liegen. Andere Mitglieder einer geteilten Masterpackliste behalten sie dagegen, obwohl sie beim normalen Loeschen durch den Eigentuemer verschwinden wuerde.Dazu kommt ein verwandter Rest:
UserListOrderEntityhat keinen FK auf die Liste (#149).Delete*ListCommandHandlerraeumen deshalb perUserListOrderAppender.RemoveAllAsyncdie Sortier-Eintraege aller Mitglieder ab, die Kontoloeschung tut das fuer keinen Listentyp. Andere Mitglieder behalten dadurch tote Sortier-Eintraege fuer die mitgeloeschten Listen.Akzeptanzkriterien
UserListOrderEntity) aller Mitglieder fuer die mitgeloeschten Listen werden entfernt: Todo, Einkauf, Masterpack sowie die per Cascade mitgeloeschten Speisekammern der eigenen Einkaufslisten.DeleteMasterPackingListCommandHandlersendet keinen), also kein neuer Kanal.EraseUserAccountCommandHandlerTests.Start: Folge-Fund aus #206, direkt beauftragt. Fix im gemeinsamen EraseUserAccountCommandHandler.
Behoben in
30172ed9Umfang
EraseUserAccountCommandHandler(gemeinsam genutzt von Selbst- und Admin-Loeschung) sucht jetzt auch eigene Masterpacklisten (Role == Owner) und loescht sie. Items, Labels, Kommentare, Einladungen und Aktivitaet folgen per DB-Cascade.DeleteMasterPackingListCommandHandlersendet keinen. Andere Mitglieder sehen die Aenderung beim naechsten Laden, genau wie beim normalen Loeschen durch den Eigentuemer.UserListOrderEntity) aller Mitglieder fuer jede mitgeloeschte Liste entfernt: Todo, Einkauf, Masterpack und die Speisekammern, die per Cascade mit einer eigenen Einkaufsliste verschwinden. Diese IDs werden vor dem Loeschen ermittelt. Das entspricht dem, was die Delete*ListCommandHandler seit #149 tun. Die eigenen Sortier-Eintraege des Nutzers fielen schon vorher per FK-Cascade weg.Tests (
EraseUserAccountCommandHandlerTests)