From b92c160333b878e3b11e1ac6c97c3a44acc48e79 Mon Sep 17 00:00:00 2001 From: sawka Date: Fri, 7 Apr 2023 15:48:44 -0700 Subject: [PATCH] fix session:purge --- pkg/sstore/dbops.go | 15 +++++++-------- pkg/sstore/fileops.go | 9 --------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/pkg/sstore/dbops.go b/pkg/sstore/dbops.go index 9d473788..0748a310 100644 --- a/pkg/sstore/dbops.go +++ b/pkg/sstore/dbops.go @@ -1124,13 +1124,18 @@ func PurgeScreen(ctx context.Context, screenId string, sessionDel bool) (UpdateP tx.Exec(query, screenId) query = `DELETE FROM line WHERE screenid = ?` tx.Exec(query, screenId) + query = `DELETE FROM cmd WHERE screenid = ?` + tx.Exec(query, screenId) insertScreenDelUpdate(tx, screenId) return nil }) if txErr != nil { return nil, txErr } - go cleanScreenCmds(context.Background(), screenId) + delErr := DeleteScreenDir(ctx, screenId) + if delErr != nil { + log.Printf("error removing screendir") + } if sessionDel { return nil, nil } @@ -1491,7 +1496,7 @@ func PurgeSession(ctx context.Context, sessionId string) (UpdatePacket, error) { query = `SELECT screenid FROM screen WHERE sessionid = ?` screenIds = tx.SelectStrings(query, sessionId) for _, screenId := range screenIds { - _, err := PurgeScreen(ctx, screenId, true) + _, err := PurgeScreen(tx.Context(), screenId, true) if err != nil { return fmt.Errorf("error purging screen[%s]: %v", screenId, err) } @@ -1504,16 +1509,10 @@ func PurgeSession(ctx context.Context, sessionId string) (UpdatePacket, error) { if txErr != nil { return nil, txErr } - delErr := DeleteSessionDir(ctx, sessionId) update := ModelUpdate{} if newActiveSessionId != "" { update.ActiveSessionId = newActiveSessionId } - if delErr != nil { - update.Info = &InfoMsgType{ - InfoMsg: fmt.Sprintf("error removing session files: %v", delErr), - } - } update.Sessions = append(update.Sessions, &SessionType{SessionId: sessionId, Remove: true}) for _, screenId := range screenIds { update.Screens = append(update.Screens, &ScreenType{ScreenId: screenId, Remove: true}) diff --git a/pkg/sstore/fileops.go b/pkg/sstore/fileops.go index c2f8e050..0c521f87 100644 --- a/pkg/sstore/fileops.go +++ b/pkg/sstore/fileops.go @@ -168,15 +168,6 @@ func DeletePtyOutFile(ctx context.Context, screenId string, cmdId string) error return os.Remove(ptyOutFileName) } -func DeleteSessionDir(ctx context.Context, sessionId string) error { - sessionDir, err := scbase.EnsureSessionDir(sessionId) - if err != nil { - return fmt.Errorf("error getting sessiondir: %w", err) - } - fmt.Printf("remove-all %s\n", sessionDir) - return os.RemoveAll(sessionDir) -} - func DeleteScreenDir(ctx context.Context, screenId string) error { screenDir, err := scbase.EnsureScreenDir(screenId) if err != nil {