forked from mirror/Riven
1
0
Fork 0

Regen for Rell and new status endpoints.

Fix #22
v/1.x.x
Mingwei Samuel 2020-12-11 12:11:44 -08:00
parent 18b076203b
commit cb953f7b34
4 changed files with 362 additions and 6 deletions

View File

@ -216,6 +216,8 @@ pub enum Champion {
#[strum(to_string="Rammus", serialize="Rammus")] Rammus = 33, #[strum(to_string="Rammus", serialize="Rammus")] Rammus = 33,
/// Rek'Sai (`RekSai`, 421). /// Rek'Sai (`RekSai`, 421).
#[strum(to_string="Rek'Sai", serialize="RekSai")] RekSai = 421, #[strum(to_string="Rek'Sai", serialize="RekSai")] RekSai = 421,
/// Rell (`Rell`, 526).
#[strum(to_string="Rell", serialize="Rell")] Rell = 526,
/// Renekton (`Renekton`, 58). /// Renekton (`Renekton`, 58).
#[strum(to_string="Renekton", serialize="Renekton")] Renekton = 58, #[strum(to_string="Renekton", serialize="Renekton")] Renekton = 58,
/// Rengar (`Rengar`, 107). /// Rengar (`Rengar`, 107).
@ -454,6 +456,7 @@ impl Champion {
Self::Rakan => "Rakan", Self::Rakan => "Rakan",
Self::Rammus => "Rammus", Self::Rammus => "Rammus",
Self::RekSai => "RekSai", Self::RekSai => "RekSai",
Self::Rell => "Rell",
Self::Renekton => "Renekton", Self::Renekton => "Renekton",
Self::Rengar => "Rengar", Self::Rengar => "Rengar",
Self::Riven => "Riven", Self::Riven => "Riven",

View File

@ -7,7 +7,7 @@
/////////////////////////////////////////////// ///////////////////////////////////////////////
// http://www.mingweisamuel.com/riotapi-schema/tool/ // http://www.mingweisamuel.com/riotapi-schema/tool/
// Version 46d6543508faf7f5f800259caddca32c99565c64 // Version ece6f45a4d6232f4e9940219258f1bd3ae1fee6d
//! Automatically generated endpoint handles. //! Automatically generated endpoint handles.
@ -86,6 +86,15 @@ impl RiotApi {
pub fn lol_status_v3(&self) -> LolStatusV3 { pub fn lol_status_v3(&self) -> LolStatusV3 {
LolStatusV3 { base: self } LolStatusV3 { base: self }
} }
/// Returns a handle for accessing [LolStatusV4](crate::endpoints::LolStatusV4) endpoints.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#lol-status-v4" target="_blank">`lol-status-v4`</a>
///
/// Note: this method is automatically generated.
#[inline]
pub fn lol_status_v4(&self) -> LolStatusV4 {
LolStatusV4 { base: self }
}
/// Returns a handle for accessing [LorMatchV1](crate::endpoints::LorMatchV1) endpoints. /// Returns a handle for accessing [LorMatchV1](crate::endpoints::LorMatchV1) endpoints.
/// # Riot Developer API Reference /// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#lor-match-v1" target="_blank">`lor-match-v1`</a> /// <a href="https://developer.riotgames.com/apis#lor-match-v1" target="_blank">`lor-match-v1`</a>
@ -104,6 +113,15 @@ impl RiotApi {
pub fn lor_ranked_v1(&self) -> LorRankedV1 { pub fn lor_ranked_v1(&self) -> LorRankedV1 {
LorRankedV1 { base: self } LorRankedV1 { base: self }
} }
/// Returns a handle for accessing [LorStatusV1](crate::endpoints::LorStatusV1) endpoints.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#lor-status-v1" target="_blank">`lor-status-v1`</a>
///
/// Note: this method is automatically generated.
#[inline]
pub fn lor_status_v1(&self) -> LorStatusV1 {
LorStatusV1 { base: self }
}
/// Returns a handle for accessing [MatchV4](crate::endpoints::MatchV4) endpoints. /// Returns a handle for accessing [MatchV4](crate::endpoints::MatchV4) endpoints.
/// # Riot Developer API Reference /// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#match-v4" target="_blank">`match-v4`</a> /// <a href="https://developer.riotgames.com/apis#match-v4" target="_blank">`match-v4`</a>
@ -203,6 +221,15 @@ impl RiotApi {
pub fn val_match_v1(&self) -> ValMatchV1 { pub fn val_match_v1(&self) -> ValMatchV1 {
ValMatchV1 { base: self } ValMatchV1 { base: self }
} }
/// Returns a handle for accessing [ValStatusV1](crate::endpoints::ValStatusV1) endpoints.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#val-status-v1" target="_blank">`val-status-v1`</a>
///
/// Note: this method is automatically generated.
#[inline]
pub fn val_status_v1(&self) -> ValStatusV1 {
ValStatusV1 { base: self }
}
} }
/// AccountV1 endpoints handle, accessed by calling [`account_v1()`](crate::RiotApi::account_v1) on a [`RiotApi`](crate::RiotApi) instance. /// AccountV1 endpoints handle, accessed by calling [`account_v1()`](crate::RiotApi::account_v1) on a [`RiotApi`](crate::RiotApi) instance.
@ -598,6 +625,31 @@ impl<'a> LolStatusV3<'a> {
} }
/// LolStatusV4 endpoints handle, accessed by calling [`lol_status_v4()`](crate::RiotApi::lol_status_v4) on a [`RiotApi`](crate::RiotApi) instance.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#lol-status-v4" target="_blank">`lol-status-v4`</a>
///
/// Note: this struct is automatically generated.
pub struct LolStatusV4<'a> {
base: &'a RiotApi,
}
impl<'a> LolStatusV4<'a> {
/// Get League of Legends status for the given platform.
/// # Parameters
/// * `region` - Region to query.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/api-methods/#lol-status-v4/GET_getPlatformData" target="_blank">`lol-status-v4.getPlatformData`</a>
///
/// Note: this method is automatically generated.
pub fn get_platform_data(&self, region: Region)
-> impl Future<Output = Result<lol_status_v4::PlatformData>> + 'a
{
let path_string = "/lol/status/v4/platform-data".to_owned();
self.base.get::<lol_status_v4::PlatformData>("lol-status-v4.getPlatformData", region.into(), path_string, None)
}
}
/// LorMatchV1 endpoints handle, accessed by calling [`lor_match_v1()`](crate::RiotApi::lor_match_v1) on a [`RiotApi`](crate::RiotApi) instance. /// LorMatchV1 endpoints handle, accessed by calling [`lor_match_v1()`](crate::RiotApi::lor_match_v1) on a [`RiotApi`](crate::RiotApi) instance.
/// # Riot Developer API Reference /// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#lor-match-v1" target="_blank">`lor-match-v1`</a> /// <a href="https://developer.riotgames.com/apis#lor-match-v1" target="_blank">`lor-match-v1`</a>
@ -664,6 +716,31 @@ impl<'a> LorRankedV1<'a> {
} }
/// LorStatusV1 endpoints handle, accessed by calling [`lor_status_v1()`](crate::RiotApi::lor_status_v1) on a [`RiotApi`](crate::RiotApi) instance.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#lor-status-v1" target="_blank">`lor-status-v1`</a>
///
/// Note: this struct is automatically generated.
pub struct LorStatusV1<'a> {
base: &'a RiotApi,
}
impl<'a> LorStatusV1<'a> {
/// Get Legends of Runeterra status for the given platform.
/// # Parameters
/// * `region` - Region to query.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/api-methods/#lor-status-v1/GET_getPlatformData" target="_blank">`lor-status-v1.getPlatformData`</a>
///
/// Note: this method is automatically generated.
pub fn get_platform_data(&self, region: Region)
-> impl Future<Output = Result<lor_status_v1::PlatformData>> + 'a
{
let path_string = "/lor/status/v1/platform-data".to_owned();
self.base.get::<lor_status_v1::PlatformData>("lor-status-v1.getPlatformData", region.into(), path_string, None)
}
}
/// MatchV4 endpoints handle, accessed by calling [`match_v4()`](crate::RiotApi::match_v4) on a [`RiotApi`](crate::RiotApi) instance. /// MatchV4 endpoints handle, accessed by calling [`match_v4()`](crate::RiotApi::match_v4) on a [`RiotApi`](crate::RiotApi) instance.
/// # Riot Developer API Reference /// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#match-v4" target="_blank">`match-v4`</a> /// <a href="https://developer.riotgames.com/apis#match-v4" target="_blank">`match-v4`</a>
@ -1284,3 +1361,28 @@ impl<'a> ValMatchV1<'a> {
} }
} }
/// ValStatusV1 endpoints handle, accessed by calling [`val_status_v1()`](crate::RiotApi::val_status_v1) on a [`RiotApi`](crate::RiotApi) instance.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/apis#val-status-v1" target="_blank">`val-status-v1`</a>
///
/// Note: this struct is automatically generated.
pub struct ValStatusV1<'a> {
base: &'a RiotApi,
}
impl<'a> ValStatusV1<'a> {
/// Get VALORANT status for the given platform.
/// # Parameters
/// * `region` - Region to query.
/// # Riot Developer API Reference
/// <a href="https://developer.riotgames.com/api-methods/#val-status-v1/GET_getPlatformData" target="_blank">`val-status-v1.getPlatformData`</a>
///
/// Note: this method is automatically generated.
pub fn get_platform_data(&self, region: Region)
-> impl Future<Output = Result<val_status_v1::PlatformData>> + 'a
{
let path_string = "/val/status/v1/platform-data".to_owned();
self.base.get::<val_status_v1::PlatformData>("val-status-v1.getPlatformData", region.into(), path_string, None)
}
}

