defmodule Plaid.Identity.Match.User.Address do
@moduledoc """
Struct for Plaid's [Identity Match User Address](https://plaid.com/docs/api/products/identity/#identity-match-request-user-address) object.
"""
@behaviour Plaid.Castable
@enforce_keys [:city, :region, :street, :postal_code, :country]
@type t :: %__MODULE__{
city: String.t(),
region: String.t(),
street: String.t(),
postal_code: String.t(),
country: String.t()
}
@derive Jason.Encoder
defstruct [
:city,
:region,
:street,
:postal_code,
:country
]
@impl true
def cast(map) do
%__MODULE__{
city: map["city"],
region: map["region"],
street: map["street"],
postal_code: map["postal_code"],
country: map["country"]
}
end
end