mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-02 17:59:14 +02:00
added batch sized of 100 modules for ical event requests
This commit is contained in:
@@ -116,15 +116,27 @@ func buildIcalQueryForModules(modules []model.FeedCollection) dbx.Expression {
|
|||||||
// used for the ical feed
|
// used for the ical feed
|
||||||
func GetPlanForModules(app *pocketbase.PocketBase, modules []model.FeedCollection) model.Events {
|
func GetPlanForModules(app *pocketbase.PocketBase, modules []model.FeedCollection) model.Events {
|
||||||
|
|
||||||
var selectedModulesQuery = buildIcalQueryForModules(modules)
|
|
||||||
|
|
||||||
var events model.Events
|
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)
|
// iterate over modules in 100 batch sizes
|
||||||
if err != nil {
|
for i := 0; i < len(modules); i += 100 {
|
||||||
print("Error while getting events from database: ", err)
|
var moduleBatch []model.FeedCollection
|
||||||
return nil
|
|
||||||
|
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
|
return events
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,7 +16,6 @@ func Test_extractSemesterAndYear(t *testing.T) {
|
|||||||
want string
|
want string
|
||||||
want1 string
|
want1 string
|
||||||
}{
|
}{
|
||||||
// TODO: Add test cases.
|
|
||||||
{
|
{
|
||||||
name: "Test 1",
|
name: "Test 1",
|
||||||
args: args{
|
args: args{
|
||||||
|
Reference in New Issue
Block a user