Skip to content

Commit b18c25f

Browse files
authored
Enums to Tables migration (#32)
* Updated endpoints with the new ones from the Enums to Tables migration. * Fixed popularityPrimitives function and test * Update dependencies
1 parent 4e996c4 commit b18c25f

File tree

8 files changed

+733
-280
lines changed

8 files changed

+733
-280
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[![Maven Central](https://img.shields.io/maven-central/v/io.github.husnjak/igdb-api-jvm?versionPrefix=1.2.0)](https://central.sonatype.com/artifact/io.github.husnjak/igdb-api-jvm/1.2.0)
1+
[![Maven Central](https://img.shields.io/maven-central/v/io.github.husnjak/igdb-api-jvm?versionPrefix=1.3.0)](https://central.sonatype.com/artifact/io.github.husnjak/igdb-api-jvm/1.3.0)
22
[![](https://jitpack.io/v/husnjak/IGDB-API-JVM.svg)](https://jitpack.io/#husnjak/IGDB-API-JVM)
33
# IGDB API-JVM (V4)
44
A Kotlin wrapper for the IGDB.com Video Game Database API.
@@ -34,15 +34,15 @@ __Maven__
3434
<dependency>
3535
<groupId>io.github.husnjak</groupId>
3636
<artifactId>igdb-api-jvm</artifactId>
37-
<version>1.2.0</version>
37+
<version>1.3.0</version>
3838
</dependency>
3939
```
4040

4141
__Gradle__
4242

4343
``` gradle
4444
dependencies {
45-
implementation 'io.github.husnjak:igdb-api-jvm:1.2.0'
45+
implementation 'io.github.husnjak:igdb-api-jvm:1.3.0'
4646
}
4747
```
4848

build.gradle.kts

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import com.google.protobuf.gradle.GenerateProtoTask
22
import de.undercouch.gradle.tasks.download.Download
33

44
plugins {
5-
kotlin("jvm") version "1.9.24"
5+
kotlin("jvm") version "2.1.10"
66
id("org.jetbrains.dokka") version "1.9.20"
77
id("maven-publish")
88
id("signing")
@@ -14,9 +14,9 @@ group = "io.github.husnjak"
1414
version = findProperty("version") as String
1515

1616
val fuelVersion = "2.3.1"
17-
val protobufJavaVersion = "4.27.2"
18-
val junitJupiterVersion = "5.10.0"
19-
val junitPlatformVersion = "1.10.0"
17+
val protobufJavaVersion = "4.29.3"
18+
val junitJupiterVersion = "5.12.0"
19+
val junitPlatformVersion = "1.12.0"
2020
val protobufPluginVersion = "0.9.4"
2121

2222
repositories {
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

src/main/kotlin/com/api/igdb/request/JsonRequest.kt

+70
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,26 @@ fun IGDBWrapper.jsonAgeRatings(APICalypse: APICalypse): String {
99
return apiJsonRequest(Endpoints.AGE_RATINGS, APICalypse.buildQuery())
1010
}
1111

12+
@Throws(RequestException::class)
13+
fun IGDBWrapper.jsonAgeRatingCategories(APICalypse: APICalypse): String {
14+
return apiJsonRequest(Endpoints.AGE_RATING_CATEGORIES, APICalypse.buildQuery())
15+
}
16+
1217
@Throws(RequestException::class)
1318
fun IGDBWrapper.jsonAgeRatingContentDescriptions(APICalypse: APICalypse): String {
1419
return apiJsonRequest(Endpoints.AGE_RATING_CONTENT_DESCRIPTIONS, APICalypse.buildQuery())
1520
}
1621

22+
@Throws(RequestException::class)
23+
fun IGDBWrapper.jsonAgeRatingContentDescriptionsV2(APICalypse: APICalypse): String {
24+
return apiJsonRequest(Endpoints.AGE_RATING_CONTENT_DESCRIPTIONS_V2, APICalypse.buildQuery())
25+
}
26+
27+
@Throws(RequestException::class)
28+
fun IGDBWrapper.jsonAgeRatingOrganizations(APICalypse: APICalypse): String {
29+
return apiJsonRequest(Endpoints.AGE_RATING_ORGANIZATIONS, APICalypse.buildQuery())
30+
}
31+
1732
@Throws(RequestException::class)
1833
fun IGDBWrapper.jsonAlternativeNames(APICalypse: APICalypse): String {
1934
return apiJsonRequest(Endpoints.ALTERNATIVE_NAMES, APICalypse.buildQuery())
@@ -29,6 +44,16 @@ fun IGDBWrapper.jsonCharacters(APICalypse: APICalypse): String {
2944
return apiJsonRequest(Endpoints.CHARACTERS, APICalypse.buildQuery())
3045
}
3146

47+
@Throws(RequestException::class)
48+
fun IGDBWrapper.jsonCharacterGenders(APICalypse: APICalypse): String {
49+
return apiJsonRequest(Endpoints.CHARACTER_GENDERS, APICalypse.buildQuery())
50+
}
51+
52+
@Throws(RequestException::class)
53+
fun IGDBWrapper.jsonCharacterSpecies(APICalypse: APICalypse): String {
54+
return apiJsonRequest(Endpoints.CHARACTER_SPECIES, APICalypse.buildQuery())
55+
}
56+
3257
@Throws(RequestException::class)
3358
fun IGDBWrapper.jsonCollections(APICalypse: APICalypse): String {
3459
return apiJsonRequest(Endpoints.COLLECTIONS, APICalypse.buildQuery())
@@ -44,6 +69,11 @@ fun IGDBWrapper.jsonCompanies(APICalypse: APICalypse): String {
4469
return apiJsonRequest(Endpoints.COMPANIES, APICalypse.buildQuery())
4570
}
4671

72+
@Throws(RequestException::class)
73+
fun IGDBWrapper.jsonCompanyStatuses(APICalypse: APICalypse): String {
74+
return apiJsonRequest(Endpoints.COMPANY_STATUS, APICalypse.buildQuery())
75+
}
76+
4777
@Throws(RequestException::class)
4878
fun IGDBWrapper.jsonCompanyWebsites(APICalypse: APICalypse): String {
4979
return apiJsonRequest(Endpoints.COMPANY_WEBSITES, APICalypse.buildQuery())
@@ -59,11 +89,21 @@ fun IGDBWrapper.jsonCovers(APICalypse: APICalypse): String {
5989
return apiJsonRequest(Endpoints.COVERS, APICalypse.buildQuery())
6090
}
6191

92+
@Throws(RequestException::class)
93+
fun IGDBWrapper.jsonDateFormats(APICalypse: APICalypse): String {
94+
return apiJsonRequest(Endpoints.DATE_FORMATS, APICalypse.buildQuery())
95+
}
96+
6297
@Throws(RequestException::class)
6398
fun IGDBWrapper.jsonExternalGames(APICalypse: APICalypse): String {
6499
return apiJsonRequest(Endpoints.EXTERNAL_GAMES, APICalypse.buildQuery())
65100
}
66101

102+
@Throws(RequestException::class)
103+
fun IGDBWrapper.jsonExternalGameSources(APICalypse: APICalypse): String {
104+
return apiJsonRequest(Endpoints.EXTERNAL_GAMES_SOURCES, APICalypse.buildQuery())
105+
}
106+
67107
@Throws(RequestException::class)
68108
fun IGDBWrapper.jsonFranchises(APICalypse: APICalypse): String {
69109
return apiJsonRequest(Endpoints.FRANCHISES, APICalypse.buildQuery())
@@ -94,6 +134,21 @@ fun IGDBWrapper.jsonGameModes(APICalypse: APICalypse): String {
94134
return apiJsonRequest(Endpoints.GAME_MODES, APICalypse.buildQuery())
95135
}
96136

137+
@Throws(RequestException::class)
138+
fun IGDBWrapper.jsonGameReleaseFormats(APICalypse: APICalypse): String {
139+
return apiJsonRequest(Endpoints.GAME_RELEASE_FORMATS, APICalypse.buildQuery())
140+
}
141+
142+
@Throws(RequestException::class)
143+
fun IGDBWrapper.jsonGameStatuses(APICalypse: APICalypse): String {
144+
return apiJsonRequest(Endpoints.GAME_STATUSES, APICalypse.buildQuery())
145+
}
146+
147+
@Throws(RequestException::class)
148+
fun IGDBWrapper.jsonGameTypes(APICalypse: APICalypse): String {
149+
return apiJsonRequest(Endpoints.GAME_TYPES, APICalypse.buildQuery())
150+
}
151+
97152
@Throws(RequestException::class)
98153
fun IGDBWrapper.jsonGameVersion(APICalypse: APICalypse): String {
99154
return apiJsonRequest(Endpoints.GAME_VERSIONS, APICalypse.buildQuery())
@@ -159,6 +214,11 @@ fun IGDBWrapper.jsonPlatformLogos(APICalypse: APICalypse): String {
159214
return apiJsonRequest(Endpoints.PLATFORM_LOGOS, APICalypse.buildQuery())
160215
}
161216

217+
@Throws(RequestException::class)
218+
fun IGDBWrapper.jsonPlatformTypes(APICalypse: APICalypse): String {
219+
return apiJsonRequest(Endpoints.PLATFORM_TYPES, APICalypse.buildQuery())
220+
}
221+
162222
@Throws(RequestException::class)
163223
fun IGDBWrapper.jsonPlatformVersions(APICalypse: APICalypse): String {
164224
return apiJsonRequest(Endpoints.PLATFORM_VERSIONS, APICalypse.buildQuery())
@@ -199,6 +259,11 @@ fun IGDBWrapper.jsonReleaseDates(APICalypse: APICalypse): String {
199259
return apiJsonRequest(Endpoints.RELEASE_DATES, APICalypse.buildQuery())
200260
}
201261

262+
@Throws(RequestException::class)
263+
fun IGDBWrapper.jsonReleaseDateRegions(APICalypse: APICalypse): String {
264+
return apiJsonRequest(Endpoints.RELEASE_DATE_REGIONS, APICalypse.buildQuery())
265+
}
266+
202267
@Throws(RequestException::class)
203268
fun IGDBWrapper.jsonScreenshots(APICalypse: APICalypse): String {
204269
return apiJsonRequest(Endpoints.SCREENSHOTS, APICalypse.buildQuery())
@@ -219,6 +284,11 @@ fun IGDBWrapper.jsonWebsites(APICalypse: APICalypse): String {
219284
return apiJsonRequest(Endpoints.WEBSITES, APICalypse.buildQuery())
220285
}
221286

287+
@Throws(RequestException::class)
288+
fun IGDBWrapper.jsonWebsiteTypes(APICalypse: APICalypse): String {
289+
return apiJsonRequest(Endpoints.WEBSITE_TYPES, APICalypse.buildQuery())
290+
}
291+
222292
@Throws(RequestException::class)
223293
fun IGDBWrapper.jsonEvents(APICalypse: APICalypse): String {
224294
return apiJsonRequest(Endpoints.EVENTS, APICalypse.buildQuery())

src/main/kotlin/com/api/igdb/request/ProtoRequest.kt

+85-2
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,30 @@ fun IGDBWrapper.ageRatings(APICalypse: APICalypse): List<AgeRating> {
1313
return AgeRatingResult.parseFrom(bytes).ageratingsList
1414
}
1515

16+
@Throws(RequestException::class)
17+
fun IGDBWrapper.ageRatingCategories(APICalypse: APICalypse): List<AgeRatingCategory> {
18+
val bytes = apiProtoRequest(Endpoints.AGE_RATING_CATEGORIES, APICalypse.buildQuery())
19+
return AgeRatingCategoryResult.parseFrom(bytes).ageratingcategoriesList
20+
}
21+
1622
@Throws(RequestException::class)
1723
fun IGDBWrapper.ageRatingContentDescriptions(APICalypse: APICalypse): List<AgeRatingContentDescription> {
1824
val bytes = apiProtoRequest(Endpoints.AGE_RATING_CONTENT_DESCRIPTIONS, APICalypse.buildQuery())
1925
return AgeRatingContentDescriptionResult.parseFrom(bytes).ageratingcontentdescriptionsList
2026
}
2127

28+
@Throws(RequestException::class)
29+
fun IGDBWrapper.ageRatingContentDescriptionsV2(APICalypse: APICalypse): List<AgeRatingContentDescriptionV2> {
30+
val bytes = apiProtoRequest(Endpoints.AGE_RATING_CONTENT_DESCRIPTIONS_V2, APICalypse.buildQuery())
31+
return AgeRatingContentDescriptionV2Result.parseFrom(bytes).ageratingcontentdescriptionsv2List
32+
}
33+
34+
@Throws(RequestException::class)
35+
fun IGDBWrapper.ageRatingOrganizations(APICalypse: APICalypse): List<AgeRatingOrganization> {
36+
val bytes = apiProtoRequest(Endpoints.AGE_RATING_ORGANIZATIONS, APICalypse.buildQuery())
37+
return AgeRatingOrganizationResult.parseFrom(bytes).ageratingorganizationsList
38+
}
39+
2240
@Throws(RequestException::class)
2341
fun IGDBWrapper.alternativeNames(APICalypse: APICalypse): List<AlternativeName> {
2442
val bytes = apiProtoRequest(Endpoints.ALTERNATIVE_NAMES, APICalypse.buildQuery())
@@ -37,6 +55,18 @@ fun IGDBWrapper.characters(APICalypse: APICalypse): List<Character> {
3755
return CharacterResult.parseFrom(bytes).charactersList
3856
}
3957

58+
@Throws(RequestException::class)
59+
fun IGDBWrapper.characterGenders(APICalypse: APICalypse): List<CharacterGender> {
60+
val bytes = apiProtoRequest(Endpoints.CHARACTER_GENDERS, APICalypse.buildQuery())
61+
return CharacterGenderResult.parseFrom(bytes).charactergendersList
62+
}
63+
64+
@Throws(RequestException::class)
65+
fun IGDBWrapper.characterSpecies(APICalypse: APICalypse): List<CharacterSpecie> {
66+
val bytes = apiProtoRequest(Endpoints.CHARACTER_SPECIES, APICalypse.buildQuery())
67+
return CharacterSpecieResult.parseFrom(bytes).characterspeciesList
68+
}
69+
4070
@Throws(RequestException::class)
4171
fun IGDBWrapper.collections(APICalypse: APICalypse): List<Collection> {
4272
val bytes = apiProtoRequest(Endpoints.COLLECTIONS, APICalypse.buildQuery())
@@ -55,6 +85,12 @@ fun IGDBWrapper.companies(APICalypse: APICalypse): List<Company> {
5585
return CompanyResult.parseFrom(bytes).companiesList
5686
}
5787

88+
@Throws(RequestException::class)
89+
fun IGDBWrapper.companyStatuses(APICalypse: APICalypse): List<CompanyStatus> {
90+
val bytes = apiProtoRequest(Endpoints.COMPANIES, APICalypse.buildQuery())
91+
return CompanyStatusResult.parseFrom(bytes).companystatusesList
92+
}
93+
5894
@Throws(RequestException::class)
5995
fun IGDBWrapper.companyWebsites(APICalypse: APICalypse): List<CompanyWebsite> {
6096
val bytes = apiProtoRequest(Endpoints.COMPANY_WEBSITES, APICalypse.buildQuery())
@@ -73,12 +109,24 @@ fun IGDBWrapper.covers(APICalypse: APICalypse): List<Cover> {
73109
return CoverResult.parseFrom(bytes).coversList
74110
}
75111

112+
@Throws(RequestException::class)
113+
fun IGDBWrapper.dateFormats(APICalypse: APICalypse): List<DateFormat> {
114+
val bytes = apiProtoRequest(Endpoints.COVERS, APICalypse.buildQuery())
115+
return DateFormatResult.parseFrom(bytes).dateformatsList
116+
}
117+
76118
@Throws(RequestException::class)
77119
fun IGDBWrapper.externalGames(APICalypse: APICalypse): List<ExternalGame> {
78120
val bytes = apiProtoRequest(Endpoints.EXTERNAL_GAMES, APICalypse.buildQuery())
79121
return ExternalGameResult.parseFrom(bytes).externalgamesList
80122
}
81123

124+
@Throws(RequestException::class)
125+
fun IGDBWrapper.externalGameSources(APICalypse: APICalypse): List<ExternalGameSource> {
126+
val bytes = apiProtoRequest(Endpoints.EXTERNAL_GAMES, APICalypse.buildQuery())
127+
return ExternalGameSourceResult.parseFrom(bytes).externalgamesourcesList
128+
}
129+
82130
@Throws(RequestException::class)
83131
fun IGDBWrapper.franchises(APICalypse: APICalypse): List<Franchise> {
84132
val bytes = apiProtoRequest(Endpoints.FRANCHISES, APICalypse.buildQuery())
@@ -115,6 +163,24 @@ fun IGDBWrapper.gameModes(APICalypse: APICalypse): List<GameMode> {
115163
return GameModeResult.parseFrom(bytes).gamemodesList
116164
}
117165

166+
@Throws(RequestException::class)
167+
fun IGDBWrapper.gameReleaseFormats(APICalypse: APICalypse): List<GameReleaseFormat> {
168+
val bytes = apiProtoRequest(Endpoints.GAME_RELEASE_FORMATS, APICalypse.buildQuery())
169+
return GameReleaseFormatResult.parseFrom(bytes).gamereleaseformatsList
170+
}
171+
172+
@Throws(RequestException::class)
173+
fun IGDBWrapper.gameStatuses(APICalypse: APICalypse): List<GameStatus> {
174+
val bytes = apiProtoRequest(Endpoints.GAME_MODES, APICalypse.buildQuery())
175+
return GameStatusResult.parseFrom(bytes).gamestatusesList
176+
}
177+
178+
@Throws(RequestException::class)
179+
fun IGDBWrapper.gameTypes(APICalypse: APICalypse): List<GameType> {
180+
val bytes = apiProtoRequest(Endpoints.GAME_MODES, APICalypse.buildQuery())
181+
return GameTypeResult.parseFrom(bytes).gametypesList
182+
}
183+
118184
@Throws(RequestException::class)
119185
fun IGDBWrapper.gameVersion(APICalypse: APICalypse): List<GameVersion> {
120186
val bytes = apiProtoRequest(Endpoints.GAME_VERSIONS, APICalypse.buildQuery())
@@ -193,6 +259,12 @@ fun IGDBWrapper.platformLogos(APICalypse: APICalypse): List<PlatformLogo> {
193259
return PlatformLogoResult.parseFrom(bytes).platformlogosList
194260
}
195261

262+
@Throws(RequestException::class)
263+
fun IGDBWrapper.platformTypes(APICalypse: APICalypse): List<PlatformType> {
264+
val bytes = apiProtoRequest(Endpoints.PLATFORM_LOGOS, APICalypse.buildQuery())
265+
return PlatformTypeResult.parseFrom(bytes).platformtypesList
266+
}
267+
196268
@Throws(RequestException::class)
197269
fun IGDBWrapper.platformVersions(APICalypse: APICalypse): List<PlatformVersion> {
198270
val bytes = apiProtoRequest(Endpoints.PLATFORM_VERSIONS, APICalypse.buildQuery())
@@ -241,6 +313,12 @@ fun IGDBWrapper.releaseDates(APICalypse: APICalypse): List<ReleaseDate> {
241313
return ReleaseDateResult.parseFrom(bytes).releasedatesList
242314
}
243315

316+
@Throws(RequestException::class)
317+
fun IGDBWrapper.releaseDateRegions(APICalypse: APICalypse): List<ReleaseDateRegion> {
318+
val bytes = apiProtoRequest(Endpoints.RELEASE_DATES, APICalypse.buildQuery())
319+
return ReleaseDateRegionResult.parseFrom(bytes).releasedateregionsList
320+
}
321+
244322
@Throws(RequestException::class)
245323
fun IGDBWrapper.screenshots(APICalypse: APICalypse): List<Screenshot> {
246324
val bytes = apiProtoRequest(Endpoints.SCREENSHOTS, APICalypse.buildQuery())
@@ -265,6 +343,12 @@ fun IGDBWrapper.websites(APICalypse: APICalypse): List<Website> {
265343
return WebsiteResult.parseFrom(bytes).websitesList
266344
}
267345

346+
@Throws(RequestException::class)
347+
fun IGDBWrapper.websiteTypes(APICalypse: APICalypse): List<WebsiteType> {
348+
val bytes = apiProtoRequest(Endpoints.WEBSITES, APICalypse.buildQuery())
349+
return WebsiteTypeResult.parseFrom(bytes).websitetypesList
350+
}
351+
268352
@Throws(RequestException::class)
269353
fun IGDBWrapper.events(APICalypse: APICalypse): List<Event> {
270354
val bytes = apiProtoRequest(Endpoints.EVENTS, APICalypse.buildQuery())
@@ -277,7 +361,6 @@ fun IGDBWrapper.eventLogos(APICalypse: APICalypse): List<EventLogo> {
277361
return EventLogoResult.parseFrom(bytes).eventlogosList
278362
}
279363

280-
281364
@Throws(RequestException::class)
282365
fun IGDBWrapper.eventNetworks(APICalypse: APICalypse): List<EventNetwork> {
283366
val bytes = apiProtoRequest(Endpoints.EVENT_NETWORKS, APICalypse.buildQuery())
@@ -328,6 +411,6 @@ fun IGDBWrapper.popularityTypes(APICalypse: APICalypse): List<PopularityType> {
328411

329412
@Throws(RequestException::class)
330413
fun IGDBWrapper.popularityPrimitives(APICalypse: APICalypse): List<PopularityPrimitive> {
331-
val bytes = apiProtoRequest(Endpoints.COLLECTION_MEMBERSHIP_TYPES, APICalypse.buildQuery())
414+
val bytes = apiProtoRequest(Endpoints.POPULARITY_PRIMITIVES, APICalypse.buildQuery())
332415
return PopularityPrimitiveResult.parseFrom(bytes).popularityprimitivesList
333416
}

src/main/kotlin/com/api/igdb/utils/Endpoints.kt

+10-9
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ package com.api.igdb.utils
44
* The Public Endpoint Enum class holds all of the accessible IGDB API Endpoints
55
*/
66
enum class Endpoints : Endpoint {
7-
AGE_RATINGS, AGE_RATING_CONTENT_DESCRIPTIONS, ALTERNATIVE_NAMES, ARTWORKS, CHARACTERS, CHARACTER_MUG_SHOTS,
8-
COLLECTIONS, COMPANIES, COMPANY_WEBSITES, COMPANY_LOGOS, COVERS, EXTERNAL_GAMES, FRANCHISES, GAMES, GAME_ENGINES,
9-
GAME_ENGINE_LOGOS, GAME_LOCALIZATIONS, GAME_MODES, GAME_VERSIONS, GAME_VERSION_FEATURES, GAME_VERSION_FEATURE_VALUES, GAME_VIDEOS,
10-
GENRES, INVOLVED_COMPANIES, KEYWORDS, LANGUAGES, LANGUAGE_SUPPORTS, LANGUAGE_SUPPORT_TYPES, MULTIPLAYER_MODES,
11-
PLATFORMS, PLATFORM_LOGOS, PLATFORM_VERSIONS, PLATFORM_VERSION_COMPANIES, PLATFORM_VERSION_RELEASE_DATES,
12-
PLATFORM_WEBSITES, PLAYER_PERSPECTIVES, PLATFORM_FAMILIES, REGIONS, RELEASE_DATES, SCREENSHOTS, SEARCH, THEMES,
13-
WEBSITES, EVENTS, EVENT_LOGOS, EVENT_NETWORKS, NETWORK_TYPES, COLLECTION_RELATIONS, COLLECTION_RELATION_TYPES,
14-
COLLECTION_TYPES, COLLECTION_MEMBERSHIPS, COLLECTION_MEMBERSHIP_TYPES, POPULARITY_TYPES, POPULARITY_PRIMITIVES;
15-
7+
AGE_RATING_CATEGORIES, AGE_RATING_CONTENT_DESCRIPTIONS, AGE_RATING_CONTENT_DESCRIPTIONS_V2, AGE_RATING_ORGANIZATIONS, AGE_RATINGS,
8+
ALTERNATIVE_NAMES, ARTWORKS, CHARACTERS, CHARACTER_GENDERS, CHARACTER_MUG_SHOTS, CHARACTER_SPECIES, COLLECTION_MEMBERSHIPS,
9+
COLLECTION_MEMBERSHIP_TYPES, COLLECTION_RELATIONS, COLLECTION_RELATION_TYPES, COLLECTION_TYPES, COLLECTIONS, COMPANIES,
10+
COMPANY_LOGOS, COMPANY_STATUS, COMPANY_WEBSITES, COVERS, DATE_FORMATS, EVENTS, EVENT_LOGOS,
11+
EVENT_NETWORKS, EXTERNAL_GAMES, EXTERNAL_GAMES_SOURCES, FRANCHISES, GAMES, GAME_ENGINES, GAME_ENGINE_LOGOS, GAME_LOCALIZATIONS,
12+
GAME_MODES, GAME_RELEASE_FORMATS, GAME_STATUSES, GAME_TYPES, GAME_VERSIONS, GAME_VERSION_FEATURES, GAME_VERSION_FEATURE_VALUES,
13+
GAME_VIDEOS, GENRES, INVOLVED_COMPANIES, KEYWORDS, LANGUAGES, LANGUAGE_SUPPORTS, LANGUAGE_SUPPORT_TYPES, MULTIPLAYER_MODES,
14+
NETWORK_TYPES, PLATFORMS, PLATFORM_FAMILIES, PLATFORM_LOGOS, PLATFORM_TYPES, PLATFORM_VERSIONS, PLATFORM_VERSION_COMPANIES,
15+
PLATFORM_VERSION_RELEASE_DATES, PLATFORM_WEBSITES, PLAYER_PERSPECTIVES, POPULARITY_PRIMITIVES, POPULARITY_TYPES, REGIONS,
16+
RELEASE_DATES, RELEASE_DATE_REGIONS, SCREENSHOTS, SEARCH, THEMES, WEBSITES, WEBSITE_TYPES;
1617

1718
override fun url(): String {
1819
return "/${this.name.lowercase()}"

0 commit comments

Comments
 (0)