ezcontainer_example/lib/ezcontainer_railway_web/controllers/session_controller.ex

27 lines
674 B
Elixir

defmodule EzcontainerRailwayWeb.SessionController do
alias EzcontainerRailway.Railway
use EzcontainerRailwayWeb, :controller
def token(conn, %{"railway_token" => token}) do
case get_projects(token) do
resp when is_list(resp) ->
conn
|> put_session(:railway_token, token)
|> assign(:railway_token, token)
|> redirect(to: "/containers")
nil ->
conn
|> put_flash(:error, "Invalid Token")
|> redirect(to: "/")
end
end
defp get_projects(token) do
case EzcontainerRailway.Railway.get_projects(token) do
{:error, _} ->
nil
{:ok, data} ->
data
end
end
end