lib/nuon/model/app_component_build.ex

# NOTE: This file is auto generated by OpenAPI Generator 7.5.0-SNAPSHOT (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule Nuon.Model.AppComponentBuild do
  @moduledoc """
  
  """

  @derive Jason.Encoder
  defstruct [
    :component_config_connection_id,
    :component_id,
    :component_name,
    :created_at,
    :created_by,
    :created_by_id,
    :git_ref,
    :id,
    :install_deploys,
    :releases,
    :status,
    :status_description,
    :updated_at,
    :vcs_connection_commit
  ]

  @type t :: %__MODULE__{
    :component_config_connection_id => String.t | nil,
    :component_id => String.t | nil,
    :component_name => String.t | nil,
    :created_at => String.t | nil,
    :created_by => Nuon.Model.AppUserToken.t | nil,
    :created_by_id => String.t | nil,
    :git_ref => String.t | nil,
    :id => String.t | nil,
    :install_deploys => [Nuon.Model.AppInstallDeploy.t] | nil,
    :releases => [Nuon.Model.AppComponentRelease.t] | nil,
    :status => String.t | nil,
    :status_description => String.t | nil,
    :updated_at => String.t | nil,
    :vcs_connection_commit => Nuon.Model.AppVcsConnectionCommit.t | nil
  }

  alias Nuon.Deserializer

  def decode(value) do
    value
     |> Deserializer.deserialize(:created_by, :struct, Nuon.Model.AppUserToken)
     |> Deserializer.deserialize(:install_deploys, :list, Nuon.Model.AppInstallDeploy)
     |> Deserializer.deserialize(:releases, :list, Nuon.Model.AppComponentRelease)
     |> Deserializer.deserialize(:vcs_connection_commit, :struct, Nuon.Model.AppVcsConnectionCommit)
  end
end