mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-30 08:19:14 +02:00
36 lines
985 B
Go
36 lines
985 B
Go
package feed
|
|
|
|
import (
|
|
"github.com/pocketbase/dbx"
|
|
"github.com/pocketbase/pocketbase/daos"
|
|
database "htwkalender/service/db"
|
|
localTime "htwkalender/service/functions/time"
|
|
"log"
|
|
)
|
|
|
|
func ClearFeeds(db *daos.Dao, months int, clock localTime.Clock) {
|
|
feeds, err := database.GetAllFeeds(db)
|
|
if err != nil {
|
|
log.Println("CleanFeeds: get all feeds failed")
|
|
return
|
|
}
|
|
for _, feed := range feeds {
|
|
// if retrieved time is older than a half year delete feed
|
|
now := clock.Now()
|
|
feedRetrievedTime := feed.Retrieved.Time()
|
|
timeShift := now.AddDate(0, -months, 0)
|
|
|
|
if feedRetrievedTime.Before(timeShift) {
|
|
// delete feed
|
|
sqlResult, err := db.DB().Delete("feeds", dbx.NewExp("id = {:id}", dbx.Params{"id": feed.GetId()})).Execute()
|
|
if err != nil {
|
|
log.Println("CleanFeeds: delete feed " + feed.GetId() + " failed")
|
|
log.Println(err)
|
|
log.Println(sqlResult)
|
|
} else {
|
|
log.Println("CleanFeeds: delete feed " + feed.GetId() + " successful")
|
|
}
|
|
}
|
|
}
|
|
}
|