defmodule Circlex.Struct.BankAccount do
import Circlex.Struct.Util
defstruct [
:id,
:status,
:description,
:tracking_ref,
:fingerprint,
:billing_details,
:bank_address,
:create_date,
:update_date,
:virtual_account_number
]
def deserialize(bank_account) do
%__MODULE__{
id: fetch(bank_account, :id),
status: fetch(bank_account, :status),
description: fetch(bank_account, :description),
tracking_ref: fetch(bank_account, :trackingRef),
fingerprint: fetch(bank_account, :fingerprint),
billing_details: fetch(bank_account, :billingDetails),
bank_address: fetch(bank_account, :bankAddress),
create_date: fetch(bank_account, :createDate),
update_date: fetch(bank_account, :updateDate),
virtual_account_number: fetch(bank_account, :virtualAccountNumber)
}
end
def serialize(bank_account) do
%{
id: bank_account.id,
status: bank_account.status,
description: bank_account.description,
trackingRef: bank_account.tracking_ref,
fingerprint: bank_account.fingerprint,
billingDetails: bank_account.billing_details,
bankAddress: bank_account.bank_address,
createDate: bank_account.create_date,
updateDate: bank_account.update_date,
virtualAccountNumber: bank_account.virtual_account_number
}
end
end