diff --git a/backend/service/addSchedule.go b/backend/service/addSchedule.go index 351cf41..8b262c9 100644 --- a/backend/service/addSchedule.go +++ b/backend/service/addSchedule.go @@ -33,7 +33,7 @@ func AddSchedules(app *pocketbase.PocketBase) { feed.ClearFeeds(app.Dao(), 6, time.RealClock{}) }) - // Every sunday at 2am fetch all sport events (5 segments - minute, hour, day, month, weekday) "0 2 * * 0" + // Every sunday at 3am fetch all sport events (5 segments - minute, hour, day, month, weekday) "0 2 * * 0" scheduler.MustAdd("fetchSportEvents", "0 3 * * 0", func() { slog.Info("Started fetching sport events schedule") sportEvents, err := sport.FetchAndUpdateSportEvents(app) diff --git a/backend/service/db/dbEvents.go b/backend/service/db/dbEvents.go index 1ec5ff7..c293fd8 100644 --- a/backend/service/db/dbEvents.go +++ b/backend/service/db/dbEvents.go @@ -212,6 +212,15 @@ func DeleteAllEventsByCourse(app *pocketbase.PocketBase, course string, semester return nil } +func DeleteAllEventsBySemesterWithoutCourse(app *pocketbase.PocketBase, course string, semester string) error { + _, err := app.Dao().DB().Delete("events", dbx.NewExp("course != {:course} AND semester = {:semester}", dbx.Params{"course": course, "semester": semester})).Execute() + + if err != nil { + return err + } + return nil +} + func DeleteAllEventsBySemester(app *pocketbase.PocketBase, semester string) error { _, err := app.Dao().DB().Delete("events", dbx.NewExp("semester = {:semester}", dbx.Params{"semester": semester})).Execute() diff --git a/backend/service/fetch/v2/fetcher.go b/backend/service/fetch/v2/fetcher.go index 0664677..b054e1d 100644 --- a/backend/service/fetch/v2/fetcher.go +++ b/backend/service/fetch/v2/fetcher.go @@ -82,7 +82,7 @@ func fetchAndSaveAllEventsForSemester( if err != nil { err = fmt.Errorf("failed to parse events for "+semester+": %w", err) } - err = db.DeleteAllEventsBySemester(app, semester) + err = db.DeleteAllEventsBySemesterWithoutCourse(app, "Sport", semester) if err != nil { err = fmt.Errorf("failed to delete all events for "+semester+": %w", err) }