This is a plug to ensure a session has an id…
defmodule KokoWeb.Plugs.EnsureSessionId do
@moduledoc """
Add a session_id to conn and session
"""
import Plug.Conn
def init(opts), do: opts
def call(conn, _opts) do
case get_session(conn, :session_id) do
nil ->
session_id = Ecto.UUID.generate()
conn
|> put_session(:session_id, session_id)
|> assign(:session_id, session_id)
session_id ->
conn
|> assign(:session_id, session_id)
end
end
end