diff options
author | Maxim Filippov <colixer@gmail.com> | 2019-10-11 00:24:31 +0300 |
---|---|---|
committer | Maxim Filippov <colixer@gmail.com> | 2019-10-11 00:24:31 +0300 |
commit | f5104f36bbec7d49d4ff5acee4b9d28223c6474d (patch) | |
tree | a5547f489c21a156268f333e3855b93c72c8a1ad /lib/pleroma/web/admin_api | |
parent | ad42837244ba4c945b76c5addaffe47353cf62a8 (diff) | |
download | pleroma-f5104f36bbec7d49d4ff5acee4b9d28223c6474d.tar.gz |
Deprecate /api/pleroma/admin/users/:nickname/toggle_activation instead of deleting it
Diffstat (limited to 'lib/pleroma/web/admin_api')
-rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 20 |
1 files changed, 20 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) |