diff --git a/appview/ingester.go b/appview/ingester.go index 62eb5cdc..7a3c22a8 100644 --- a/appview/ingester.go +++ b/appview/ingester.go @@ -510,6 +510,16 @@ func (i *Ingester) ingestSpindle(e *models.Event) error { i.Enforcer.E.LoadPolicy() }() + // remove spindle members first + err = db.RemoveSpindleMember( + tx, + db.FilterEq("owner", did), + db.FilterEq("instance", instance), + ) + if err != nil { + return err + } + err = db.DeleteSpindle( tx, db.FilterEq("owner", did), diff --git a/appview/spindles/spindles.go b/appview/spindles/spindles.go index bb91dad8..f903fa25 100644 --- a/appview/spindles/spindles.go +++ b/appview/spindles/spindles.go @@ -303,6 +303,18 @@ func (s *Spindles) delete(w http.ResponseWriter, r *http.Request) { s.Enforcer.E.LoadPolicy() }() + // remove spindle members first + err = db.RemoveSpindleMember( + tx, + db.FilterEq("did", user.Did), + db.FilterEq("instance", instance), + ) + if err != nil { + l.Error("failed to remove spindle members", "err", err) + fail() + return + } + err = db.DeleteSpindle( tx, db.FilterEq("owner", user.Did),