Initial commit
This commit is contained in:
40
lib/confient_web/plugs/auth.ex
Normal file
40
lib/confient_web/plugs/auth.ex
Normal file
@@ -0,0 +1,40 @@
|
||||
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
|
||||
Reference in New Issue
Block a user