ezcontainer_example/lib/ezcontainer_railway_web/controllers/session_controller.ex

28 lines
674 B
Elixir
Raw Normal View History

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