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"` Description string `bson:"description,omitempty" json:"description,omitempty"` Datetime time.Time `bson:"datetime"` } type PersonWithDebts struct { Person Person `json:"person"` Debts []Debt `json:"debts"` } // 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 }