feature:#150 added slog and changed signatures

This commit is contained in:
Elmar Kresse
2024-01-21 17:53:49 +01:00
parent a9e76ee3db
commit 031fa717d7
9 changed files with 77 additions and 60 deletions

View File

@@ -3,7 +3,6 @@ package events
import (
"github.com/labstack/echo/v5"
"github.com/pocketbase/pocketbase"
"github.com/pocketbase/pocketbase/apis"
"htwkalender/model"
"htwkalender/service/db"
"htwkalender/service/fetch/v1"
@@ -89,7 +88,7 @@ func DeleteAllEvents(app *pocketbase.PocketBase) error {
// 3. Save all events for the course and the semester
// If the update was successful, nil is returned
// If the update was not successful, an error is returned
func UpdateModulesForCourse(app *pocketbase.PocketBase, course string) error {
func UpdateModulesForCourse(app *pocketbase.PocketBase, course string) (model.Events, error) {
//new string array with one element (course)
var courses []string
@@ -109,29 +108,32 @@ 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 for winter semester could not be found", err)
return nil, 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)
return nil, err
}
events = append(events, summerEvents...)
//if there are no events in the database, save the new events
if len(events) == 0 {
_, dbError := db.SaveSeminarGroupEvents(seminarGroups, app)
events, dbError := db.SaveSeminarGroupEvents(seminarGroups, app)
if dbError != nil {
return apis.NewNotFoundError("Events could not be saved", dbError)
return nil, dbError
}
return nil
return events, nil
}
//check if events in the seminarGroups Events are already in the database
//if yes, keep the database as it is
//if no, delete all events for the course and the semester and save the new events
var savedEvents model.Events
for _, seminarGroup := range seminarGroups {
for _, event := range seminarGroup.Events {
// if the event is not in the database, delete all events for the course and the semester and save the new events
@@ -139,25 +141,24 @@ func UpdateModulesForCourse(app *pocketbase.PocketBase, course string) error {
err = DeleteAllEventsByCourseAndSemester(app, course, "ws")
if err != nil {
return err
return nil, err
}
err = DeleteAllEventsByCourseAndSemester(app, course, "ss")
if err != nil {
return err
return nil, err
}
//save the new events
_, dbError := db.SaveSeminarGroupEvents(seminarGroups, app)
savedEvent, dbError := db.SaveSeminarGroupEvents(seminarGroups, app)
if dbError != nil {
return apis.NewNotFoundError("Events could not be saved", dbError)
return nil, dbError
}
return nil
savedEvents = append(savedEvents, savedEvent...)
}
}
}
return nil
return savedEvents, nil
}
func ContainsEvent(events model.Events, event model.Event) bool {