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