diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 15 | ||||
| -rw-r--r-- | lib/pleroma/web/router.ex | 1 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex index 3fa9c6909..b3a09e49e 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -45,6 +45,15 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do      |> json(user.nickname)    end +  def user_show(conn, %{"nickname" => nickname}) do +    with %User{} = user <- User.get_by_nickname(nickname) do +      conn +      |> json(AccountView.render("show.json", %{user: user})) +    else +      _ -> {:error, :not_found} +    end +  end +    def user_toggle_activation(conn, %{"nickname" => nickname}) do      user = User.get_by_nickname(nickname) @@ -231,6 +240,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do      |> json(token.token)    end +  def errors(conn, {:error, :not_found}) do +    conn +    |> put_status(404) +    |> json("Not found") +  end +    def errors(conn, {:param_cast, _}) do      conn      |> put_status(400) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 32e5f7644..9ccb4e535 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -140,6 +140,7 @@ defmodule Pleroma.Web.Router do      pipe_through([:admin_api, :oauth_write])      get("/users", AdminAPIController, :list_users) +    get("/users/:nickname", AdminAPIController, :user_show)      delete("/user", AdminAPIController, :user_delete)      patch("/users/:nickname/toggle_activation", AdminAPIController, :user_toggle_activation)      post("/user", AdminAPIController, :user_create) | 