View File

@ -7,7 +7,7 @@
/////////////////////////////////////////////// ///////////////////////////////////////////////
// http://www.mingweisamuel.com/riotapi-schema/tool/ // http://www.mingweisamuel.com/riotapi-schema/tool/
// Version 46d6543508faf7f5f800259caddca32c99565c64 // Version ece6f45a4d6232f4e9940219258f1bd3ae1fee6d
//! Metadata about the Riot API and Riven. //! Metadata about the Riot API and Riven.
//! //!
@ -40,9 +40,11 @@ lazy_static! {
map.insert("/lol/league/v4/leagues/{leagueId}", "league-v4.getLeagueById"); map.insert("/lol/league/v4/leagues/{leagueId}", "league-v4.getLeagueById");
map.insert("/lol/league/v4/masterleagues/by-queue/{queue}", "league-v4.getMasterLeague"); map.insert("/lol/league/v4/masterleagues/by-queue/{queue}", "league-v4.getMasterLeague");
map.insert("/lol/status/v3/shard-data", "lol-status-v3.getShardData"); map.insert("/lol/status/v3/shard-data", "lol-status-v3.getShardData");
map.insert("/lol/status/v4/platform-data", "lol-status-v4.getPlatformData");
map.insert("/lor/match/v1/matches/by-puuid/{puuid}/ids", "lor-match-v1.getMatchIdsByPUUID"); map.insert("/lor/match/v1/matches/by-puuid/{puuid}/ids", "lor-match-v1.getMatchIdsByPUUID");
map.insert("/lor/match/v1/matches/{matchId}", "lor-match-v1.getMatch"); map.insert("/lor/match/v1/matches/{matchId}", "lor-match-v1.getMatch");
map.insert("/lor/ranked/v1/leaderboards", "lor-ranked-v1.getLeaderboards"); map.insert("/lor/ranked/v1/leaderboards", "lor-ranked-v1.getLeaderboards");
map.insert("/lor/status/v1/platform-data", "lor-status-v1.getPlatformData");
map.insert("/lol/match/v4/matches/by-tournament-code/{tournamentCode}/ids", "match-v4.getMatchIdsByTournamentCode"); map.insert("/lol/match/v4/matches/by-tournament-code/{tournamentCode}/ids", "match-v4.getMatchIdsByTournamentCode");
map.insert("/lol/match/v4/matches/{matchId}", "match-v4.getMatch"); map.insert("/lol/match/v4/matches/{matchId}", "match-v4.getMatch");
map.insert("/lol/match/v4/matches/{matchId}/by-tournament-code/{tournamentCode}", "match-v4.getMatchByTournamentCode"); map.insert("/lol/match/v4/matches/{matchId}/by-tournament-code/{tournamentCode}", "match-v4.getMatchByTournamentCode");
@ -74,6 +76,7 @@ lazy_static! {
map.insert("/val/match/v1/matches/{matchId}", "val-match-v1.getMatch"); map.insert("/val/match/v1/matches/{matchId}", "val-match-v1.getMatch");
map.insert("/val/match/v1/matchlists/by-puuid/{puuid}", "val-match-v1.getMatchlist"); map.insert("/val/match/v1/matchlists/by-puuid/{puuid}", "val-match-v1.getMatchlist");
map.insert("/val/match/v1/recent-matches/by-queue/{queue}", "val-match-v1.getRecent"); map.insert("/val/match/v1/recent-matches/by-queue/{queue}", "val-match-v1.getRecent");
map.insert("/val/status/v1/platform-data", "val-status-v1.getPlatformData");
map map
}; };
} }

