defmodule ConfientWeb.Plugs.Auth do import Plug.Conn import Phoenix.Controller alias Confient.Account def init(args), do: args def call(conn, _args) do if uid = Plug.Conn.get_session(conn, :current_user_id) do user = Account.get_user!(uid) conn |> assign(:current_user, user) else conn |> redirect(to: "/login") |> halt() end end end defmodule ConfientWeb.Plugs.InjectUser do import Plug.Conn alias Confient.Account def init(args), do: args def call(conn, _args) do if uid = Plug.Conn.get_session(conn, :current_user_id) do user = Account.get_user!(uid) conn |> assign(:current_user, user) else conn end end end