diff --git a/backend/model/eventModel.go b/backend/model/eventModel.go index f83e22d..daaf229 100644 --- a/backend/model/eventModel.go +++ b/backend/model/eventModel.go @@ -1,3 +1,18 @@ package model type Events []*Event + +type Event struct { + Day string `db:"Day" json:"day"` + Week string `db:"Week" json:"week"` + Start string `db:"Start" json:"start"` + End string `db:"End" json:"end"` + Name string `db:"Name" json:"name"` + EventType string `db:"EventType" json:"eventType"` + Prof string `db:"Prof" json:"prof"` + Rooms string `db:"Rooms" json:"rooms"` + Notes string `db:"Notes" json:"notes"` + BookedAt string `db:"BookedAt" json:"bookedAt"` + Course string `db:"course" json:"course"` + Semester string `db:"semester" json:"semester"` +} diff --git a/backend/model/seminarGroup.go b/backend/model/seminarGroup.go index d9aedbc..d3d63c9 100644 --- a/backend/model/seminarGroup.go +++ b/backend/model/seminarGroup.go @@ -9,18 +9,3 @@ type SeminarGroup struct { FacultyId string Events []Event } - -type Event struct { - Day string `db:"course"` - Week string `db:"Week"` - Start string `db:"Start"` - End string `db:"End"` - Name string `db:"Name"` - EventType string `db:"EventType"` - Prof string `db:"Prof"` - Rooms string `db:"Rooms"` - Notes string `db:"Notes"` - BookedAt string `db:"BookedAt"` - Course string `db:"course"` - Semester string `db:"semester"` -} diff --git a/backend/service/db/dbEvents.go b/backend/service/db/dbEvents.go index 20dc862..6332e8b 100644 --- a/backend/service/db/dbEvents.go +++ b/backend/service/db/dbEvents.go @@ -5,6 +5,7 @@ import ( "github.com/pocketbase/pocketbase" "github.com/pocketbase/pocketbase/models" "htwkalender/model" + "htwkalender/service/functions" "log" ) @@ -39,7 +40,7 @@ func SaveEvents(seminarGroup []model.SeminarGroup, collection *models.Collection record.Set("Week", event.Week) record.Set("Start", event.Start) record.Set("End", event.End) - record.Set("Name", event.Name) + record.Set("Name", functions.ReplaceEmptyString(event.Name, "Sonderveranstaltungen")) record.Set("EventType", event.EventType) record.Set("Prof", event.Prof) record.Set("Rooms", event.Rooms) @@ -120,31 +121,14 @@ func GetAllModulesForCourse(app *pocketbase.PocketBase, course string, semester return eventArray, nil } -func GetAllModulesDistinct(app *pocketbase.PocketBase) ([]struct { - Name string - Course string -}, error) { - var events []struct { - Name string `db:"Name" json:"Name"` - Course string `db:"course" json:"course"` - } +func GetAllModulesDistinct(app *pocketbase.PocketBase) (model.Events, error) { + var events model.Events - var eventArray []struct { - Name string - Course string - } - - err := app.Dao().DB().Select("Name", "course").From("events").Distinct(true).All(&events) + err := app.Dao().DB().Select("*").From("events").Distinct(true).All(&events) if err != nil { print("Error while getting events from database: ", err) - return eventArray, err + return nil, err } - for _, event := range events { - eventArray = append(eventArray, struct { - Name string - Course string - }{event.Name, event.Course}) - } - return eventArray, nil + return events, nil } diff --git a/backend/service/events/eventService.go b/backend/service/events/eventService.go index b5684f0..8878f0d 100644 --- a/backend/service/events/eventService.go +++ b/backend/service/events/eventService.go @@ -3,6 +3,7 @@ package events import ( "github.com/labstack/echo/v5" "github.com/pocketbase/pocketbase" + "htwkalender/model" "htwkalender/service/db" "htwkalender/service/functions" ) @@ -28,10 +29,7 @@ func replaceEmptyEntryInStringArray(modules []string, replacement string) { } } -func replaceEmptyEntry(modules []struct { - Name string - Course string -}, replacement string) { +func replaceEmptyEntry(modules model.Events, replacement string) { //replace empty functions with "Sonderveranstaltungen" for i, module := range modules { if functions.OnlyWhitespace(module.Name) { diff --git a/backend/service/functions/string.go b/backend/service/functions/string.go index 66bd45c..f89ac44 100644 --- a/backend/service/functions/string.go +++ b/backend/service/functions/string.go @@ -20,3 +20,10 @@ func Contains(s []string, e string) bool { } return false } + +func ReplaceEmptyString(word string, replacement string) string { + if OnlyWhitespace(word) { + return replacement + } + return word +}