mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-09 21:27:45 +02:00
feat:#44 updated grpc and function for error handling
This commit is contained in:
@@ -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
|
||||
|
@@ -64,5 +64,6 @@ func protoToFeed(feed *pb.Feed) (model.FeedRecord, error) {
|
||||
},
|
||||
Retrieved: model.ToJSONTime(feed.Retrieved),
|
||||
Modules: modules,
|
||||
Deleted: feed.Deleted,
|
||||
}, nil
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
||||
|
@@ -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")
|
||||
|
Reference in New Issue
Block a user