philomena/lib/philomena_web/plugs/reload_user.ex
2019-10-31 13:57:39 -04:00

21 lines
No EOL
420 B
Elixir

defmodule PhilomenaWeb.Plugs.ReloadUser do
alias Pow.Plug
alias Philomena.Users.User
alias Philomena.Repo
def init(opts), do: opts
def call(conn, _opts) do
config = Plug.fetch_config(conn)
case Plug.current_user(conn, config) do
nil ->
conn
user ->
reloaded_user = Repo.get!(User, user.id)
Plug.assign_current_user(conn, reloaded_user, config)
end
end
end