defmodule Plaid.AssetReport.Warning do
@moduledoc """
[Plaid Asset Report Warning schema](https://plaid.com/docs/api/products/#asset_report-get-response-warnings)
"""
@behaviour Plaid.Castable
alias Plaid.AssetReport.Warning.Cause
alias Plaid.Castable
@type t :: %__MODULE__{
warning_type: String.t(),
warning_code: String.t(),
cause: Cause.t()
}
defstruct [
:warning_type,
:warning_code,
:cause
]
@impl true
def cast(generic_map) do
%__MODULE__{
warning_type: generic_map["warning_type"],
warning_code: generic_map["warning_code"],
cause: Castable.cast(Cause, generic_map["cause"])
}
end
end