aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMaxim Filippov <colixer@gmail.com>2019-10-11 00:24:31 +0300
committerMaxim Filippov <colixer@gmail.com>2019-10-11 00:24:31 +0300
commitf5104f36bbec7d49d4ff5acee4b9d28223c6474d (patch)
treea5547f489c21a156268f333e3855b93c72c8a1ad /lib
parentad42837244ba4c945b76c5addaffe47353cf62a8 (diff)
downloadpleroma-f5104f36bbec7d49d4ff5acee4b9d28223c6474d.tar.gz
Deprecate /api/pleroma/admin/users/:nickname/toggle_activation instead of deleting it
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/admin_api/admin_api_controller.ex20
-rw-r--r--lib/pleroma/web/router.ex1
2 files changed, 21 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 d825a5d28..5b513bd7c 100644
--- a/lib/pleroma/web/admin_api/admin_api_controller.ex
+++ b/lib/pleroma/web/admin_api/admin_api_controller.ex
@@ -46,6 +46,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
:user_delete,
:users_create,
:user_toggle_activation,
+ :user_activate,
+ :user_deactivate,
:tag_users,
:untag_users,
:right_add,
@@ -231,6 +233,24 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
end
end
+ def user_toggle_activation(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname}) do
+ user = User.get_cached_by_nickname(nickname)
+
+ {:ok, updated_user} = User.deactivate(user, !user.info.deactivated)
+
+ action = if user.info.deactivated, do: "activate", else: "deactivate"
+
+ ModerationLog.insert_log(%{
+ actor: admin,
+ subject: [user],
+ action: action
+ })
+
+ conn
+ |> put_view(AccountView)
+ |> render("show.json", %{user: updated_user})
+ end
+
def user_activate(%{assigns: %{user: admin}} = conn, %{"nicknames" => nicknames}) do
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
{:ok, updated_users} = User.deactivate(users, false)
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index 894375357..a79df51a2 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -136,6 +136,7 @@ defmodule Pleroma.Web.Router do
delete("/users", AdminAPIController, :user_delete)
post("/users", AdminAPIController, :users_create)
+ patch("/users/:nickname/toggle_activation", AdminAPIController, :user_toggle_activation)
patch("/users/activate", AdminAPIController, :user_activate)
patch("/users/deactivate", AdminAPIController, :user_deactivate)
put("/users/tag", AdminAPIController, :tag_users)