Current section

Files

Jump to
ex_messagebird lib services sms message.ex
Raw

lib/services/sms/message.ex

defmodule ExMessagebird.SMS.Message do
defstruct [
:id,
:href,
:direction,
:type,
:originator,
:body,
:validity,
:gateway,
:datacoding,
:mclass,
:scheduled_datetime,
:created_datetime
]
alias __MODULE__
@doc """
Generates a message struct from the json object returned by the programmable SMS API
"""
def from_response(%{
"id" => id,
"href" => href,
"direction" => direction,
"type" => type,
"originator" => originator,
"body" => body,
"validity" => validity,
"gateway" => gateway,
"datacoding" => datacoding,
"mclass" => mclass,
"scheduledDatetime" => scheduled_datetime,
"createdDatetime" => created_datetime
}) do
{:ok,
%Message{
id: id,
href: href,
direction: direction,
type: type,
originator: originator,
body: body,
validity: validity,
gateway: gateway,
datacoding: datacoding,
mclass: mclass,
scheduled_datetime: scheduled_datetime,
created_datetime: created_datetime
}}
end
def from_response(_) do
{:error, :invalid_response}
end
end