package app import ( "context" "log" "code.lila.network/adoralaura/go-urlsh/models" "github.com/jasonlvhit/gocron" ) func CleanupLoginsCronJob() { err := gocron.Every(5).Minutes().Do(CleanupLogins) if err != nil { return } <-gocron.Start() } func CleanupLogins() { _, err := models.DB.NewDelete().Table("logins").Where("expires < NOW()").Exec(context.Background()) if err != nil { log.Printf("[CleanupLogins] Error deleting logins: %v\n", err) } _, err = models.DB.NewDelete().Table("logintransactions").Where("expires < NOW()").Exec(context.Background()) if err != nil { log.Printf("[CleanupLogins] Error deleting login transactions: %v\n", err) } _, err = models.DB.NewDelete().Table("multifactor").Where("expires_at < NOW()").Where("active = false").Exec(context.Background()) if err != nil { log.Printf("[CleanupLogins] Error deleting login transactions: %v\n", err) } //log.Printf("Cleaned up logins") }