model

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 17, 2024 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GOGAppDetail

type GOGAppDetail struct {
	ID                         int    `json:"id"`
	Title                      string `json:"title"`
	PurchaseLink               string `json:"purchase_link"`
	Slug                       string `json:"slug"`
	ContentSystemCompatibility struct {
		Windows bool `json:"windows"`
		Osx     bool `json:"osx"`
		Linux   bool `json:"linux"`
	} `json:"content_system_compatibility"`
	Languages map[string]string `json:"languages"`
	Links     struct {
		PurchaseLink string `json:"purchase_link"`
		ProductCard  string `json:"product_card"`
		Support      string `json:"support"`
		Forum        string `json:"forum"`
	} `json:"links"`
	InDevelopment struct {
		Active bool        `json:"active"`
		Until  interface{} `json:"until"`
	} `json:"in_development"`
	IsSecret      bool   `json:"is_secret"`
	IsInstallable bool   `json:"is_installable"`
	GameType      string `json:"game_type"`
	IsPreOrder    bool   `json:"is_pre_order"`
	ReleaseDate   string `json:"release_date"`
	Images        struct {
		Background          string `json:"background"`
		Logo                string `json:"logo"`
		Logo2X              string `json:"logo2x"`
		Icon                string `json:"icon"`
		SidebarIcon         string `json:"sidebarIcon"`
		SidebarIcon2X       string `json:"sidebarIcon2x"`
		MenuNotificationAv  string `json:"menuNotificationAv"`
		MenuNotificationAv2 string `json:"menuNotificationAv2"`
	} `json:"images"`
	Dlcs      any `json:"dlcs"`
	Downloads struct {
		Installers []struct {
			ID           string `json:"id"`
			Name         string `json:"name"`
			Os           string `json:"os"`
			Language     string `json:"language"`
			LanguageFull string `json:"language_full"`
			Version      string `json:"version"`
			TotalSize    int    `json:"total_size"`
			Files        []struct {
				ID       string `json:"id"`
				Size     int    `json:"size"`
				Downlink string `json:"downlink"`
			} `json:"files"`
		} `json:"installers"`
		Patches       []interface{} `json:"patches"`
		LanguagePacks []interface{} `json:"language_packs"`
		BonusContent  []struct {
			ID        int    `json:"id"`
			Name      string `json:"name"`
			Type      string `json:"type"`
			Count     int    `json:"count"`
			TotalSize int    `json:"total_size"`
			Files     []struct {
				ID       int    `json:"id"`
				Size     int    `json:"size"`
				Downlink string `json:"downlink"`
			} `json:"files"`
		} `json:"bonus_content"`
	} `json:"downloads"`
	ExpandedDlcs []interface{} `json:"expanded_dlcs"`
	Description  struct {
		Lead             string `json:"lead"`
		Full             string `json:"full"`
		WhatsCoolAboutIt string `json:"whats_cool_about_it"`
	} `json:"description"`
	Screenshots []struct {
		ImageID              string `json:"image_id"`
		FormatterTemplateURL string `json:"formatter_template_url"`
		FormattedImages      []struct {
			FormatterName string `json:"formatter_name"`
			ImageURL      string `json:"image_url"`
		} `json:"formatted_images"`
	} `json:"screenshots"`
	Videos          []interface{} `json:"videos"`
	RelatedProducts []interface{} `json:"related_products"`
	Changelog       string        `json:"changelog"`
}

type GOGSearch

