defmodule Auth0.Entity.EmailProvider do
@moduledoc """
Documentation for entity of EmailProvider.
"""
defmodule Credentials do
@moduledoc """
Documentation for entity of EmailProvider Credentials.
"""
alias Auth0.Common.Util
defstruct api_user: nil,
region: nil,
smtp_host: nil,
smtp_port: nil,
smtp_user: nil
@type t :: %__MODULE__{
api_user: String.t(),
region: String.t(),
smtp_host: String.t(),
smtp_port: integer,
smtp_user: String.t()
}
@spec from(map) :: __MODULE__.t()
def from(value) do
value |> Util.to_struct(__MODULE__)
end
end
alias Auth0.Common.Util
defstruct name: nil,
enabled: nil,
default_from_address: nil,
credentials: nil,
settings: nil
@type t :: %__MODULE__{
name: String.t(),
enabled: boolean,
default_from_address: String.t(),
credentials: Credentials.t(),
settings: map
}
@spec from(map) :: __MODULE__.t()
def from(value) do
email_provider = value |> Util.to_struct(__MODULE__)
%{
email_provider
| credentials:
if(email_provider.credentials |> is_map,
do: email_provider.credentials |> Credentials.from(),
else: nil
)
}
end
end