Packages

PLM Product Lifecycle Management

Current section

Files

Jump to
bud lib routes.ex
Raw

lib/routes.ex

defmodule BUD.Routes do
use N2O, with: [:n2o, :nitro]
def finish(state, context), do: {:ok, state, context}
def init(state, context) do
%{path: path} = cx(context, :req)
{:ok, state, cx(context, path: path, module: route_prefix(path))}
end
def route_prefix(<<"/ws/", p::binary>>), do: route(p)
def route_prefix(<<"/", p::binary>>), do: route(p)
def route_prefix(path), do: route(path)
def route(<<>>), do: BUD.Index
def route(<<"actors", _::binary>>), do: BUD.Index
def route(<<"login", _::binary>>), do: BUD.Login
def route(<<"forms", _::binary>>), do: BUD.Forms
def route(<<"act", _::binary>>), do: BUD.Act
def route(<<"kvs", _::binary>>), do: :adm_kvs
def route(<<"app/actors", _::binary>>), do: BUD.Index
def route(<<"app/login", _::binary>>), do: BUD.Login
def route(<<"app/forms", _::binary>>), do: BUD.Forms
def route(<<"app/act", _::binary>>), do: BUD.Act
def route(<<"app/kvs", _::binary>>), do: :adm_kvs
def route(_), do: BUD.Login
end