type GOGSearch struct {
	Products []struct {
		CustomAttributes []interface{} `json:"customAttributes"`
		Developer        string        `json:"developer"`
		Publisher        string        `json:"publisher"`
		Gallery          []string      `json:"gallery"`
		Video            struct {
			ID       string `json:"id"`
			Provider string `json:"provider"`
		} `json:"video"`
		SupportedOperatingSystems []string    `json:"supportedOperatingSystems"`
		Genres                    []string    `json:"genres"`
		GlobalReleaseDate         interface{} `json:"globalReleaseDate"`
		IsTBA                     bool        `json:"isTBA"`
		Price                     struct {
			Currency                   string      `json:"currency"`
			Amount                     string      `json:"amount"`
			BaseAmount                 string      `json:"baseAmount"`
			FinalAmount                string      `json:"finalAmount"`
			IsDiscounted               bool        `json:"isDiscounted"`
			DiscountPercentage         int         `json:"discountPercentage"`
			DiscountDifference         string      `json:"discountDifference"`
			Symbol                     string      `json:"symbol"`
			IsFree                     bool        `json:"isFree"`
			Discount                   int         `json:"discount"`
			IsBonusStoreCreditIncluded bool        `json:"isBonusStoreCreditIncluded"`
			BonusStoreCreditAmount     string      `json:"bonusStoreCreditAmount"`
			PromoID                    interface{} `json:"promoId"`
		} `json:"price"`
		IsDiscounted    bool        `json:"isDiscounted"`
		IsInDevelopment bool        `json:"isInDevelopment"`
		ID              int         `json:"id"`
		ReleaseDate     interface{} `json:"releaseDate"`
		Availability    struct {
			IsAvailable          bool `json:"isAvailable"`
			IsAvailableInAccount bool `json:"isAvailableInAccount"`
		} `json:"availability"`
		SalesVisibility struct {
			IsActive   bool `json:"isActive"`
			FromObject struct {
				Date         string `json:"date"`
				TimezoneType int    `json:"timezone_type"`
				Timezone     string `json:"timezone"`
			} `json:"fromObject"`
			From     int `json:"from"`
			ToObject struct {
				Date         string `json:"date"`
				TimezoneType int    `json:"timezone_type"`
				Timezone     string `json:"timezone"`
			} `json:"toObject"`
			To int `json:"to"`
		} `json:"salesVisibility"`
		Buyable    bool   `json:"buyable"`
		Title      string `json:"title"`
		Image      string `json:"image"`
		URL        string `json:"url"`
		SupportURL string `json:"supportUrl"`
		ForumURL   string `json:"forumUrl"`
		WorksOn    struct {
			Windows bool `json:"Windows"`
			Mac     bool `json:"Mac"`
			Linux   bool `json:"Linux"`
		} `json:"worksOn"`
		Category         string        `json:"category"`
		OriginalCategory string        `json:"originalCategory"`
		Rating           int           `json:"rating"`
		Type             int           `json:"type"`
		IsComingSoon     bool          `json:"isComingSoon"`
		IsPriceVisible   bool          `json:"isPriceVisible"`
		IsMovie          bool          `json:"isMovie"`
		IsGame           bool          `json:"isGame"`
		Slug             string        `json:"slug"`
		IsWishlistable   bool          `json:"isWishlistable"`
		ExtraInfo        []interface{} `json:"extraInfo"`
		AgeLimit         int           `json:"ageLimit"`
	} `json:"products"`
	Ts               interface{} `json:"ts"`
	Page             int         `json:"page"`
	TotalPages       int         `json:"totalPages"`
	TotalResults     string      `json:"totalResults"`
	TotalGamesFound  int         `json:"totalGamesFound"`
	TotalMoviesFound int         `json:"totalMoviesFound"`
}

type GameInfo

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:"game_downloads" bson:"-"`
	CreatedAt   time.Time            `json:"created_at" bson:"created_at"`
	UpdatedAt   time.Time            `json:"updated_at" bson:"updated_at"`
}

type GameItem

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"`
	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"`
}

type IGDBCompanies

type IGDBCompanies []*IGDBCompany

type IGDBCompany

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"`
	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 IGDBGameDetail

