defmodule EzcontainerRailwayWeb.SessionController do alias EzcontainerRailway.Railway use EzcontainerRailwayWeb, :controller def logout(conn, _) do conn |> clear_session() |> redirect(to: "/") end 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