mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2026-01-18 04:22:27 +01:00
feat:#36 added protobuf communication for modules
This commit is contained in:
@@ -5,15 +5,16 @@ import (
|
||||
"github.com/jordic/goics"
|
||||
"htwkalender/ical/model"
|
||||
"htwkalender/ical/service/connector"
|
||||
htwkalenderGrpc "htwkalender/ical/service/connector/grpc"
|
||||
"log/slog"
|
||||
"time"
|
||||
)
|
||||
|
||||
const expirationTime = 5 * time.Minute
|
||||
|
||||
func Feed(token string) (string, error) {
|
||||
func Feed(app model.AppType, token string) (string, error) {
|
||||
// get feed by token
|
||||
feed, err := connector.GetFeedByToken(token)
|
||||
feed, err := connector.GetFeedByToken(app.DataManagerURL, token)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -21,7 +22,7 @@ func Feed(token string) (string, error) {
|
||||
var events model.Events
|
||||
|
||||
for _, module := range feed.Modules {
|
||||
moduleWithEvents, err := connector.GetModuleWithEvents(module)
|
||||
moduleWithEvents, err := htwkalenderGrpc.GetModuleWithEvents(module, app.GrpcClient)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -29,7 +30,7 @@ func Feed(token string) (string, error) {
|
||||
events = append(events, moduleWithEvents.Events...)
|
||||
}
|
||||
|
||||
// Sorte events by start date
|
||||
// Sort events by start date
|
||||
events.Sort()
|
||||
|
||||
modules := make(map[string]model.FeedCollection)
|
||||
@@ -44,9 +45,9 @@ func Feed(token string) (string, error) {
|
||||
return icalFeed.Content, nil
|
||||
}
|
||||
|
||||
func FeedRecord(token string) (model.FeedRecord, error) {
|
||||
func FeedRecord(app model.AppType, token string) (model.FeedRecord, error) {
|
||||
|
||||
feedRecord, err := connector.GetFeedByToken(token)
|
||||
feedRecord, err := connector.GetFeedByToken(app.DataManagerURL, token)
|
||||
if err != nil {
|
||||
return model.FeedRecord{}, err
|
||||
}
|
||||
@@ -55,18 +56,18 @@ func FeedRecord(token string) (model.FeedRecord, error) {
|
||||
|
||||
}
|
||||
|
||||
func DeleteFeedRecord(token string) error {
|
||||
err := connector.DeleteFeedRecord(token)
|
||||
func DeleteFeedRecord(app model.AppType, token string) error {
|
||||
err := connector.DeleteFeedRecord(app, token)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateFeed(modules []model.FeedCollection) (string, error) {
|
||||
func CreateFeed(app model.AppType, modules []model.FeedCollection) (string, error) {
|
||||
|
||||
// Save feed
|
||||
token, err := connector.SaveFeedRecord(modules)
|
||||
token, err := connector.SaveFeedRecord(app, modules)
|
||||
if err != nil {
|
||||
slog.Error("Failed to save feed", "error", err)
|
||||
return "", err
|
||||
|
||||
Reference in New Issue
Block a user