mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2026-01-19 04:52:26 +01:00
feat:#16 added room ics api route
This commit is contained in:
@@ -54,7 +54,7 @@ func Feed(app model.AppType, token string, userAgent string) (string, string, er
|
||||
}
|
||||
|
||||
// Get all events for modules
|
||||
events, err = htwkalenderGrpc.GetEvents(feed.Modules, app.GrpcClient)
|
||||
events, err = htwkalenderGrpc.GetEventsByModules(feed.Modules, app.GrpcClient)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
@@ -106,3 +106,23 @@ func CreateFeed(app model.AppType, modules []model.FeedCollection) (string, erro
|
||||
|
||||
return token, nil
|
||||
}
|
||||
|
||||
func FeedRoom(app model.AppType, room string) (string, string, error) {
|
||||
|
||||
// Get all events for room
|
||||
events, err := htwkalenderGrpc.GetEventsByRoom(room, app.GrpcClient)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
|
||||
// Sort events by start date
|
||||
events.Sort()
|
||||
|
||||
// Generate one Hash for E-TAG from all events
|
||||
etag := functions.HashString(events.String())
|
||||
|
||||
cal := GenerateIcalFeed(events, map[string]model.FeedCollection{}, "")
|
||||
icalFeed := &model.FeedModel{Content: cal.Serialize(), ExpiresAt: model.JSONTime(time.Now().Add(expirationTime))}
|
||||
|
||||
return icalFeed.Content, etag, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user