Current section

Files

Jump to
messenger_bot lib messenger_bot config.ex
Raw

lib/messenger_bot/config.ex

defmodule MessengerBot.Config do
@moduledoc """
App configurations
"""
@app :messenger_bot
@doc """
Messenger Setup Token
"""
def setup_token do
@app
|> Application.get_env(:setup_token)
|> get_env_var()
end
@doc """
Messenger App Id
"""
def app_id do
@app
|> Application.get_env(:app_id)
|> get_env_var()
end
@doc """
Messenger App Token
"""
def app_token do
@app
|> Application.get_env(:app_token)
|> get_env_var()
end
@doc """
Messenger Page Token
"""
def page_token(page_id) do
page_id
|> page()
|> Map.get(:token, "")
|> get_env_var()
end
@doc """
Retreive Facebook Page information from Application config
"""
def page(page_id) do
Application.get_env(@app, :pages, %{})[page_id]
end
@doc """
Save all Facebook pages info to Application config
"""
def save_pages(pages) do
Application.put_env(@app, :pages, pages)
end
defp get_env_var({:system, name, default_val}),
do: System.get_env(name) || default_val
defp get_env_var(val), do: val
end