From 81aefff5a744dc09489c8701605d0e24135cbfad Mon Sep 17 00:00:00 2001 From: Roland Osborne Date: Sun, 13 Nov 2022 22:44:32 -0800 Subject: [PATCH] remove registered events on logout --- net/server/internal/api_removeAgentToken.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/net/server/internal/api_removeAgentToken.go b/net/server/internal/api_removeAgentToken.go index 4d190f3c..93bff182 100644 --- a/net/server/internal/api_removeAgentToken.go +++ b/net/server/internal/api_removeAgentToken.go @@ -29,9 +29,18 @@ func RemoveAgentToken(w http.ResponseWriter, r *http.Request) { } // delete session - if err = store.DB.Delete(&session).Error; err != nil { - ErrResponse(w, http.StatusInternalServerError, err); - return; + err = store.DB.Transaction(func(tx *gorm.DB) error { + if res := tx.Where("session_id = ?", session.ID).Delete(&store.PushEvent{}).Error; res != nil { + return res + } + if res := tx.Where("id = ?", session.ID).Delete(&store.Session{}).Error; res != nil { + return res + } + return nil + }) + if err != nil { + ErrResponse(w, http.StatusInternalServerError, err) + return } WriteResponse(w, nil)