40 lines
703 B
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
|
|
}
|