type IGDBGameDetail struct {
	ID               int   `json:"id,omitempty"`
	ParentGame       int   `json:"parent_game,omitempty"`
	AgeRatings       []int `json:"age_ratings,omitempty"`
	AlternativeNames []struct {
		Name string `json:"name,omitempty"`
	} `json:"alternative_names,omitempty"`
	Category int `json:"category,omitempty"`
	Cover    struct {
		URL string `json:"url,omitempty"`
	} `json:"cover,omitempty"`
	CreatedAt         int   `json:"created_at,omitempty"`
	ExternalGames     []int `json:"external_games,omitempty"`
	FirstReleaseDate  int   `json:"first_release_date,omitempty"`
	Franchises        []int `json:"franchises,omitempty"`
	GameModes         []int `json:"game_modes,omitempty"`
	Genres            []int `json:"genres,omitempty"`
	InvolvedCompanies []struct {
		Company   int  `json:"company,omitempty"`
		Developer bool `json:"developer,omitempty"`
		Publisher bool `json:"publisher,omitempty"`
	} `json:"involved_companies,omitempty"`
	Name               string  `json:"name,omitempty"`
	Platforms          []int   `json:"platforms,omitempty"`
	PlayerPerspectives []int   `json:"player_perspectives,omitempty"`
	Rating             float64 `json:"rating,omitempty"`
	RatingCount        int     `json:"rating_count,omitempty"`
	ReleaseDates       []int   `json:"release_dates,omitempty"`
	Screenshots        []struct {
		URL string `json:"url,omitempty"`
	} `json:"screenshots,omitempty"`
	SimilarGames          []int   `json:"similar_games,omitempty"`
	Slug                  string  `json:"slug,omitempty"`
	Summary               string  `json:"summary,omitempty"`
	Tags                  []int   `json:"tags,omitempty"`
	Themes                []int   `json:"themes,omitempty"`
	TotalRating           float64 `json:"total_rating,omitempty"`
	TotalRatingCount      int     `json:"total_rating_count,omitempty"`
	UpdatedAt             int     `json:"updated_at,omitempty"`
	URL                   string  `json:"url,omitempty"`
	VersionParent         int     `json:"version_parent,omitempty"`
	VersionTitle          string  `json:"version_title,omitempty"`
	Checksum              string  `json:"checksum,omitempty"`
	Websites              []int   `json:"websites,omitempty"`
	GameLocalizations     []int   `json:"game_localizations,omitempty"`
	AggregatedRating      float64 `json:"aggregated_rating,omitempty"`
	AggregatedRatingCount int     `json:"aggregated_rating_count,omitempty"`
	Artworks              []int   `json:"artworks,omitempty"`
	Bundles               []int   `json:"bundles,omitempty"`
	Collection            int     `json:"collection,omitempty"`
	GameEngines           []int   `json:"game_engines,omitempty"`
	Keywords              []int   `json:"keywords,omitempty"`
	MultiplayerModes      []int   `json:"multiplayer_modes,omitempty"`
	StandaloneExpansions  []int   `json:"standalone_expansions,omitempty"`
	Storyline             string  `json:"storyline,omitempty"`
	Videos                []int   `json:"videos,omitempty"`
	LanguageSupports      []struct {
		Language            int `json:"language,omitempty"`
		LanguageSupportType int `json:"language_support_type,omitempty"`
	} `json:"language_supports,omitempty"`
	Collections []int `json:"collections,omitempty"`
}

type IGDBGameDetails

type IGDBGameDetails []*IGDBGameDetail

type IGDBSearch

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

type IGDBSearches []*IGDBSearch

type Steam250Item

type Steam250Item struct {
	Name    string
	SteamID int
}

type SteamAppDetail

