diff options
author | eugenijm <eugenijm@protonmail.com> | 2019-02-19 18:40:57 +0300 |
---|---|---|
committer | eugenijm <eugenijm@protonmail.com> | 2019-02-19 19:37:02 +0300 |
commit | 25b9e7a8c39602e6463a867089948a7957cfab9f (patch) | |
tree | b1f9ef74a0b2fcec874a733d7938ac41d543086a /lib | |
parent | 1dd718e83c76db218f12a98344b568fe10ecbefe (diff) | |
download | pleroma-25b9e7a8c39602e6463a867089948a7957cfab9f.tar.gz |
Added admin API for changing user activation status
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/router.ex | 2 |
2 files changed, 9 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 dc01f46f3..9ec50bb90 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -124,6 +124,13 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do |> json(%{error: "No such permission_group"}) end + def set_activation_status(conn, %{"nickname" => nickname, "status" => status}) do + with {:ok, status} <- Ecto.Type.cast(:boolean, status), + %User{} = user <- User.get_by_nickname(nickname), + {:ok, _} <- User.deactivate(user, !status), + do: json_response(conn, :no_content, "") + end + def relay_follow(conn, %{"relay_url" => target}) do with {:ok, _message} <- Relay.follow(target) do json(conn, target) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 9a6cf2232..a4a382110 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -124,6 +124,8 @@ defmodule Pleroma.Web.Router do post("/permission_group/:nickname/:permission_group", AdminAPIController, :right_add) delete("/permission_group/:nickname/:permission_group", AdminAPIController, :right_delete) + put("/activation_status/:nickname", AdminAPIController, :set_activation_status) + post("/relay", AdminAPIController, :relay_follow) delete("/relay", AdminAPIController, :relay_unfollow) |