defmodule Responses.Instruments.CreateBankAccount do
@moduledoc false
alias Customers.Customer
alias Instruments.Bank
@derive Jason.Encoder
@type t :: %__MODULE__{
type: String.t(),
id: String.t(),
fingerprint: String.t(),
customer: Customer.t(),
bank: Bank.t(),
swift_bic: String.t(),
account_number: String.t(),
bank_code: String.t(),
iban: String.t()
}
defstruct [
:type,
:id,
:fingerprint,
:customer,
:bank,
:swift_bic,
:account_number,
:bank_code,
:iban
]
def build(params) when is_map(params) do
%__MODULE__{
type: params["type"],
id: params["id"],
fingerprint: params["fingerprint"],
customer: Customer.build(params["customer"]),
bank: Bank.build(params["bank"]),
swift_bic: params["swift_bic"],
account_number: params["account_number"],
bank_code: params["bank_code"],
iban: params["iban"]
}
end
def build(_), do: nil
end