Current section
Files
Jump to
Current section
Files
lib/routes.ex
defmodule PLM.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
defp route_prefix(<<"/ws/", p::binary>>), do: route(p)
defp route_prefix(<<"/", p::binary>>), do: route(p)
defp route_prefix(path), do: route(path)
def route(<<"bpe", _::binary>>), do: PLM.Actors
def route(<<"login", _::binary>>), do: PLM.Login
def route(<<"form", _::binary>>), do: PLM.Forms
def route(<<"act", _::binary>>), do: PLM.Actor
def route(<<"product", _::binary>>), do: PLM.Product
def route(<<"kvs", _::binary>>), do: :kvs_adm
def route(<<"plm", _::binary>>), do: PLM.Products
def route(<<"app/login", _::binary>>), do: PLM.Login
def route(<<"app/form", _::binary>>), do: PLM.Forms
def route(<<"app/act", _::binary>>), do: PLM.Actor
def route(<<"app/bpe", _::binary>>), do: PLM.Actors
def route(<<"app/kvs", _::binary>>), do: :kvs_adm
def route(<<"app/plm", _::binary>>), do: PLM.Products
def route(<<"app/product", _::binary>>), do: PLM.Product
def route(_), do: PLM.Login
end