From e7208060fbbb7eaead38d1797bd8ce197289818c Mon Sep 17 00:00:00 2001 From: Yege1893 <yannick.ege@web.de> Date: Mon, 19 Jun 2023 16:41:11 +0200 Subject: [PATCH] order handling --- src/highlanderticketing/handler/order.go | 24 ++++++++++++++++++++++-- src/highlanderticketing/main.go | 1 + src/highlanderticketing/service/order.go | 8 ++------ 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/highlanderticketing/handler/order.go b/src/highlanderticketing/handler/order.go index 72b034f..dc6cd1f 100644 --- a/src/highlanderticketing/handler/order.go +++ b/src/highlanderticketing/handler/order.go @@ -15,7 +15,7 @@ func AddMatchOrder(w http.ResponseWriter, r *http.Request) { http.Error(w, err.Error(), http.StatusBadRequest) return } - order, err := getMatchOrder(r) + order, err := getOrder(r) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return @@ -28,9 +28,29 @@ func AddMatchOrder(w http.ResponseWriter, r *http.Request) { } sendJson(w, order) +} +func AddTravelOrder(w http.ResponseWriter, r *http.Request) { + id, err := getID(r) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + order, err := getOrder(r) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + err = service.AddTravelOrder(id, order) + if err != nil { + log.Errorf("Failure adding donation to campaign with ID %v: %v", id, err) + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + sendJson(w, order) + } -func getMatchOrder(r *http.Request) (*model.Order, error) { +func getOrder(r *http.Request) (*model.Order, error) { var order model.Order err := json.NewDecoder(r.Body).Decode(&order) if err != nil { diff --git a/src/highlanderticketing/main.go b/src/highlanderticketing/main.go index 3889c23..c05efbe 100644 --- a/src/highlanderticketing/main.go +++ b/src/highlanderticketing/main.go @@ -25,6 +25,7 @@ func main() { router.HandleFunc("/match/{id}", handler.UpdateMatch).Methods("PUT") router.HandleFunc("/match/{id}", handler.DeleteMatch).Methods("DELETE") router.HandleFunc("/match/{id}/matchorder", handler.AddMatchOrder).Methods("POST") + router.HandleFunc("/match/{id}/travelorder", handler.AddTravelOrder).Methods("POST") if err := http.ListenAndServe(":8000", router); err != nil { log.Fatal(err) } diff --git a/src/highlanderticketing/service/order.go b/src/highlanderticketing/service/order.go index c8ac81a..f2f2f43 100644 --- a/src/highlanderticketing/service/order.go +++ b/src/highlanderticketing/service/order.go @@ -10,7 +10,6 @@ import ( "go.mongodb.org/mongo-driver/bson/primitive" ) -// noch testen func AddMatchOrder(matchID primitive.ObjectID, order *model.Order) error { filter := bson.D{primitive.E{Key: "_id", Value: matchID}} order.ID = primitive.NewObjectID() @@ -39,6 +38,7 @@ func AddMatchOrder(matchID primitive.ObjectID, order *model.Order) error { func AddTravelOrder(matchID primitive.ObjectID, order *model.Order) error { filter := bson.D{primitive.E{Key: "_id", Value: matchID}} + order.ID = primitive.NewObjectID() updater := bson.M{"$push": bson.M{"travel.orders": order}} @@ -59,10 +59,6 @@ func AddTravelOrder(matchID primitive.ObjectID, order *model.Order) error { return nil } - -func UpdateOrder() { - -} -func DeleteOrder() { +func CancelOrder() { } -- GitLab