From 7aeb876463aea6f1a394aafdf0b508c4e4b51082 Mon Sep 17 00:00:00 2001 From: Simon Grimme Date: Tue, 10 Oct 2023 21:07:07 +0200 Subject: [PATCH] Update IGDB protobuf spec --- .../src/main/resources/proto/igdbapi.proto | 1040 +++++++++++------ 1 file changed, 653 insertions(+), 387 deletions(-) diff --git a/backend/src/main/resources/proto/igdbapi.proto b/backend/src/main/resources/proto/igdbapi.proto index 7e6078a..1fea700 100644 --- a/backend/src/main/resources/proto/igdbapi.proto +++ b/backend/src/main/resources/proto/igdbapi.proto @@ -4,8 +4,8 @@ package com.igdb.proto; import "google/protobuf/timestamp.proto"; -option java_outer_classname = "Igdb"; -//option java_multiple_files = true; // Must be true because of private access in files. +option java_outer_classname = "Igdb"; // Needed in order to be able to differentiate between Gameyfin and IGDB types in code (e.g. "Game" = Gameyfin, "Igdb.Game" = IGDB) +//option java_multiple_files = true; // Disabled because it clashes with java_outer_classname option optimize_for = CODE_SIZE; message Count { @@ -28,12 +28,12 @@ message AgeRatingResult { message AgeRating { uint64 id = 1; - AgeRatingCategoryEnum category = 2; - repeated AgeRatingContentDescription content_descriptions = 3; - AgeRatingRatingEnum rating = 4; - string rating_cover_url = 5; - string synopsis = 6; - string checksum = 7; + AgeRatingCategoryEnum category = 2; + repeated AgeRatingContentDescription content_descriptions = 3; + AgeRatingRatingEnum rating = 4; + string rating_cover_url = 5; + string synopsis = 6; + string checksum = 7; } @@ -71,24 +71,25 @@ enum AgeRatingRatingEnum { USK_0 = 18; USK_6 = 19; USK_12 = 20; - USK_18 = 21; - GRAC_ALL = 22; - GRAC_TWELVE = 23; - GRAC_FIFTEEN = 24; - GRAC_EIGHTEEN = 25; - GRAC_TESTING = 26; - CLASS_IND_L = 27; - CLASS_IND_TEN = 28; - CLASS_IND_TWELVE = 29; - CLASS_IND_FOURTEEN = 30; - CLASS_IND_SIXTEEN = 31; - CLASS_IND_EIGHTEEN = 32; - ACB_G = 33; - ACB_PG = 34; - ACB_M = 35; - ACB_MA15 = 36; - ACB_R18 = 37; - ACB_RC = 38; + USK_16 = 21; + USK_18 = 22; + GRAC_ALL = 23; + GRAC_TWELVE = 24; + GRAC_FIFTEEN = 25; + GRAC_EIGHTEEN = 26; + GRAC_TESTING = 27; + CLASS_IND_L = 28; + CLASS_IND_TEN = 29; + CLASS_IND_TWELVE = 30; + CLASS_IND_FOURTEEN = 31; + CLASS_IND_SIXTEEN = 32; + CLASS_IND_EIGHTEEN = 33; + ACB_G = 34; + ACB_PG = 35; + ACB_M = 36; + ACB_MA15 = 37; + ACB_R18 = 38; + ACB_RC = 39; } message AgeRatingContentDescriptionResult { @@ -97,9 +98,99 @@ message AgeRatingContentDescriptionResult { message AgeRatingContentDescription { uint64 id = 1; - AgeRatingRatingEnum category = 2; - string description = 3; - string checksum = 4; + AgeRatingContentDescriptionCategoryEnum category = 2; + string description = 3; + string checksum = 4; +} + + +enum AgeRatingContentDescriptionCategoryEnum { + AGERATINGCONTENTDESCRIPTION_CATEGORY_NULL = 0; + ESRB_ALCOHOL_REFERENCE = 1; + ESRB_ANIMATED_BLOOD = 2; + ESRB_BLOOD = 3; + ESRB_BLOOD_AND_GORE = 4; + ESRB_CARTOON_VIOLENCE = 5; + ESRB_COMIC_MISCHIEF = 6; + ESRB_CRUDE_HUMOR = 7; + ESRB_DRUG_REFERENCE = 8; + ESRB_FANTASY_VIOLENCE = 9; + ESRB_INTENSE_VIOLENCE = 10; + ESRB_LANGUAGE = 11; + ESRB_LYRICS = 12; + ESRB_MATURE_HUMOR = 13; + ESRB_NUDITY = 14; + ESRB_PARTIAL_NUDITY = 15; + ESRB_REAL_GAMBLING = 16; + ESRB_SEXUAL_CONTENT = 17; + ESRB_SEXUAL_THEMES = 18; + ESRB_SEXUAL_VIOLENCE = 19; + ESRB_SIMULATED_GAMBLING = 20; + ESRB_STRONG_LANGUAGE = 21; + ESRB_STRONG_LYRICS = 22; + ESRB_STRONG_SEXUAL_CONTENT = 23; + ESRB_SUGGESTIVE_THEMES = 24; + ESRB_TOBACCO_REFERENCE = 25; + ESRB_USE_OF_ALCOHOL = 26; + ESRB_USE_OF_DRUGS = 27; + ESRB_USE_OF_TOBACCO = 28; + ESRB_VIOLENCE = 29; + ESRB_VIOLENT_REFERENCES = 30; + ESRB_ANIMATED_VIOLENCE = 31; + ESRB_MILD_LANGUAGE = 32; + ESRB_MILD_VIOLENCE = 33; + ESRB_USE_OF_DRUGS_AND_ALCOHOL = 34; + ESRB_DRUG_AND_ALCOHOL_REFERENCE = 35; + ESRB_MILD_SUGGESTIVE_THEMES = 36; + ESRB_MILD_CARTOON_VIOLENCE = 37; + ESRB_MILD_BLOOD = 38; + ESRB_REALISTIC_BLOOD_AND_GORE = 39; + ESRB_REALISTIC_VIOLENCE = 40; + ESRB_ALCOHOL_AND_TOBACCO_REFERENCE = 41; + ESRB_MATURE_SEXUAL_THEMES = 42; + ESRB_MILD_ANIMATED_VIOLENCE = 43; + ESRB_MILD_SEXUAL_THEMES = 44; + ESRB_USE_OF_ALCOHOL_AND_TOBACCO = 45; + ESRB_ANIMATED_BLOOD_AND_GORE = 46; + ESRB_MILD_FANTASY_VIOLENCE = 47; + ESRB_MILD_LYRICS = 48; + ESRB_REALISTIC_BLOOD = 49; + PEGI_VIOLENCE = 50; + PEGI_SEX = 51; + PEGI_DRUGS = 52; + PEGI_FEAR = 53; + PEGI_DISCRIMINATION = 54; + PEGI_BAD_LANGUAGE = 55; + PEGI_GAMBLING = 56; + PEGI_ONLINE_GAMEPLAY = 57; + PEGI_IN_GAME_PURCHASES = 58; + CERO_LOVE = 59; + CERO_SEXUAL_CONTENT = 60; + CERO_VIOLENCE = 61; + CERO_HORROR = 62; + CERO_DRINKING_SMOKING = 63; + CERO_GAMBLING = 64; + CERO_CRIME = 65; + CERO_CONTROLLED_SUBSTANCES = 66; + CERO_LANGUAGES_AND_OTHERS = 67; + GRAC_SEXUALITY = 68; + GRAC_VIOLENCE = 69; + GRAC_FEAR_HORROR_THREATENING = 70; + GRAC_LANGUAGE = 71; + GRAC_ALCOHOL_TOBACCO_DRUG = 72; + GRAC_CRIME_ANTI_SOCIAL = 73; + GRAC_GAMBLING = 74; + CLASS_IND_VIOLENCIA = 75; + CLASS_IND_VIOLENCIA_EXTREMA = 76; + CLASS_IND_CONTEUDO_SEXUAL = 77; + CLASS_IND_NUDEZ = 78; + CLASS_IND_SEXO = 79; + CLASS_IND_SEXO_EXPLICITO = 80; + CLASS_IND_DROGAS = 81; + CLASS_IND_DROGAS_LICITAS = 82; + CLASS_IND_DROGAS_ILICITAS = 83; + CLASS_IND_LINGUAGEM_IMPROPRIA = 84; + CLASS_IND_ATOS_CRIMINOSOS = 85; } message AlternativeNameResult { @@ -108,10 +199,10 @@ message AlternativeNameResult { message AlternativeName { uint64 id = 1; - string comment = 2; - Game game = 3; - string name = 4; - string checksum = 5; + string comment = 2; + Game game = 3; + string name = 4; + string checksum = 5; } message ArtworkResult { @@ -120,14 +211,14 @@ message ArtworkResult { message Artwork { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - Game game = 4; - int32 height = 5; - string image_id = 6; - string url = 7; - int32 width = 8; - string checksum = 9; + bool alpha_channel = 2; + bool animated = 3; + Game game = 4; + int32 height = 5; + string image_id = 6; + string url = 7; + int32 width = 8; + string checksum = 9; } message CharacterResult { @@ -136,19 +227,19 @@ message CharacterResult { message Character { uint64 id = 1; - repeated string akas = 2; - string country_name = 3; - google.protobuf.Timestamp created_at = 4; - string description = 5; - repeated Game games = 6; - GenderGenderEnum gender = 7; - CharacterMugShot mug_shot = 8; - string name = 9; - string slug = 10; - CharacterSpeciesEnum species = 11; - google.protobuf.Timestamp updated_at = 12; - string url = 13; - string checksum = 14; + repeated string akas = 2; + string country_name = 3; + google.protobuf.Timestamp created_at = 4; + string description = 5; + repeated Game games = 6; + GenderGenderEnum gender = 7; + CharacterMugShot mug_shot = 8; + string name = 9; + string slug = 10; + CharacterSpeciesEnum species = 11; + google.protobuf.Timestamp updated_at = 12; + string url = 13; + string checksum = 14; } @@ -174,13 +265,13 @@ message CharacterMugShotResult { message CharacterMugShot { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - int32 height = 4; - string image_id = 5; - string url = 6; - int32 width = 7; - string checksum = 8; + bool alpha_channel = 2; + bool animated = 3; + int32 height = 4; + string image_id = 5; + string url = 6; + int32 width = 7; + string checksum = 8; } message CollectionResult { @@ -189,13 +280,13 @@ message CollectionResult { message Collection { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - repeated Game games = 3; - string name = 4; - string slug = 5; - google.protobuf.Timestamp updated_at = 6; - string url = 7; - string checksum = 8; + google.protobuf.Timestamp created_at = 2; + repeated Game games = 3; + string name = 4; + string slug = 5; + google.protobuf.Timestamp updated_at = 6; + string url = 7; + string checksum = 8; } message CompanyResult { @@ -204,24 +295,24 @@ message CompanyResult { message Company { uint64 id = 1; - google.protobuf.Timestamp change_date = 2; - DateFormatChangeDateCategoryEnum change_date_category = 3; - Company changed_company_id = 4; - int32 country = 5; - google.protobuf.Timestamp created_at = 6; - string description = 7; - repeated Game developed = 8; - CompanyLogo logo = 9; - string name = 10; - Company parent = 11; - repeated Game published = 12; - string slug = 13; - google.protobuf.Timestamp start_date = 14; - DateFormatChangeDateCategoryEnum start_date_category = 15; - google.protobuf.Timestamp updated_at = 16; - string url = 17; - repeated CompanyWebsite websites = 18; - string checksum = 19; + google.protobuf.Timestamp change_date = 2; + DateFormatChangeDateCategoryEnum change_date_category = 3; + Company changed_company_id = 4; + int32 country = 5; + google.protobuf.Timestamp created_at = 6; + string description = 7; + repeated Game developed = 8; + CompanyLogo logo = 9; + string name = 10; + Company parent = 11; + repeated Game published = 12; + string slug = 13; + google.protobuf.Timestamp start_date = 14; + DateFormatChangeDateCategoryEnum start_date_category = 15; + google.protobuf.Timestamp updated_at = 16; + string url = 17; + repeated CompanyWebsite websites = 18; + string checksum = 19; } @@ -242,13 +333,13 @@ message CompanyLogoResult { message CompanyLogo { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - int32 height = 4; - string image_id = 5; - string url = 6; - int32 width = 7; - string checksum = 8; + bool alpha_channel = 2; + bool animated = 3; + int32 height = 4; + string image_id = 5; + string url = 6; + int32 width = 7; + string checksum = 8; } message CompanyWebsiteResult { @@ -257,10 +348,10 @@ message CompanyWebsiteResult { message CompanyWebsite { uint64 id = 1; - WebsiteCategoryEnum category = 2; - bool trusted = 3; - string url = 4; - string checksum = 5; + WebsiteCategoryEnum category = 2; + bool trusted = 3; + string url = 4; + string checksum = 5; } @@ -291,14 +382,81 @@ message CoverResult { message Cover { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - Game game = 4; - int32 height = 5; - string image_id = 6; - string url = 7; - int32 width = 8; - string checksum = 9; + bool alpha_channel = 2; + bool animated = 3; + Game game = 4; + int32 height = 5; + string image_id = 6; + string url = 7; + int32 width = 8; + string checksum = 9; + GameLocalization game_localization = 10; +} + +message EventResult { + repeated Event events = 1; +} + +message Event { + uint64 id = 1; + string name = 2; + string description = 3; + string slug = 4; + EventLogo event_logo = 5; + repeated EventEventCategoriesEnum event_categories = 6; + google.protobuf.Timestamp start_time = 7; + string time_zone = 8; + google.protobuf.Timestamp end_time = 9; + string live_stream_url = 10; + repeated Game games = 11; + repeated GameVideo videos = 12; + repeated EventNetwork event_networks = 13; + google.protobuf.Timestamp created_at = 14; + google.protobuf.Timestamp updated_at = 15; + string checksum = 16; +} + + +enum EventEventCategoriesEnum { + EVENT_EVENT_CATEGORIES_NULL = 0; + INDUSTRY_CONFERENCE = 1; + STREAM_EVENT = 2; + AWARD = 3; + GAME_EXPO = 4; + E_SPORT = 5; + OTHER_MISC = 6; +} + +message EventLogoResult { + repeated EventLogo eventlogos = 1; +} + +message EventLogo { + uint64 id = 1; + Event event = 2; + bool alpha_channel = 3; + bool animated = 4; + int32 height = 5; + string image_id = 6; + string url = 7; + int32 width = 8; + google.protobuf.Timestamp created_at = 9; + google.protobuf.Timestamp updated_at = 10; + string checksum = 11; +} + +message EventNetworkResult { + repeated EventNetwork eventnetworks = 1; +} + +message EventNetwork { + uint64 id = 1; + Event event = 2; + string url = 3; + NetworkType network_type = 4; + google.protobuf.Timestamp created_at = 5; + google.protobuf.Timestamp updated_at = 6; + string checksum = 7; } message ExternalGameResult { @@ -307,18 +465,18 @@ message ExternalGameResult { message ExternalGame { uint64 id = 1; - ExternalGameCategoryEnum category = 2; - google.protobuf.Timestamp created_at = 3; - Game game = 4; - string name = 5; - string uid = 6; - google.protobuf.Timestamp updated_at = 7; - string url = 8; - int32 year = 9; - ExternalGameMediaEnum media = 10; - Platform platform = 11; - repeated int32 countries = 12; - string checksum = 13; + ExternalGameCategoryEnum category = 2; + google.protobuf.Timestamp created_at = 3; + Game game = 4; + string name = 5; + string uid = 6; + google.protobuf.Timestamp updated_at = 7; + string url = 8; + int32 year = 9; + ExternalGameMediaEnum media = 10; + Platform platform = 11; + repeated int32 countries = 12; + string checksum = 13; } @@ -336,6 +494,14 @@ enum ExternalGameCategoryEnum { EXTERNALGAME_AMAZON_ADG = 23; EXTERNALGAME_EPIC_GAME_STORE = 26; EXTERNALGAME_OCULUS = 28; + EXTERNALGAME_UTOMIK = 29; + EXTERNALGAME_ITCH_IO = 30; + EXTERNALGAME_XBOX_MARKETPLACE = 31; + EXTERNALGAME_KARTRIDGE = 32; + EXTERNALGAME_PLAYSTATION_STORE_US = 36; + EXTERNALGAME_FOCUS_ENTERTAINMENT = 37; + EXTERNALGAME_XBOX_GAME_PASS_ULTIMATE_CLOUD = 54; + EXTERNALGAME_GAMEJOLT = 55; } @@ -351,13 +517,13 @@ message FranchiseResult { message Franchise { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - repeated Game games = 3; - string name = 4; - string slug = 5; - google.protobuf.Timestamp updated_at = 6; - string url = 7; - string checksum = 8; + google.protobuf.Timestamp created_at = 2; + repeated Game games = 3; + string name = 4; + string slug = 5; + google.protobuf.Timestamp updated_at = 6; + string url = 7; + string checksum = 8; } message GameResult { @@ -366,60 +532,62 @@ message GameResult { message Game { uint64 id = 1; - repeated AgeRating age_ratings = 2; - double aggregated_rating = 3; - int32 aggregated_rating_count = 4; - repeated AlternativeName alternative_names = 5; - repeated Artwork artworks = 6; - repeated Game bundles = 7; - GameCategoryEnum category = 8; - Collection collection = 9; - Cover cover = 10; - google.protobuf.Timestamp created_at = 11; - repeated Game dlcs = 12; - repeated Game expansions = 13; - repeated ExternalGame external_games = 14; - google.protobuf.Timestamp first_release_date = 15; - int32 follows = 16; - Franchise franchise = 17; - repeated Franchise franchises = 18; - repeated GameEngine game_engines = 19; - repeated GameMode game_modes = 20; - repeated Genre genres = 21; - int32 hypes = 22; - repeated InvolvedCompany involved_companies = 23; - repeated Keyword keywords = 24; - repeated MultiplayerMode multiplayer_modes = 25; - string name = 26; - Game parent_game = 27; - repeated Platform platforms = 28; - repeated PlayerPerspective player_perspectives = 29; - double rating = 30; - int32 rating_count = 31; - repeated ReleaseDate release_dates = 32; - repeated Screenshot screenshots = 33; - repeated Game similar_games = 34; - string slug = 35; - repeated Game standalone_expansions = 36; - GameStatusEnum status = 37; - string storyline = 38; - string summary = 39; - repeated int32 tags = 40; - repeated Theme themes = 41; - double total_rating = 42; - int32 total_rating_count = 43; - google.protobuf.Timestamp updated_at = 44; - string url = 45; - Game version_parent = 46; - string version_title = 47; - repeated GameVideo videos = 48; - repeated Website websites = 49; - string checksum = 50; - repeated Game remakes = 51; - repeated Game remasters = 52; - repeated Game expanded_games = 53; - repeated Game ports = 54; - repeated Game forks = 55; + repeated AgeRating age_ratings = 2; + double aggregated_rating = 3; + int32 aggregated_rating_count = 4; + repeated AlternativeName alternative_names = 5; + repeated Artwork artworks = 6; + repeated Game bundles = 7; + GameCategoryEnum category = 8; + Collection collection = 9; + Cover cover = 10; + google.protobuf.Timestamp created_at = 11; + repeated Game dlcs = 12; + repeated Game expansions = 13; + repeated ExternalGame external_games = 14; + google.protobuf.Timestamp first_release_date = 15; + int32 follows = 16; + Franchise franchise = 17; + repeated Franchise franchises = 18; + repeated GameEngine game_engines = 19; + repeated GameMode game_modes = 20; + repeated Genre genres = 21; + int32 hypes = 22; + repeated InvolvedCompany involved_companies = 23; + repeated Keyword keywords = 24; + repeated MultiplayerMode multiplayer_modes = 25; + string name = 26; + Game parent_game = 27; + repeated Platform platforms = 28; + repeated PlayerPerspective player_perspectives = 29; + double rating = 30; + int32 rating_count = 31; + repeated ReleaseDate release_dates = 32; + repeated Screenshot screenshots = 33; + repeated Game similar_games = 34; + string slug = 35; + repeated Game standalone_expansions = 36; + GameStatusEnum status = 37; + string storyline = 38; + string summary = 39; + repeated int32 tags = 40; + repeated Theme themes = 41; + double total_rating = 42; + int32 total_rating_count = 43; + google.protobuf.Timestamp updated_at = 44; + string url = 45; + Game version_parent = 46; + string version_title = 47; + repeated GameVideo videos = 48; + repeated Website websites = 49; + string checksum = 50; + repeated Game remakes = 51; + repeated Game remasters = 52; + repeated Game expanded_games = 53; + repeated Game ports = 54; + repeated Game forks = 55; + repeated LanguageSupport language_supports = 56; + repeated GameLocalization game_localizations = 57; } @@ -437,6 +605,8 @@ enum GameCategoryEnum { EXPANDED_GAME = 10; PORT = 11; FORK = 12; + PACK = 13; + UPDATE = 14; } @@ -457,16 +627,16 @@ message GameEngineResult { message GameEngine { uint64 id = 1; - repeated Company companies = 2; - google.protobuf.Timestamp created_at = 3; - string description = 4; - GameEngineLogo logo = 5; - string name = 6; - repeated Platform platforms = 7; - string slug = 8; - google.protobuf.Timestamp updated_at = 9; - string url = 10; - string checksum = 11; + repeated Company companies = 2; + google.protobuf.Timestamp created_at = 3; + string description = 4; + GameEngineLogo logo = 5; + string name = 6; + repeated Platform platforms = 7; + string slug = 8; + google.protobuf.Timestamp updated_at = 9; + string url = 10; + string checksum = 11; } message GameEngineLogoResult { @@ -475,13 +645,28 @@ message GameEngineLogoResult { message GameEngineLogo { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - int32 height = 4; - string image_id = 5; - string url = 6; - int32 width = 7; - string checksum = 8; + bool alpha_channel = 2; + bool animated = 3; + int32 height = 4; + string image_id = 5; + string url = 6; + int32 width = 7; + string checksum = 8; +} + +message GameLocalizationResult { + repeated GameLocalization gamelocalizations = 1; +} + +message GameLocalization { + uint64 id = 1; + string name = 2; + Cover cover = 3; + Game game = 4; + Region region = 5; + google.protobuf.Timestamp created_at = 6; + google.protobuf.Timestamp updated_at = 7; + string checksum = 8; } message GameModeResult { @@ -490,12 +675,12 @@ message GameModeResult { message GameMode { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - string name = 3; - string slug = 4; - google.protobuf.Timestamp updated_at = 5; - string url = 6; - string checksum = 7; + google.protobuf.Timestamp created_at = 2; + string name = 3; + string slug = 4; + google.protobuf.Timestamp updated_at = 5; + string url = 6; + string checksum = 7; } message GameVersionResult { @@ -504,13 +689,13 @@ message GameVersionResult { message GameVersion { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - repeated GameVersionFeature features = 3; - Game game = 4; - repeated Game games = 5; - google.protobuf.Timestamp updated_at = 6; - string url = 7; - string checksum = 8; + google.protobuf.Timestamp created_at = 2; + repeated GameVersionFeature features = 3; + Game game = 4; + repeated Game games = 5; + google.protobuf.Timestamp updated_at = 6; + string url = 7; + string checksum = 8; } message GameVersionFeatureResult { @@ -519,12 +704,12 @@ message GameVersionFeatureResult { message GameVersionFeature { uint64 id = 1; - GameVersionFeatureCategoryEnum category = 2; - string description = 3; - int32 position = 4; - string title = 5; - repeated GameVersionFeatureValue values = 6; - string checksum = 7; + GameVersionFeatureCategoryEnum category = 2; + string description = 3; + int32 position = 4; + string title = 5; + repeated GameVersionFeatureValue values = 6; + string checksum = 7; } @@ -539,11 +724,11 @@ message GameVersionFeatureValueResult { message GameVersionFeatureValue { uint64 id = 1; - Game game = 2; - GameVersionFeature game_feature = 3; - GameVersionFeatureValueIncludedFeatureEnum included_feature = 4; - string note = 5; - string checksum = 6; + Game game = 2; + GameVersionFeature game_feature = 3; + GameVersionFeatureValueIncludedFeatureEnum included_feature = 4; + string note = 5; + string checksum = 6; } @@ -559,10 +744,10 @@ message GameVideoResult { message GameVideo { uint64 id = 1; - Game game = 2; - string name = 3; - string video_id = 4; - string checksum = 5; + Game game = 2; + string name = 3; + string video_id = 4; + string checksum = 5; } message GenreResult { @@ -571,12 +756,12 @@ message GenreResult { message Genre { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - string name = 3; - string slug = 4; - google.protobuf.Timestamp updated_at = 5; - string url = 6; - string checksum = 7; + google.protobuf.Timestamp created_at = 2; + string name = 3; + string slug = 4; + google.protobuf.Timestamp updated_at = 5; + string url = 6; + string checksum = 7; } message InvolvedCompanyResult { @@ -585,15 +770,15 @@ message InvolvedCompanyResult { message InvolvedCompany { uint64 id = 1; - Company company = 2; - google.protobuf.Timestamp created_at = 3; - bool developer = 4; - Game game = 5; - bool porting = 6; - bool publisher = 7; - bool supporting = 8; - google.protobuf.Timestamp updated_at = 9; - string checksum = 10; + Company company = 2; + google.protobuf.Timestamp created_at = 3; + bool developer = 4; + Game game = 5; + bool porting = 6; + bool publisher = 7; + bool supporting = 8; + google.protobuf.Timestamp updated_at = 9; + string checksum = 10; } message KeywordResult { @@ -602,12 +787,52 @@ message KeywordResult { message Keyword { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - string name = 3; - string slug = 4; - google.protobuf.Timestamp updated_at = 5; - string url = 6; - string checksum = 7; + google.protobuf.Timestamp created_at = 2; + string name = 3; + string slug = 4; + google.protobuf.Timestamp updated_at = 5; + string url = 6; + string checksum = 7; +} + +message LanguageResult { + repeated Language languages = 1; +} + +message Language { + uint64 id = 1; + string name = 2; + string native_name = 3; + string locale = 4; + google.protobuf.Timestamp created_at = 5; + google.protobuf.Timestamp updated_at = 6; + string checksum = 7; +} + +message LanguageSupportResult { + repeated LanguageSupport languagesupports = 1; +} + +message LanguageSupport { + uint64 id = 1; + Game game = 2; + Language language = 3; + LanguageSupportType language_support_type = 4; + google.protobuf.Timestamp created_at = 5; + google.protobuf.Timestamp updated_at = 6; + string checksum = 7; +} + +message LanguageSupportTypeResult { + repeated LanguageSupportType languagesupporttypes = 1; +} + +message LanguageSupportType { + uint64 id = 1; + string name = 2; + google.protobuf.Timestamp created_at = 3; + google.protobuf.Timestamp updated_at = 4; + string checksum = 5; } message MultiplayerModeResult { @@ -616,20 +841,33 @@ message MultiplayerModeResult { message MultiplayerMode { uint64 id = 1; - bool campaigncoop = 2; - bool dropin = 3; - Game game = 4; - bool lancoop = 5; - bool offlinecoop = 6; - int32 offlinecoopmax = 7; - int32 offlinemax = 8; - bool onlinecoop = 9; - int32 onlinecoopmax = 10; - int32 onlinemax = 11; - Platform platform = 12; - bool splitscreen = 13; - bool splitscreenonline = 14; - string checksum = 15; + bool campaigncoop = 2; + bool dropin = 3; + Game game = 4; + bool lancoop = 5; + bool offlinecoop = 6; + int32 offlinecoopmax = 7; + int32 offlinemax = 8; + bool onlinecoop = 9; + int32 onlinecoopmax = 10; + int32 onlinemax = 11; + Platform platform = 12; + bool splitscreen = 13; + bool splitscreenonline = 14; + string checksum = 15; +} + +message NetworkTypeResult { + repeated NetworkType networktypes = 1; +} + +message NetworkType { + uint64 id = 1; + string name = 2; + repeated EventNetwork event_networks = 3; + google.protobuf.Timestamp created_at = 4; + google.protobuf.Timestamp updated_at = 5; + string checksum = 6; } message PlatformResult { @@ -638,21 +876,21 @@ message PlatformResult { message Platform { uint64 id = 1; - string abbreviation = 2; - string alternative_name = 3; - PlatformCategoryEnum category = 4; - google.protobuf.Timestamp created_at = 5; - int32 generation = 6; - string name = 7; - PlatformLogo platform_logo = 8; - PlatformFamily platform_family = 9; - string slug = 10; - string summary = 11; - google.protobuf.Timestamp updated_at = 12; - string url = 13; - repeated PlatformVersion versions = 14; - repeated PlatformWebsite websites = 15; - string checksum = 16; + string abbreviation = 2; + string alternative_name = 3; + PlatformCategoryEnum category = 4; + google.protobuf.Timestamp created_at = 5; + int32 generation = 6; + string name = 7; + PlatformLogo platform_logo = 8; + PlatformFamily platform_family = 9; + string slug = 10; + string summary = 11; + google.protobuf.Timestamp updated_at = 12; + string url = 13; + repeated PlatformVersion versions = 14; + repeated PlatformWebsite websites = 15; + string checksum = 16; } @@ -672,9 +910,9 @@ message PlatformFamilyResult { message PlatformFamily { uint64 id = 1; - string name = 2; - string slug = 3; - string checksum = 4; + string name = 2; + string slug = 3; + string checksum = 4; } message PlatformLogoResult { @@ -683,13 +921,13 @@ message PlatformLogoResult { message PlatformLogo { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - int32 height = 4; - string image_id = 5; - string url = 6; - int32 width = 7; - string checksum = 8; + bool alpha_channel = 2; + bool animated = 3; + int32 height = 4; + string image_id = 5; + string url = 6; + int32 width = 7; + string checksum = 8; } message PlatformVersionResult { @@ -698,26 +936,26 @@ message PlatformVersionResult { message PlatformVersion { uint64 id = 1; - repeated PlatformVersionCompany companies = 2; - string connectivity = 3; - string cpu = 4; - string graphics = 5; - PlatformVersionCompany main_manufacturer = 6; - string media = 7; - string memory = 8; - string name = 9; - string online = 10; - string os = 11; - string output = 12; - PlatformLogo platform_logo = 13; - repeated PlatformVersionReleaseDate platform_version_release_dates = 14; - string resolutions = 15; - string slug = 16; - string sound = 17; - string storage = 18; - string summary = 19; - string url = 20; - string checksum = 21; + repeated PlatformVersionCompany companies = 2; + string connectivity = 3; + string cpu = 4; + string graphics = 5; + PlatformVersionCompany main_manufacturer = 6; + string media = 7; + string memory = 8; + string name = 9; + string online = 10; + string os = 11; + string output = 12; + PlatformLogo platform_logo = 13; + repeated PlatformVersionReleaseDate platform_version_release_dates = 14; + string resolutions = 15; + string slug = 16; + string sound = 17; + string storage = 18; + string summary = 19; + string url = 20; + string checksum = 21; } message PlatformVersionCompanyResult { @@ -726,11 +964,11 @@ message PlatformVersionCompanyResult { message PlatformVersionCompany { uint64 id = 1; - string comment = 2; - Company company = 3; - bool developer = 4; - bool manufacturer = 5; - string checksum = 6; + string comment = 2; + Company company = 3; + bool developer = 4; + bool manufacturer = 5; + string checksum = 6; } message PlatformVersionReleaseDateResult { @@ -739,16 +977,16 @@ message PlatformVersionReleaseDateResult { message PlatformVersionReleaseDate { uint64 id = 1; - DateFormatChangeDateCategoryEnum category = 2; - google.protobuf.Timestamp created_at = 3; - google.protobuf.Timestamp date = 4; - string human = 5; - int32 m = 6; - PlatformVersion platform_version = 7; - RegionRegionEnum region = 8; - google.protobuf.Timestamp updated_at = 9; - int32 y = 10; - string checksum = 11; + DateFormatChangeDateCategoryEnum category = 2; + google.protobuf.Timestamp created_at = 3; + google.protobuf.Timestamp date = 4; + string human = 5; + int32 m = 6; + PlatformVersion platform_version = 7; + RegionRegionEnum region = 8; + google.protobuf.Timestamp updated_at = 9; + int32 y = 10; + string checksum = 11; } @@ -772,10 +1010,10 @@ message PlatformWebsiteResult { message PlatformWebsite { uint64 id = 1; - WebsiteCategoryEnum category = 2; - bool trusted = 3; - string url = 4; - string checksum = 5; + WebsiteCategoryEnum category = 2; + bool trusted = 3; + string url = 4; + string checksum = 5; } message PlayerPerspectiveResult { @@ -784,12 +1022,26 @@ message PlayerPerspectiveResult { message PlayerPerspective { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - string name = 3; - string slug = 4; - google.protobuf.Timestamp updated_at = 5; - string url = 6; - string checksum = 7; + google.protobuf.Timestamp created_at = 2; + string name = 3; + string slug = 4; + google.protobuf.Timestamp updated_at = 5; + string url = 6; + string checksum = 7; +} + +message RegionResult { + repeated Region regions = 1; +} + +message Region { + uint64 id = 1; + string name = 2; + string category = 3; + string identifier = 4; + google.protobuf.Timestamp created_at = 5; + google.protobuf.Timestamp updated_at = 6; + string checksum = 7; } message ReleaseDateResult { @@ -798,17 +1050,31 @@ message ReleaseDateResult { message ReleaseDate { uint64 id = 1; - DateFormatChangeDateCategoryEnum category = 2; - google.protobuf.Timestamp created_at = 3; - google.protobuf.Timestamp date = 4; - Game game = 5; - string human = 6; - int32 m = 7; - Platform platform = 8; - RegionRegionEnum region = 9; - google.protobuf.Timestamp updated_at = 10; - int32 y = 11; - string checksum = 12; + DateFormatChangeDateCategoryEnum category = 2; + google.protobuf.Timestamp created_at = 3; + google.protobuf.Timestamp date = 4; + Game game = 5; + string human = 6; + int32 m = 7; + Platform platform = 8; + RegionRegionEnum region = 9; + google.protobuf.Timestamp updated_at = 10; + int32 y = 11; + string checksum = 12; + ReleaseDateStatus status = 13; +} + +message ReleaseDateStatusResult { + repeated ReleaseDateStatus releasedatestatuses = 1; +} + +message ReleaseDateStatus { + uint64 id = 1; + string name = 2; + string description = 3; + google.protobuf.Timestamp created_at = 4; + google.protobuf.Timestamp updated_at = 5; + string checksum = 6; } message ScreenshotResult { @@ -817,14 +1083,14 @@ message ScreenshotResult { message Screenshot { uint64 id = 1; - bool alpha_channel = 2; - bool animated = 3; - Game game = 4; - int32 height = 5; - string image_id = 6; - string url = 7; - int32 width = 8; - string checksum = 9; + bool alpha_channel = 2; + bool animated = 3; + Game game = 4; + int32 height = 5; + string image_id = 6; + string url = 7; + int32 width = 8; + string checksum = 9; } message SearchResult { @@ -833,18 +1099,18 @@ message SearchResult { message Search { uint64 id = 1; - string alternative_name = 2; - Character character = 3; - Collection collection = 4; - Company company = 5; - string description = 6; - Game game = 7; - string name = 8; - Platform platform = 9; - google.protobuf.Timestamp published_at = 10; - TestDummy test_dummy = 11; - Theme theme = 12; - string checksum = 13; + string alternative_name = 2; + Character character = 3; + Collection collection = 4; + Company company = 5; + string description = 6; + Game game = 7; + string name = 8; + Platform platform = 9; + google.protobuf.Timestamp published_at = 10; + TestDummy test_dummy = 11; + Theme theme = 12; + string checksum = 13; } message TestDummyResult { @@ -853,23 +1119,23 @@ message TestDummyResult { message TestDummy { uint64 id = 1; - bool bool_value = 2; - google.protobuf.Timestamp created_at = 3; - TestDummyEnumTestEnum enum_test = 4; - double float_value = 5; - Game game = 6; - repeated int32 integer_array = 7; - int32 integer_value = 8; - string name = 9; - int32 new_integer_value = 10; - bool private = 11; - string slug = 12; - repeated string string_array = 13; - repeated TestDummy test_dummies = 14; - TestDummy test_dummy = 15; - google.protobuf.Timestamp updated_at = 16; - string url = 17; - string checksum = 18; + bool bool_value = 2; + google.protobuf.Timestamp created_at = 3; + TestDummyEnumTestEnum enum_test = 4; + double float_value = 5; + Game game = 6; + repeated int32 integer_array = 7; + int32 integer_value = 8; + string name = 9; + int32 new_integer_value = 10; + bool private = 11; + string slug = 12; + repeated string string_array = 13; + repeated TestDummy test_dummies = 14; + TestDummy test_dummy = 15; + google.protobuf.Timestamp updated_at = 16; + string url = 17; + string checksum = 18; } @@ -885,12 +1151,12 @@ message ThemeResult { message Theme { uint64 id = 1; - google.protobuf.Timestamp created_at = 2; - string name = 3; - string slug = 4; - google.protobuf.Timestamp updated_at = 5; - string url = 6; - string checksum = 7; + google.protobuf.Timestamp created_at = 2; + string name = 3; + string slug = 4; + google.protobuf.Timestamp updated_at = 5; + string url = 6; + string checksum = 7; } message WebsiteResult { @@ -899,9 +1165,9 @@ message WebsiteResult { message Website { uint64 id = 1; - WebsiteCategoryEnum category = 2; - Game game = 3; - bool trusted = 4; - string url = 5; - string checksum = 6; + WebsiteCategoryEnum category = 2; + Game game = 3; + bool trusted = 4; + string url = 5; + string checksum = 6; }