# NOTE: This file is auto generated by OpenAPI Generator 7.8.0-SNAPSHOT (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule GameBrainAPI.Model.GameResponse do
@moduledoc """
"""
@derive Jason.Encoder
defstruct [
:id,
:name,
:image,
:gameplay,
:link,
:x_url,
:rating,
:description,
:short_description,
:release_date,
:developer,
:playtime,
:platforms,
:tags,
:genres,
:genre,
:themes,
:adult_only,
:play_modes,
:screenshots,
:videos,
:offers,
:official_stores,
:micro_trailer
]
@type t :: %__MODULE__{
:id => integer() | nil,
:name => String.t | nil,
:image => String.t | nil,
:gameplay => String.t | nil,
:link => String.t | nil,
:x_url => String.t | nil,
:rating => GameBrainAPI.Model.GameResponseRating.t | nil,
:description => String.t | nil,
:short_description => String.t | nil,
:release_date => Date.t | nil,
:developer => String.t | nil,
:playtime => GameBrainAPI.Model.GameResponsePlaytime.t | nil,
:platforms => [GameBrainAPI.Model.GameResponsePlatformsInner.t] | nil,
:tags => [String.t] | nil,
:genres => [GameBrainAPI.Model.GameResponsePlatformsInner.t] | nil,
:genre => String.t | nil,
:themes => [GameBrainAPI.Model.GameResponsePlatformsInner.t] | nil,
:adult_only => boolean() | nil,
:play_modes => [GameBrainAPI.Model.GameResponsePlatformsInner.t] | nil,
:screenshots => [String.t] | nil,
:videos => [String.t] | nil,
:offers => [GameBrainAPI.Model.GameResponseOffersInner.t] | nil,
:official_stores => [GameBrainAPI.Model.GameResponseOfficialStoresInner.t] | nil,
:micro_trailer => String.t | nil
}
alias GameBrainAPI.Deserializer
def decode(value) do
value
|> Deserializer.deserialize(:rating, :struct, GameBrainAPI.Model.GameResponseRating)
|> Deserializer.deserialize(:release_date, :date, nil)
|> Deserializer.deserialize(:playtime, :struct, GameBrainAPI.Model.GameResponsePlaytime)
|> Deserializer.deserialize(:platforms, :list, GameBrainAPI.Model.GameResponsePlatformsInner)
|> Deserializer.deserialize(:genres, :list, GameBrainAPI.Model.GameResponsePlatformsInner)
|> Deserializer.deserialize(:themes, :list, GameBrainAPI.Model.GameResponsePlatformsInner)
|> Deserializer.deserialize(:play_modes, :list, GameBrainAPI.Model.GameResponsePlatformsInner)
|> Deserializer.deserialize(:offers, :list, GameBrainAPI.Model.GameResponseOffersInner)
|> Deserializer.deserialize(:official_stores, :list, GameBrainAPI.Model.GameResponseOfficialStoresInner)
end
end