diff options
author | eugenijm <eugenijm@protonmail.com> | 2019-03-27 21:19:00 +0300 |
---|---|---|
committer | eugenijm <eugenijm@protonmail.com> | 2019-03-27 21:44:15 +0300 |
commit | 10c81fc902c639633bddff64a3e7450a6796d180 (patch) | |
tree | f37ac2a556b12edda9ef66c23875e221a30ed591 /lib | |
parent | 926bf114b7385761c3cac50e262d061f47fda4b8 (diff) | |
download | pleroma-10c81fc902c639633bddff64a3e7450a6796d180.tar.gz |
Add user show endpoint for Pleroma admin API
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) |