2024-03-04 10:03:40 +01:00
|
|
|
package util
|
|
|
|
|
|
|
|
import (
|
|
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Person struct {
|
|
|
|
ID primitive.ObjectID `bson:"_id,omitempty"`
|
|
|
|
Name string `bson:"name"`
|
|
|
|
Age int `bson:"age,omitempty" json:"age,omitempty"`
|
|
|
|
Email string `bson:"email,omitempty" json:"email,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type Debt struct {
|
|
|
|
ID primitive.ObjectID `bson:"_id,omitempty"`
|
|
|
|
PersonID primitive.ObjectID `bson:"fk_pid"`
|
|
|
|
Amount int `bson:"amount"`
|
2024-03-04 13:29:36 +00:00
|
|
|
Description string `bson:"description,omitempty" json:"description,omitempty"`
|
2024-03-04 10:03:40 +01:00
|
|
|
Datetime time.Time `bson:"datetime"`
|
|
|
|
}
|
|
|
|
type PersonWithDebts struct {
|
|
|
|
Person Person `json:"person"`
|
|
|
|
Debts []Debt `json:"debts"`
|
|
|
|
}
|
2024-04-05 13:23:48 +02:00
|
|
|
|
|
|
|
// Spieleladen repräsentiert die Datenstruktur für die MongoDB-Sammlung "spielelaeden"
|
|
|
|
type Spieleladen struct {
|
|
|
|
ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
|
|
|
|
Name string `bson:"Name,omitempty" json:"Name,omitempty"`
|
|
|
|
Adresse string `bson:"Adresse,omitempty" json:"Adresse,omitempty"`
|
|
|
|
Telefonnummer string `bson:"Telefonnummer,omitempty" json:"Telefonnummer,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// Spiel repräsentiert die Datenstruktur für die MongoDB-Sammlung "spiele"
|
|
|
|
type Spiel struct {
|
|
|
|
ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
|
|
|
|
Laeden []primitive.ObjectID `bson:"Laeden,omitempty" json:"Laeden,omitempty"`
|
|
|
|
Titel string `bson:"Titel,omitempty" json:"Titel,omitempty"`
|
|
|
|
Erscheinungsdatum time.Time `bson:"Erscheinungsdatum,omitempty" json:"Erscheinungsdatum,omitempty"`
|
|
|
|
Publisher string `bson:"Publisher,omitempty" json:"Publisher,omitempty"`
|
|
|
|
Genre string `bson:"Genre,omitempty" json:"Genre,omitempty"`
|
|
|
|
Plattform string `bson:"Plattform,omitempty" json:"Plattform,omitempty"`
|
|
|
|
Bewertung int `bson:"Bewertung,omitempty" json:"Bewertung,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// SpieleMitLaden repräsentiert die Datenstruktur für die MongoDB-Sammlung "spiele"
|
|
|
|
type SpieleMitLaden struct {
|
|
|
|
ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
|
|
|
|
Laeden []Spieleladen `json:"Laeden,omitempty"`
|
|
|
|
LaedenId []primitive.ObjectID `bson:"Laeden,omitempty"`
|
|
|
|
Titel string `bson:"Titel,omitempty" json:"Titel,omitempty"`
|
|
|
|
Erscheinungsdatum time.Time `bson:"Erscheinungsdatum,omitempty" json:"Erscheinungsdatum,omitempty"`
|
|
|
|
Publisher string `bson:"Publisher,omitempty" json:"Publisher,omitempty"`
|
|
|
|
Genre string `bson:"Genre,omitempty" json:"Genre,omitempty"`
|
|
|
|
Plattform string `bson:"Plattform,omitempty" json:"Plattform,omitempty"`
|
|
|
|
Bewertung int `bson:"Bewertung,omitempty" json:"Bewertung,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s Spiel) ToSpieleMitLaden() SpieleMitLaden {
|
|
|
|
spielmitladen := SpieleMitLaden{
|
|
|
|
ID: s.ID,
|
|
|
|
Laeden: nil,
|
|
|
|
LaedenId: s.Laeden,
|
|
|
|
Titel: s.Titel,
|
|
|
|
Erscheinungsdatum: s.Erscheinungsdatum,
|
|
|
|
Publisher: s.Publisher,
|
|
|
|
Genre: s.Genre,
|
|
|
|
Plattform: s.Plattform,
|
|
|
|
Bewertung: s.Bewertung,
|
|
|
|
}
|
|
|
|
return spielmitladen
|
|
|
|
}
|