mobilizon/lib/mobilizon_web/context.ex
Thomas Citharel 6ca0b5f915
Add GraphQL methods and test
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Finish

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix tests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-15 16:37:46 +01:00

29 lines
534 B
Elixir

defmodule MobilizonWeb.Context do
@moduledoc """
Guardian context for MobilizonWeb
"""
@behaviour Plug
import Plug.Conn
alias Mobilizon.Users.User
def init(opts) do
opts
end
def call(conn, _) do
context = %{ip: to_string(:inet_parse.ntoa(conn.remote_ip))}
context =
case Guardian.Plug.current_resource(conn) do
%User{} = user ->
Map.put(context, :current_user, user)
nil ->
context
end
put_private(conn, :absinthe, %{context: context})
end
end