Packages

Provides a full user authentication experience for an API. Includes login,logout,register,forgot password, forgot username, confirmation email and all that other good stuff. Includes plug for checking for authenticated users and macro for generating the required routes.

Current section

Files

Jump to
access_pass lib access_pass config.ex
Raw

lib/access_pass/config.ex

defmodule AccessPass.Config do
@moduledoc false
def unquote(:repo)() do
Application.get_env(:access_pass, unquote(:repo)) || AccessPass.Repo
end
def unquote(:confirmation_email)() do
apl(
Application.get_env(:access_pass, unquote(:confirmation_template)) ||
{AccessPass.EmailTemplates, :confirmation_email, []}
)
end
def unquote(:password_reset)() do
apl(
Application.get_env(:access_pass, unquote(:password_reset_template)) ||
{AccessPass.EmailTemplates, :password_reset, []}
)
end
def unquote(:forgot_username)() do
apl(
Application.get_env(:access_pass, unquote(:forgot_username_template)) ||
{AccessPass.EmailTemplates, :forgot_username, []}
)
end
def unquote(:custom_change)() do
Application.get_env(:access_pass, unquote(:custom_change_mod)) || AccessPass.Users
end
def unquote(:after_insert)() do
Application.get_env(:access_pass, unquote(:after_insert_mod)) || AccessPass.Users
end
def unquote(:insert_override)() do
Application.get_env(:access_pass, unquote(:insert_override_mod)) || AccessPass.GateKeeper
end
def unquote(:id_gen)() do
Application.get_env(:access_pass, unquote(:id_gen_mod)) || AccessPass.Users
end
def unquote(:refresh_expire_in)() do
Application.get_env(:access_pass, unquote(:refresh_expire_in)) || 0
end
def unquote(:access_expire_in)() do
Application.get_env(:access_pass, unquote(:access_expire_in)) || 300
end
def unquote(:id_len)() do
Application.get_env(:access_pass, unquote(:id_len)) || 6
end
def unquote(:from)() do
Application.get_env(:access_pass, unquote(:from))
end
def unquote(:confirmation_subject)() do
Application.get_env(:access_pass, unquote(:confirmation_subject)) || "Confirmation email"
end
def unquote(:reset_password_subject)() do
Application.get_env(:access_pass, unquote(:reset_password_subject)) || "Reset your password"
end
def unquote(:forgot_username_subject)() do
Application.get_env(:access_pass, unquote(:forgot_username_subject)) || "Forgot Username"
end
def apl({mod, func, arg}) do
apply(mod, func, arg)
end
end