29 lines
710 B
Elixir
29 lines
710 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_map(resp) ->
|
|
IO.inspect(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
|
|
resp = EzcontainerRailway.Railway.get_projects(token).body
|
|
|
|
if Railway.has_errors?(resp) do
|
|
nil
|
|
else
|
|
resp["data"]
|
|
end
|
|
end
|
|
end
|