Skip to content
Snippets Groups Projects
Commit ff190403 authored by Yege1893's avatar Yege1893
Browse files

update match

parent 47a03c7b
No related branches found
No related tags found
1 merge request!4Master
......@@ -23,8 +23,8 @@ func main() {
// Testen
objectID := primitive.NewObjectID()
var model1 = model.Match{ID: objectID, InitialTicketAmount: 1, AvailableTicketAmount: 1, AwayMatch: true, Location: "aaa"}
err1 := service.CreateMatch(&model1)
var initialMatch = model.Match{ID: objectID, InitialTicketAmount: 1, AvailableTicketAmount: 1, AwayMatch: true, Location: "Stuttgart"}
err1 := service.CreateMatch(&initialMatch)
if err1 != nil {
fmt.Println(err)
}
......@@ -33,6 +33,13 @@ func main() {
fmt.Println(err)
}
fmt.Println(matches)
var updateModel = model.Match{ID: objectID, InitialTicketAmount: 1, AvailableTicketAmount: 1, AwayMatch: true, Location: "Schalke"}
updatedmatch, err := service.UpdateMatch(objectID, &updateModel)
if err != nil {
fmt.Println(err)
}
fmt.Println(updatedmatch)
match, err := service.GetMatchByID(objectID)
if err != nil {
fmt.Println(err)
......@@ -43,6 +50,8 @@ func main() {
fmt.Println(deleted)
}
// ende tests
router.HandleFunc("/health", handler.Health).Methods("GET")
if err := http.ListenAndServe(":8000", router); err != nil {
log.Fatal(err)
......
......@@ -2,6 +2,7 @@ package service
import (
"context"
"fmt"
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/db"
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/model"
......@@ -46,6 +47,46 @@ func CreateMatches(list *[]model.Match) error {
return nil
}
func UpdateMatch(matchID primitive.ObjectID, match *model.Match) (*model.Match, error) {
result := model.Match{}
existingMatch, err := GetMatchByID(matchID)
if existingMatch == nil || err != nil {
return existingMatch, err
}
filter := bson.D{primitive.E{Key: "_id", Value: matchID}}
updater := bson.D{primitive.E{Key: "$set", Value: bson.D{
primitive.E{Key: "initial_ticket_amount", Value: match.InitialTicketAmount},
primitive.E{Key: "available_ticket_amount", Value: match.AvailableTicketAmount},
primitive.E{Key: "away_match", Value: match.AwayMatch},
primitive.E{Key: "location", Value: match.Location},
//primitive.E{Key: "date", Value: existingMatch.Date},
}}}
client, err := db.GetMongoClient()
if err != nil {
return nil, err
}
collection := client.Database(db.DB).Collection(db.MATCHES)
updateResult, err := collection.UpdateOne(context.TODO(), filter, updater)
if err != nil {
return nil, err
}
if updateResult.ModifiedCount == 0 {
return nil, fmt.Errorf("no document was updated")
}
err = collection.FindOne(context.TODO(), filter).Decode(&result)
if err != nil {
return nil, err
}
return &result, nil
}
func GetAllMatches() ([]model.Match, error) {
filter := bson.D{{}}
matches := []model.Match{}
......@@ -94,6 +135,20 @@ func GetMatchByID(matchID primitive.ObjectID) (*model.Match, error) {
return &result, nil
}
func DeleteMatch(matchID primitive.ObjectID) error {
filter := bson.D{primitive.E{Key: "_id", Value: matchID}}
client, err := db.GetMongoClient()
if err != nil {
return err
}
collection := client.Database(db.DB).Collection(db.MATCHES)
_, err = collection.DeleteOne(context.TODO(), filter)
if err != nil {
return err
}
return nil
}
func DeleteAllMatches() error {
selector := bson.D{{}}
client, err := db.GetMongoClient()
......
package service
package service
package service
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment