Current section

Files

Jump to
messenger_bot lib messenger_bot payloads messenger_profile_set_request.ex
Raw

lib/messenger_bot/payloads/messenger_profile_set_request.ex

defmodule MessengerBot.Payload.MessengerProfileSetRequest do
@moduledoc """
Request struct
"""
@derive [Poison.Encoder]
defstruct [:get_started, :persistent_menu, :greeting, :whitelisted_domains,
:account_linking_url, :payment_settings, :target_audience, :home_url]
@type t :: %__MODULE__{
get_started: Map.t,
persistent_menu: list(Map.t),
greeting: list(Map.t),
whitelisted_domains: list(String.t),
account_linking_url: String.t,
payment_settings: Map.t,
target_audience: Map.t,
home_url: Map.t
}
@spec build_get_started_button :: __MODULE__.t
def build_get_started_button do
%__MODULE__{get_started: %{payload: "GET_STARTED"}}
end
@spec build_persistent_menu(list(Map.t)) :: __MODULE__.t
def build_persistent_menu(menu_items) do
%__MODULE__{persistent_menu: menu_items}
end
@spec build_greeting(list(Map.t)) :: __MODULE__.t
def build_greeting(greetings) do
%__MODULE__{greeting: greetings}
end
@spec build_whitelisted_domains(list(String.t)) :: __MODULE__.t
def build_whitelisted_domains(domains) do
%__MODULE__{whitelisted_domains: domains}
end
@spec build_account_linking_url(String.t) :: __MODULE__.t
def build_account_linking_url(url) do
%__MODULE__{account_linking_url: url}
end
@spec build_payment_settings(Map.t) :: __MODULE__.t
def build_payment_settings(payment_settings) do
%__MODULE__{payment_settings: payment_settings}
end
@spec build_target_audience(Map.t) :: __MODULE__.t
def build_target_audience(target_audience) do
%__MODULE__{target_audience: target_audience}
end
@spec build_home_url(Map.t) :: __MODULE__.t
def build_home_url(home_url) do
%__MODULE__{home_url: home_url}
end
end