mirror of
https://framagit.org/framasoft/mobilizon.git
synced 2024-12-26 01:38:36 +00:00
6ca0b5f915
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>
28 lines
534 B
Elixir
28 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
|