SpieleLaden-NoSQL/src/util/structs.go

74 lines
3.3 KiB
Go
Raw Normal View History

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
}