package model import ( "time" "go.mongodb.org/mongo-driver/bson/primitive" ) type GameInfo struct { ID primitive.ObjectID `json:"id" bson:"_id"` Name string `json:"name" bson:"name"` Description string `json:"description" bson:"description"` Aliases []string `json:"aliases" bson:"aliases"` Developers []string `json:"developers" bson:"developers"` Publishers []string `json:"publishers" bson:"publishers"` IGDBID int `json:"igdb_id" bson:"igdb_id"` SteamID int `json:"steam_id" bson:"steam_id"` Cover string `json:"cover" bson:"cover"` Languages []string `json:"languages" bson:"languages"` Screenshots []string `json:"screenshots" bson:"screenshots"` GameIDs []primitive.ObjectID `json:"game_ids" bson:"games"` Games []*GameItem `json:"games" bson:"-"` CreatedAt time.Time `json:"created_at" bson:"created_at"` UpdatedAt time.Time `json:"updated_at" bson:"updated_at"` FirstReleaseDate time.Time `json:"first_release_date" bson:"first_release_date"` GameEngines []string `json:"game_engines" bson:"game_engines"` GameModes []string `json:"game_modes" bson:"game_modes"` Genres []string `json:"genres" bson:"genres"` Themes []string `json:"themes" bson:"themes"` Platforms []string `json:"platforms" bson:"platforms"` PlayerPerspectives []string `json:"player_perspectives" bson:"player_perspectives"` SimilarGames []int `json:"similar_games" bson:"similar_games"` Videos []string `json:"videos" bson:"videos"` Websites []string `json:"websites" bson:"websites"` Collections []GameCollection `json:"collections" bson:"collections"` } type GameCollection struct { Games []int `json:"games"` Name string `json:"name"` } type GameItem struct { ID primitive.ObjectID `json:"id" bson:"_id"` Name string `json:"speculative_name" bson:"name"` RawName string `json:"raw_name,omitempty" bson:"raw_name"` Download string `json:"download_link,omitempty" bson:"download"` Size string `json:"size,omitempty" bson:"size"` Url string `json:"url" bson:"url"` Password string `json:"password,omitempty" bson:"password"` Author string `json:"author,omitempty" bson:"author"` Platform string `json:"platform,omitempty" bson:"platform"` UpdateFlag string `json:"-" bson:"update_flag,omitempty"` CreatedAt time.Time `json:"created_at" bson:"created_at"` UpdatedAt time.Time `json:"updated_at" bson:"updated_at"` }