pcgamedb/model/igdb.go
2024-12-23 00:28:55 +08:00

216 lines
7.5 KiB
Go

package model
type IGDBGameDetail struct {
ID int `json:"id"`
AgeRatings []int `json:"age_ratings"`
AggregatedRating float64 `json:"aggregated_rating"`
AggregatedRatingCount int `json:"aggregated_rating_count"`
Artworks []int `json:"artworks"`
Category int `json:"category"`
Cover struct {
ID int `json:"id"`
AlphaChannel bool `json:"alpha_channel"`
Animated bool `json:"animated"`
Game int `json:"game"`
Height int `json:"height"`
ImageID string `json:"image_id"`
URL string `json:"url"`
Width int `json:"width"`
Checksum string `json:"checksum"`
} `json:"cover"`
CreatedAt int `json:"created_at"`
Dlcs []int `json:"dlcs"`
ExternalGames []int `json:"external_games"`
FirstReleaseDate int `json:"first_release_date"`
GameEngines []struct {
ID int `json:"id"`
Companies []int `json:"companies"`
CreatedAt int `json:"created_at"`
Logo int `json:"logo"`
Name string `json:"name"`
Platforms []int `json:"platforms"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Checksum string `json:"checksum"`
} `json:"game_engines"`
GameModes []struct {
ID int `json:"id"`
CreatedAt int `json:"created_at"`
Name string `json:"name"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Checksum string `json:"checksum"`
} `json:"game_modes"`
Genres []struct {
ID int `json:"id"`
CreatedAt int `json:"created_at"`
Name string `json:"name"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Checksum string `json:"checksum"`
} `json:"genres"`
Hypes int `json:"hypes"`
InvolvedCompanies []struct {
ID int `json:"id"`
Company int `json:"company"`
CreatedAt int `json:"created_at"`
Developer bool `json:"developer"`
Game int `json:"game"`
Porting bool `json:"porting"`
Publisher bool `json:"publisher"`
Supporting bool `json:"supporting"`
UpdatedAt int `json:"updated_at"`
Checksum string `json:"checksum"`
} `json:"involved_companies"`
Name string `json:"name"`
Platforms []struct {
ID int `json:"id"`
Abbreviation string `json:"abbreviation"`
AlternativeName string `json:"alternative_name"`
Category int `json:"category"`
CreatedAt int `json:"created_at"`
Name string `json:"name"`
PlatformLogo int `json:"platform_logo"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Versions []int `json:"versions"`
Websites []int `json:"websites"`
Checksum string `json:"checksum"`
Generation int `json:"generation,omitempty"`
PlatformFamily int `json:"platform_family,omitempty"`
Summary string `json:"summary,omitempty"`
} `json:"platforms"`
PlayerPerspectives []struct {
ID int `json:"id"`
CreatedAt int `json:"created_at"`
Name string `json:"name"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Checksum string `json:"checksum"`
} `json:"player_perspectives"`
Rating float64 `json:"rating"`
RatingCount int `json:"rating_count"`
ReleaseDates []struct {
ID int `json:"id"`
Category int `json:"category"`
CreatedAt int `json:"created_at"`
Date int `json:"date"`
Game int `json:"game"`
Human string `json:"human"`
M int `json:"m"`
Platform int `json:"platform"`
Region int `json:"region"`
UpdatedAt int `json:"updated_at"`
Y int `json:"y"`
Checksum string `json:"checksum"`
} `json:"release_dates"`
Screenshots []struct {
ID int `json:"id"`
Game int `json:"game"`
Height int `json:"height"`
ImageID string `json:"image_id"`
URL string `json:"url"`
Width int `json:"width"`
Checksum string `json:"checksum"`
AlphaChannel bool `json:"alpha_channel,omitempty"`
Animated bool `json:"animated,omitempty"`
} `json:"screenshots"`
SimilarGames []int `json:"similar_games"`
Slug string `json:"slug"`
Summary string `json:"summary"`
Tags []int `json:"tags"`
Themes []struct {
ID int `json:"id"`
CreatedAt int `json:"created_at"`
Name string `json:"name"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Checksum string `json:"checksum"`
} `json:"themes"`
TotalRating float64 `json:"total_rating"`
TotalRatingCount int `json:"total_rating_count"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Videos []struct {
ID int `json:"id"`
Game int `json:"game"`
Name string `json:"name"`
VideoID string `json:"video_id"`
Checksum string `json:"checksum"`
} `json:"videos"`
Websites []struct {
ID int `json:"id"`
Category int `json:"category"`
Game int `json:"game"`
Trusted bool `json:"trusted"`
URL string `json:"url"`
Checksum string `json:"checksum"`
} `json:"websites"`
Checksum string `json:"checksum"`
LanguageSupports []struct {
ID int `json:"id"`
Game int `json:"game"`
Language int `json:"language"`
LanguageSupportType int `json:"language_support_type"`
CreatedAt int `json:"created_at"`
UpdatedAt int `json:"updated_at"`
Checksum string `json:"checksum"`
} `json:"language_supports"`
Collections []struct {
ID int `json:"id"`
CreatedAt int `json:"created_at"`
Games []int `json:"games"`
Name string `json:"name"`
Slug string `json:"slug"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Checksum string `json:"checksum"`
Type int `json:"type"`
} `json:"collections"`
VersionParent int `json:"version_parent,omitempty"`
VersionTitle string `json:"version_title,omitempty"`
AlternativeNames []struct {
Name string `json:"name,omitempty"`
} `json:"alternative_names,omitempty"`
}
type IGDBGameDetails []*IGDBGameDetail
type IGDBCompany struct {
ID int `json:"id"`
ChangeDateCategory int `json:"change_date_category"`
Country int `json:"country"`
CreatedAt int `json:"created_at"`
Description string `json:"description"`
Developed []int `json:"developed"`
Logo int `json:"logo"`
Name string `json:"name"`
Parent int `json:"parent"`
Published []int `json:"published"`
Slug string `json:"slug"`
StartDate int `json:"start_date"`
StartDateCategory int `json:"start_date_category"`
UpdatedAt int `json:"updated_at"`
URL string `json:"url"`
Websites []int `json:"websites"`
Checksum string `json:"checksum"`
}
type IGDBCompanies []*IGDBCompany
type IGDBSearch struct {
ID int `json:"id"`
AlternativeName string `json:"alternative_name"`
Game int `json:"game"`
Name string `json:"name"`
PublishedAt int `json:"published_at"`
}
type IGDBSearches []*IGDBSearch