diff --git a/backend/service/db/dbEvents.go b/backend/service/db/dbEvents.go index 8e58eb8..f763260 100644 --- a/backend/service/db/dbEvents.go +++ b/backend/service/db/dbEvents.go @@ -116,15 +116,27 @@ func buildIcalQueryForModules(modules []model.FeedCollection) dbx.Expression { // used for the ical feed func GetPlanForModules(app *pocketbase.PocketBase, modules []model.FeedCollection) model.Events { - var selectedModulesQuery = buildIcalQueryForModules(modules) - var events model.Events - // get all events from event records in the events collection - err := app.Dao().DB().Select("*").From("events").Where(selectedModulesQuery).All(&events) - if err != nil { - print("Error while getting events from database: ", err) - return nil + + // iterate over modules in 100 batch sizes + for i := 0; i < len(modules); i += 100 { + var moduleBatch []model.FeedCollection + + if i+100 > len(modules) { + moduleBatch = modules[i:] + } else { + moduleBatch = modules[i : i+100] + } + + var selectedModulesQuery = buildIcalQueryForModules(moduleBatch) + // get all events from event records in the events collection + err := app.Dao().DB().Select("*").From("events").Where(selectedModulesQuery).All(&events) + if err != nil { + print("Error while getting events from database: ", err) + return nil + } } + return events } diff --git a/backend/service/fetch/fetchSeminarEventService_test.go b/backend/service/fetch/fetchSeminarEventService_test.go index b3d95d4..3284402 100644 --- a/backend/service/fetch/fetchSeminarEventService_test.go +++ b/backend/service/fetch/fetchSeminarEventService_test.go @@ -16,7 +16,6 @@ func Test_extractSemesterAndYear(t *testing.T) { want string want1 string }{ - // TODO: Add test cases. { name: "Test 1", args: args{