ezcontainer_example/lib/ezcontainer_railway_web/controllers/session_controller.ex
2023-10-25 04:48:43 -04:00

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