defmodule Requests.Payments.Sources.GiroPay do
@moduledoc false
@type info_field :: %{
label: String.t(),
text: String.t()
}
@type t :: %__MODULE__{
type: String.t(),
purpose: String.t(),
info_fields: list(info_field())
}
@enforce_keys [:type, :purpose]
defstruct [
:type,
:purpose,
:info_fields
]
def build(%{type: type, purpose: purpose, info_fields: info_fields}) do
%{
type: type,
purpose: purpose,
info_fields: info_fields
}
end
def build(%{"type" => type, "purpose" => purpose, "info_fields" => info_fields}) do
%{
type: type,
purpose: purpose,
info_fields: info_fields
}
end
def build(_), do: nil
end