bdd057c44b4c6ff2fa331c4a6569706ff9bd2db3
[akkoma] / lib / pleroma / plugs / user_is_admin_plug.ex
1 defmodule Pleroma.Plugs.UserIsAdminPlug do
2 import Plug.Conn
3 alias Pleroma.User
4
5 def init(options) do
6 options
7 end
8
9 def call(%{assigns: %{user: %User{info: %{"is_admin" => true}}}} = conn, _) do
10 conn
11 end
12
13 def call(conn, _) do
14 conn
15 |> put_resp_content_type("application/json")
16 |> send_resp(403, Jason.encode!(%{error: "Not admin."}))
17 |> halt
18 end
19 end