feat:#44 updated grpc and function for error handling

This commit is contained in:
Elmar Kresse
2024-07-13 19:18:14 +02:00
parent 5f713c4dff
commit c0e09c47bf
8 changed files with 36 additions and 17 deletions

View File

@@ -19,6 +19,7 @@ package connector
import (
"encoding/json"
"errors"
"fmt"
"htwkalender/ical/model"
"log/slog"
)
@@ -29,9 +30,9 @@ func GetFeedByToken(host string, token string) (model.FeedRecord, error) {
// /api/collections/feeds/records/{id}
response, err := RequestApi(host, "/api/collections/feeds/records/"+token)
if err != nil {
if err != nil || response.StatusCode() != 200 {
slog.Error("Failed to get feed record", "error", err)
return model.FeedRecord{}, err
return model.FeedRecord{}, fmt.Errorf("failed to get feed record")
}
// parse the response body json to FeedRecord struct

View File

@@ -64,5 +64,6 @@ func protoToFeed(feed *pb.Feed) (model.FeedRecord, error) {
},
Retrieved: model.ToJSONTime(feed.Retrieved),
Modules: modules,
Deleted: feed.Deleted,
}, nil
}

View File

@@ -68,7 +68,7 @@ func Feed(app model.AppType, token string) (string, error) {
func FeedRecord(app model.AppType, token string) (model.FeedRecord, error) {
feedRecord, err := connector.GetFeedByToken(app.DataManagerURL, token)
if err != nil || feedRecord.Deleted {
if err != nil {
return model.FeedRecord{}, err
}

View File

@@ -79,8 +79,12 @@ func AddFeedRoutes(app model.AppType) {
token := c.Params("token")
results, err := ical.FeedRecord(app, token)
if results.Deleted {
return c.SendStatus(fiber.StatusNotFound)
}
if err != nil {
slog.Error("Failed to get feed", "error", err, "token", token)
slog.Error("Failed to get feed record", "error", err, "token", token)
return c.SendStatus(fiber.StatusBadRequest)
}
c.Response().Header.Set("Content-type", "application/json; charset=UTF-8")