From 60eb4e34f60dced8504275ce02d8acae87bb8c55 Mon Sep 17 00:00:00 2001 From: masterelmar <18119527+masterElmar@users.noreply.github.com> Date: Sun, 8 Oct 2023 20:44:07 +0200 Subject: [PATCH] fixed db query and scheduled update process --- backend/service/addSchedule.go | 2 +- backend/service/db/dbEvents.go | 2 +- backend/service/events/eventService.go | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/backend/service/addSchedule.go b/backend/service/addSchedule.go index e50201c..a7a2ffa 100644 --- a/backend/service/addSchedule.go +++ b/backend/service/addSchedule.go @@ -16,7 +16,7 @@ func AddSchedules(app *pocketbase.PocketBase) { // Every hour update all courses (5 segments - minute, hour, day, month, weekday) "0 * * * *" // Every three hours update all courses (5 segments - minute, hour, day, month, weekday) "0 */3 * * *" // Every 10 minutes update all courses (5 segments - minute, hour, day, month, weekday) "*/10 * * * *" - scheduler.MustAdd("updateCourse", "*/10 * * * *", func() { + scheduler.MustAdd("updateCourse", "*/30 * * * *", func() { courses := events.GetAllCourses(app) diff --git a/backend/service/db/dbEvents.go b/backend/service/db/dbEvents.go index c1113a6..d1427ca 100644 --- a/backend/service/db/dbEvents.go +++ b/backend/service/db/dbEvents.go @@ -106,7 +106,7 @@ func GetAllModulesForCourse(app *pocketbase.PocketBase, course string, semester var events model.Events // get all events from event records in the events collection - err := app.Dao().DB().Select("*").From("events").Where(dbx.NewExp("course = {:course} AND semester = {:semester}", dbx.Params{"course": course, "semester": semester})).Distinct(true).All(&events) + err := app.Dao().DB().Select("*").From("events").Where(dbx.NewExp("course = {:course} AND semester = {:semester}", dbx.Params{"course": course, "semester": semester})).GroupBy("Name").Distinct(true).All(&events) if err != nil { print("Error while getting events from database: ", err) return nil, err diff --git a/backend/service/events/eventService.go b/backend/service/events/eventService.go index 48a9172..48efbcd 100644 --- a/backend/service/events/eventService.go +++ b/backend/service/events/eventService.go @@ -105,9 +105,17 @@ func UpdateModulesForCourse(app *pocketbase.PocketBase, course string) error { //get all events for the course and the semester events, err := db.GetAllModulesForCourse(app, course, "ws") if err != nil { - return apis.NewNotFoundError("Events could not be found", err) + return apis.NewNotFoundError("Events for winter semester could not be found", err) } + // append all events for the course and the semester to the events array for ss + summerEvents, err := db.GetAllModulesForCourse(app, course, "ss") + if err != nil { + return apis.NewNotFoundError("Events for summer semester could not be found", err) + } + + events = append(events, summerEvents...) + //if there are no events in the database, save the new events if len(events) == 0 { _, dbError = db.SaveEvents(seminarGroups, collection, app)