Current section

Files

Jump to
elixir_plaid lib plaid transactions get_response.ex
Raw

lib/plaid/transactions/get_response.ex

defmodule Plaid.Transactions.GetResponse do
@moduledoc """
[Plaid API /transactions/get response schema.](https://plaid.com/docs/api/transactions)
"""
@behaviour Plaid.Castable
alias Plaid.Accounts.Account
alias Plaid.Castable
alias Plaid.Item
alias Plaid.Transactions.Transaction
@type t :: %__MODULE__{
accounts: [Account.t()],
transactions: [Transaction.t()],
item: Item.t(),
total_transactions: integer(),
request_id: String.t()
}
defstruct [
:accounts,
:transactions,
:item,
:total_transactions,
:request_id
]
@impl true
def cast(generic_map) do
%__MODULE__{
accounts: Castable.cast_list(Account, generic_map["accounts"]),
transactions: Castable.cast_list(Transaction, generic_map["transactions"]),
item: Castable.cast(Item, generic_map["item"]),
total_transactions: generic_map["total_transactions"],
request_id: generic_map["request_id"]
}
end
end