View File

@ -7,7 +7,7 @@
/////////////////////////////////////////////// ///////////////////////////////////////////////
// http://www.mingweisamuel.com/riotapi-schema/tool/ // http://www.mingweisamuel.com/riotapi-schema/tool/
// Version 46d6543508faf7f5f800259caddca32c99565c64 // Version ece6f45a4d6232f4e9940219258f1bd3ae1fee6d
//! Data transfer structs. //! Data transfer structs.
//! //!
@ -421,6 +421,83 @@ pub mod lol_status_v3 {
} }
} }
/// Data structs used by [`LolStatusV4`](crate::endpoints::LolStatusV4).
///
/// Note: this module is automatically generated.
#[allow(dead_code)]
pub mod lol_status_v4 {
/// PlatformData data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
/// Status data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
/// (Legal values: scheduled, in_progress, complete)
#[serde(rename = "maintenance_status")]
pub maintenance_status: String,
/// (Legal values: info, warning, critical)
#[serde(rename = "incident_severity")]
pub incident_severity: String,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
pub archive_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
/// (Legal values: windows, macos, android, ios, ps4, xbone, switch)
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
/// Content data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
/// Update data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
/// (Legal values: riotclient, riotstatus, game)
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}
/// Data structs used by [`LorMatchV1`](crate::endpoints::LorMatchV1). /// Data structs used by [`LorMatchV1`](crate::endpoints::LorMatchV1).
/// ///
/// Note: this module is automatically generated. /// Note: this module is automatically generated.
@ -519,6 +596,83 @@ pub mod lor_ranked_v1 {
} }
} }
/// Data structs used by [`LorStatusV1`](crate::endpoints::LorStatusV1).
///
/// Note: this module is automatically generated.
#[allow(dead_code)]
pub mod lor_status_v1 {
/// PlatformData data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
/// Status data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
/// (Legal values: scheduled, in_progress, complete)
#[serde(rename = "maintenance_status")]
pub maintenance_status: String,
/// (Legal values: info, warning, critical)
#[serde(rename = "incident_severity")]
pub incident_severity: String,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
pub archive_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
/// (Legal values: windows, macos, android, ios, ps4, xbone, switch)
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
/// Content data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
/// Update data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
/// (Legal values: riotclient, riotstatus, game)
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}
/// Data structs used by [`MatchV4`](crate::endpoints::MatchV4). /// Data structs used by [`MatchV4`](crate::endpoints::MatchV4).
/// ///
/// Note: this module is automatically generated. /// Note: this module is automatically generated.
@ -1619,7 +1773,10 @@ pub mod tft_match_v1 {
/// This field was introduced in patch 9.22 with data_version 2. /// This field was introduced in patch 9.22 with data_version 2.
#[serde(rename = "character_id")] #[serde(rename = "character_id")]
pub character_id: String, pub character_id: String,
/// Unit name. /// If a unit is chosen as part of the Fates set mechanic, the chosen trait will be indicated by this field. Otherwise this field is excluded from the response.
#[serde(rename = "chosen")]
pub chosen: Option<String>,
/// Unit name. This field is often left blank.
#[serde(rename = "name")] #[serde(rename = "name")]
pub name: String, pub name: String,
/// Unit rarity. This doesn't equate to the unit cost. /// Unit rarity. This doesn't equate to the unit cost.
@ -1628,8 +1785,6 @@ pub mod tft_match_v1 {
/// Unit tier. /// Unit tier.
#[serde(rename = "tier")] #[serde(rename = "tier")]
pub tier: i32, pub tier: i32,
#[serde(rename = "chosen")]
pub chosen: Option<String>,
} }
/// Companion data object. /// Companion data object.
#[derive(Debug)] #[derive(Debug)]
@ -1937,6 +2092,8 @@ pub mod val_content_v1 {
pub player_cards: std::vec::Vec<ContentItem>, pub player_cards: std::vec::Vec<ContentItem>,
#[serde(rename = "playerTitles")] #[serde(rename = "playerTitles")]
pub player_titles: std::vec::Vec<ContentItem>, pub player_titles: std::vec::Vec<ContentItem>,
#[serde(rename = "acts")]
pub acts: std::vec::Vec<Act>,
} }
/// ContentItem data object. /// ContentItem data object.
#[derive(Debug)] #[derive(Debug)]
@ -1998,6 +2155,20 @@ pub mod val_content_v1 {
#[serde(rename = "zh-TW")] #[serde(rename = "zh-TW")]
pub zh_tw: String, pub zh_tw: String,
} }
/// Act data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Act {
#[serde(rename = "name")]
pub name: String,
/// This field is excluded from the response when a locale is set
#[serde(rename = "localizedNames")]
pub localized_names: LocalizedNames,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "isActive")]
pub is_active: bool,
}
} }
/// Data structs used by [`ValMatchV1`](crate::endpoints::ValMatchV1). /// Data structs used by [`ValMatchV1`](crate::endpoints::ValMatchV1).
@ -2299,3 +2470,80 @@ pub mod val_match_v1 {
pub match_ids: std::vec::Vec<String>, pub match_ids: std::vec::Vec<String>,
} }
} }
/// Data structs used by [`ValStatusV1`](crate::endpoints::ValStatusV1).
///
/// Note: this module is automatically generated.
#[allow(dead_code)]
pub mod val_status_v1 {
/// PlatformData data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
/// Status data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
/// (Legal values: scheduled, in_progress, complete)
#[serde(rename = "maintenance_status")]
pub maintenance_status: String,
/// (Legal values: info, warning, critical)
#[serde(rename = "incident_severity")]
pub incident_severity: String,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
pub archive_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
/// (Legal values: windows, macos, android, ios, ps4, xbone, switch)
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
/// Content data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
/// Update data object.
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
/// (Legal values: riotclient, riotstatus, game)
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}