fixed ical time stamp

This commit is contained in:
masterelmar
2023-08-24 21:55:46 +02:00
parent 075bf3c899
commit 3286d9fa65
3 changed files with 18 additions and 16 deletions

View File

@@ -11,15 +11,15 @@ type SeminarGroup struct {
} }
type Event struct { type Event struct {
Day string Day string `db:"course"`
Week string Week string `db:"Week"`
Start string Start string `db:"Start"`
End string End string `db:"End"`
Name string Name string `db:"Name"`
EventType string EventType string `db:"EventType"`
Prof string Prof string `db:"Prof"`
Rooms string Rooms string `db:"Rooms"`
Notes string Notes string `db:"Notes"`
BookedAt string BookedAt string `db:"BookedAt"`
Semester string Semester string `db:"semester"`
} }

View File

@@ -79,20 +79,22 @@ type Events []*model.Event
// EmitICal implements the interface for goics // EmitICal implements the interface for goics
func (e Events) EmitICal() goics.Componenter { func (e Events) EmitICal() goics.Componenter {
layout := "2006-01-02 15:04:05 -0700 MST"
c := goics.NewComponent() c := goics.NewComponent()
c.SetType("VCALENDAR") c.SetType("VCALENDAR")
c.AddProperty("VERSION", "2.0")
c.AddProperty("CALSCAL", "GREGORIAN") c.AddProperty("CALSCAL", "GREGORIAN")
for _, event := range e { for _, event := range e {
s := goics.NewComponent() s := goics.NewComponent()
s.SetType("VEVENT") s.SetType("VEVENT")
timeEnd, _ := time.Parse("2024-01-07 07:00:00 +0000 UTC", event.End) timeEnd, _ := time.Parse(layout, event.End)
timeStart, _ := time.Parse("2024-01-07 07:00:00 +0000 UTC", event.Start) timeStart, _ := time.Parse(layout, event.Start)
k, v := goics.FormatDateTimeField("DTEND", timeEnd) k, v := goics.FormatDateTimeField("DTEND", timeEnd)
s.AddProperty(k, v) s.AddProperty(k, v)
k, v = goics.FormatDateTimeField("DTSTART", timeStart) k, v = goics.FormatDateTimeField("DTSTART", timeStart)
s.AddProperty(k, v) s.AddProperty(k, v)
s.AddProperty("SUMMARY", event.Name) 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) s.AddProperty("LOCATION", event.Rooms)
c.AddComponent(s) c.AddComponent(s)
} }

View File

@@ -29,8 +29,8 @@ func FeedURL(c echo.Context, app *pocketbase.PocketBase) error {
func Feed(c echo.Context, app *pocketbase.PocketBase) error { func Feed(c echo.Context, app *pocketbase.PocketBase) error {
var result string var result string
var responseWriter http.ResponseWriter var responseWriter = c.Response().Writer
token := c.Request().Header.Get("token") token := c.QueryParam("token")
log.Print("iCal feed Token: " + token) log.Print("iCal feed Token: " + token)
feed, ok := cache[token] feed, ok := cache[token]
if !ok || feed == nil { if !ok || feed == nil {