1use_client_imports!();
2create_client!(AgeRatingsClient, AgeRating, age_ratings);
8create_client!(ArtworksClient, Artwork, artworks);
9create_client!(
10 CharacterMugshotsClient,
11 CharacterMugshot,
12 character_mug_shots
13);
14create_client!(CharactersClient, Character, characters);
15create_client!(CompaniesClient, Company, companies);
16create_client!(CoversClient, Cover, covers);
17create_client!(GamesClient, Game, games);
18create_client!(GameModesClient, GameMode, game_modes);
19create_client!(GameVideosClient, GameVideo, game_videos);
20create_client!(EnginesClient, Engine, game_engines);
21create_client!(FranchisesClient, Franchise, franchises);
22create_client!(MultiPlayerModesClient, MultiplayerMode, multiplayer_modes);
23create_client!(PlatformsClient, Platform, platforms);
24create_client!(PlatformLogosClient, PlatformLogo, platform_logos);
25create_client!(
26 PlayerPerpectivesClient,
27 PlayerPerspective,
28 player_perspectives
29);
30create_client!(ReleaseDatesClient, ReleaseDate, release_dates);
31create_client!(ScreenshotsClient, Screenshot, screenshots);
32create_client!(ThemesClient, Theme, themes);
33create_client!(WebsitesClient, Website, websites);
34
35expand_media_download!(ArtworksClient);
36expand_media_download!(CoversClient);
37expand_media_download!(ScreenshotsClient);
38expand_media_download!(PlatformLogosClient);
39expand_media_download!(CharacterMugshotsClient);
40
41expand_get_by_game_id!(ArtworksClient, Artwork);
42expand_get_by_game_id!(CoversClient, Cover);
43expand_get_by_game_id!(GameVideosClient, GameVideo);
44expand_get_by_game_id!(MultiPlayerModesClient, MultiplayerMode);
45expand_get_by_game_id!(ReleaseDatesClient, ReleaseDate);
46expand_get_by_game_id!(ScreenshotsClient, Screenshot);
47expand_get_by_game_id!(WebsitesClient, Website);
48
49pub struct IGDBClient {
50 api_key: String,
51}
52
53impl IGDBClient {
55 pub fn new<S: Into<String>>(api_key: S) -> IGDBClient {
65 IGDBClient {
66 api_key: api_key.into(),
67 }
68 }
69 pub fn create_request() -> RequestBuilder {
85 RequestBuilder::new()
86 }
87}