type SteamAppDetail struct {
	Success bool `json:"success"`
	Data    struct {
		Type                string        `json:"type"`
		Name                string        `json:"name"`
		SteamAppid          int           `json:"steam_appid"`
		RequiredAge         any           `json:"required_age"`
		IsFree              bool          `json:"is_free"`
		ControllerSupport   string        `json:"controller_support"`
		DetailedDescription string        `json:"detailed_description"`
		AboutTheGame        string        `json:"about_the_game"`
		ShortDescription    string        `json:"short_description"`
		SupportedLanguages  string        `json:"supported_languages"`
		HeaderImage         string        `json:"header_image"`
		CapsuleImage        string        `json:"capsule_image"`
		CapsuleImagev5      string        `json:"capsule_imagev5"`
		Website             string        `json:"website"`
		PcRequirements      any           `json:"pc_requirements"`
		MacRequirements     any           `json:"mac_requirements"`
		LinuxRequirements   any           `json:"linux_requirements"`
		LegalNotice         string        `json:"legal_notice"`
		Developers          []string      `json:"developers"`
		Publishers          []string      `json:"publishers"`
		PackageGroups       []interface{} `json:"package_groups"`
		Platforms           struct {
			Windows bool `json:"windows"`
			Mac     bool `json:"mac"`
			Linux   bool `json:"linux"`
		} `json:"platforms"`
		Metacritic struct {
			Score int    `json:"score"`
			URL   string `json:"url"`
		} `json:"metacritic"`
		Categories []struct {
			ID          int    `json:"id"`
			Description string `json:"description"`
		} `json:"categories"`
		Genres []struct {
			ID          string `json:"id"`
			Description string `json:"description"`
		} `json:"genres"`
		Screenshots []struct {
			ID            int    `json:"id"`
			PathThumbnail string `json:"path_thumbnail"`
			PathFull      string `json:"path_full"`
		} `json:"screenshots"`
		Movies []struct {
			ID        int    `json:"id"`
			Name      string `json:"name"`
			Thumbnail string `json:"thumbnail"`
			Webm      struct {
				Num480 string `json:"480"`
				Max    string `json:"max"`
			} `json:"webm"`
			Mp4 struct {
				Num480 string `json:"480"`
				Max    string `json:"max"`
			} `json:"mp4"`
			Highlight bool `json:"highlight"`
		} `json:"movies"`
		Recommendations struct {
			Total int `json:"total"`
		} `json:"recommendations"`
		Achievements struct {
			Total       int `json:"total"`
			Highlighted []struct {
				Name string `json:"name"`
				Path string `json:"path"`
			} `json:"highlighted"`
		} `json:"achievements"`
		ReleaseDate struct {
			ComingSoon bool   `json:"coming_soon"`
			Date       string `json:"date"`
		} `json:"release_date"`
		SupportInfo struct {
			URL   string `json:"url"`
			Email string `json:"email"`
		} `json:"support_info"`
		Background         string `json:"background"`
		BackgroundRaw      string `json:"background_raw"`
		ContentDescriptors struct {
			Ids   []interface{} `json:"ids"`
			Notes interface{}   `json:"notes"`
		} `json:"content_descriptors"`
		Ratings struct {
			Esrb struct {
				Rating      string `json:"rating"`
				Descriptors string `json:"descriptors"`
				UseAgeGate  string `json:"use_age_gate"`
				RequiredAge string `json:"required_age"`
			} `json:"esrb"`
			Pegi struct {
				Rating      string `json:"rating"`
				Descriptors string `json:"descriptors"`
			} `json:"pegi"`
			Oflc struct {
				Rating      string `json:"rating"`
				Descriptors string `json:"descriptors"`
			} `json:"oflc"`
		} `json:"ratings"`
	} `json:"data"`
}

type SteamPackageDetail

type SteamPackageDetail struct {
	Success bool `json:"success"`
	Data    struct {
		Name        string `json:"name"`
		PageContent string `json:"page_content"`
		PageImage   string `json:"page_image"`
		HeaderImage string `json:"header_image"`
		SmallLogo   string `json:"small_logo"`
		Apps        []struct {
			ID   int    `json:"id"`
			Name string `json:"name"`
		} `json:"apps"`
		Price struct {
			Currency        string `json:"currency"`
			Initial         int    `json:"initial"`
			Final           int    `json:"final"`
			DiscountPercent int    `json:"discount_percent"`
			Individual      int    `json:"individual"`
		} `json:"price"`
		Platforms struct {
			Windows bool `json:"windows"`
			Mac     bool `json:"mac"`
			Linux   bool `json:"linux"`
		} `json:"platforms"`
		Controller struct {
			FullGamepad bool `json:"full_gamepad"`
		} `json:"controller"`
		ReleaseDate struct {
			ComingSoon bool   `json:"coming_soon"`
			Date       string `json:"date"`
		} `json:"release_date"`
	} `json:"data"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL