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

matches: create, deleteall, getall, getbyid

parent 80efb6c5
1 merge request!4Master
......@@ -11,6 +11,7 @@ import (
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/handler"
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/model"
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/service"
"go.mongodb.org/mongo-driver/bson/primitive"
)
func main() {
......@@ -19,7 +20,10 @@ func main() {
if err != nil {
log.Fatal(err)
}
var model1 = model.Match{1, 12, 12, true, "aaa"}
// Testen
objectID := primitive.NewObjectID()
var model1 = model.Match{ID: objectID, InitialTicketAmount: 1, AvailableTicketAmount: 1, AwayMatch: true, Location: "aaa"}
err1 := service.CreateMatch(&model1)
if err1 != nil {
fmt.Println(err)
......@@ -29,6 +33,16 @@ func main() {
fmt.Println(err)
}
fmt.Println(matches)
match, err := service.GetMatchByID(objectID)
if err != nil {
fmt.Println(err)
}
fmt.Println(match)
deleted := service.DeleteAllMatches()
if err != nil {
fmt.Println(deleted)
}
router.HandleFunc("/health", handler.Health).Methods("GET")
if err := http.ListenAndServe(":8000", router); err != nil {
log.Fatal(err)
......
package model
import "go.mongodb.org/mongo-driver/bson/primitive"
type Match struct {
ID uint
InitialTicketAmount int32
AvailableTicketAmount int32
AwayMatch bool
Location string
ID primitive.ObjectID `bson:"_id"`
InitialTicketAmount int32 `bson:"initial_ticket_amount"`
AvailableTicketAmount int32 `bson:"available_ticket_amount"`
AwayMatch bool `bson:"away_match"`
Location string `bson:"location"`
//Date date.Date
//Travel Travel
//Travel Travel
//Orders []Order
}
......
......@@ -6,6 +6,7 @@ import (
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/db"
"gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/model"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
)
......@@ -23,6 +24,28 @@ func CreateMatch(match *model.Match) error {
return nil
}
// noch testen
func CreateMatches(list *[]model.Match) error {
insertableList := make([]interface{}, len(*list))
for i, v := range *list {
insertableList[i] = v
}
client, err := db.GetMongoClient()
if err != nil {
return err
}
collection := client.Database(db.DB).Collection(db.MATCHES)
_, err = collection.InsertMany(context.TODO(), insertableList)
if err != nil {
return err
}
return nil
}
func GetAllMatches() ([]model.Match, error) {
filter := bson.D{{}}
matches := []model.Match{}
......@@ -53,3 +76,34 @@ func GetAllMatches() ([]model.Match, error) {
return matches, nil
}
func GetMatchByID(matchID primitive.ObjectID) (*model.Match, error) {
result := model.Match{}
filter := bson.D{primitive.E{Key: "_id", Value: matchID}}
client, err := db.GetMongoClient()
if err != nil {
return &result, err
}
collection := client.Database(db.DB).Collection(db.MATCHES)
err = collection.FindOne(context.TODO(), filter).Decode(&result)
if err != nil {
return &result, err
}
return &result, nil
}
func DeleteAllMatches() error {
selector := bson.D{{}}
client, err := db.GetMongoClient()
if err != nil {
return err
}
collection := client.Database(db.DB).Collection(db.MATCHES)
_, err = collection.DeleteMany(context.TODO(), selector)
if err != nil {
return err
}
return nil
}
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