2018-11-06 09:30:27 +00:00
|
|
|
defmodule MobilizonWeb.Context do
|
2019-01-03 13:59:59 +00:00
|
|
|
@moduledoc """
|
|
|
|
Guardian context for MobilizonWeb
|
|
|
|
"""
|
2018-11-06 09:30:27 +00:00
|
|
|
@behaviour Plug
|
|
|
|
|
|
|
|
import Plug.Conn
|
2019-03-06 17:45:26 +00:00
|
|
|
alias Mobilizon.Users.User
|
2018-11-06 09:30:27 +00:00
|
|
|
|
|
|
|
def init(opts) do
|
|
|
|
opts
|
|
|
|
end
|
|
|
|
|
|
|
|
def call(conn, _) do
|
2019-03-06 17:45:26 +00:00
|
|
|
with %User{} = user <- Guardian.Plug.current_resource(conn) do
|
|
|
|
put_private(conn, :absinthe, %{context: %{current_user: user}})
|
|
|
|
else
|
2018-11-06 09:30:27 +00:00
|
|
|
nil ->
|
|
|
|
conn
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|