diff --git a/model/seminarGroup.go b/model/seminarGroup.go index 98a5c58..86d2655 100644 --- a/model/seminarGroup.go +++ b/model/seminarGroup.go @@ -11,15 +11,15 @@ type SeminarGroup struct { } type Event struct { - Day string - Week string - Start string - End string - Name string - EventType string - Prof string - Rooms string - Notes string - BookedAt string - Semester string + 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"` + Semester string `db:"semester"` } diff --git a/service/db/dbEvents.go b/service/db/dbEvents.go index 18f8771..c32bb67 100644 --- a/service/db/dbEvents.go +++ b/service/db/dbEvents.go @@ -79,20 +79,22 @@ type Events []*model.Event // EmitICal implements the interface for goics func (e Events) EmitICal() goics.Componenter { + layout := "2006-01-02 15:04:05 -0700 MST" c := goics.NewComponent() c.SetType("VCALENDAR") + c.AddProperty("VERSION", "2.0") c.AddProperty("CALSCAL", "GREGORIAN") for _, event := range e { s := goics.NewComponent() s.SetType("VEVENT") - timeEnd, _ := time.Parse("2024-01-07 07:00:00 +0000 UTC", event.End) - timeStart, _ := time.Parse("2024-01-07 07:00:00 +0000 UTC", event.Start) + timeEnd, _ := time.Parse(layout, event.End) + timeStart, _ := time.Parse(layout, event.Start) k, v := goics.FormatDateTimeField("DTEND", timeEnd) s.AddProperty(k, v) k, v = goics.FormatDateTimeField("DTSTART", timeStart) s.AddProperty(k, v) s.AddProperty("SUMMARY", event.Name) - s.AddProperty("DESCRIPTION", event.Notes) + s.AddProperty("DESCRIPTION", "Notizen: "+event.Notes+"\n Prof: "+event.Prof) s.AddProperty("LOCATION", event.Rooms) c.AddComponent(s) } diff --git a/service/ical/ical.go b/service/ical/ical.go index bf9cc94..eaa6f26 100644 --- a/service/ical/ical.go +++ b/service/ical/ical.go @@ -29,8 +29,8 @@ func FeedURL(c echo.Context, app *pocketbase.PocketBase) error { func Feed(c echo.Context, app *pocketbase.PocketBase) error { var result string - var responseWriter http.ResponseWriter - token := c.Request().Header.Get("token") + var responseWriter = c.Response().Writer + token := c.QueryParam("token") log.Print("iCal feed Token: " + token) feed, ok := cache[token] if !ok || feed == nil {