Purge old expired sessions

This commit is contained in:
William Bouzourène 2025-01-21 15:59:51 +01:00
parent be55e06855
commit 03526b65ef
Signed by: bouzoure
SSH key fingerprint: SHA256:19MbXpLua4rUtk8tunMesD8KUKb91LXLHg8E/qTooww
3 changed files with 75 additions and 0 deletions

40
jobs/saved_session.go Normal file
View file

@ -0,0 +1,40 @@
package jobs
import (
"time"
"git.readonly.ch/bouzoure/pop-camarades/helpers"
"git.readonly.ch/bouzoure/pop-camarades/models"
)
func CleanSavedSessions(jobName string) error {
log := helpers.GetLogger()
db, err := helpers.GetDatabase()
if err != nil {
return err
}
log.Info("fetching expired sessions", "job", jobName)
result := db.Unscoped().Delete(
&models.UserSavedSession{},
"expiration <= ?", time.Now(),
)
if result.Error != nil {
return result.Error
}
if result.RowsAffected < 1 {
log.Info("found no expired sessions", "job", jobName)
} else {
log.Info(
"removed expired sessions",
"sessions", result.RowsAffected,
"job", jobName,
)
}
return nil
}