pop-camarades/jobs/saved_session.go

40 lines
703 B
Go

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
}