diff options
author | kaniini <nenolod@gmail.com> | 2019-02-26 23:31:53 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-02-26 23:31:53 +0000 |
commit | e9703a53265d38302d5659752c8068b5ef4a021f (patch) | |
tree | 901295e61b795990bce3a9fc50c1029abe6d49e3 /lib/pleroma/web/admin_api | |
parent | b985c91431cf69d5476fa2cad29a7be0af63186a (diff) | |
parent | 90d0d055fccc630066e66627281432e382aefdb1 (diff) | |
download | pleroma-e9703a53265d38302d5659752c8068b5ef4a021f.tar.gz |
Merge branch 'feature/more-actions-to-admin-api' into 'develop'
Add list/toggle activation endpoints to AdminController
See merge request pleroma/pleroma!867
Diffstat (limited to 'lib/pleroma/web/admin_api')
-rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 17 |
1 files changed, 17 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 9ec50bb90..ef72509fe 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do use Pleroma.Web, :controller alias Pleroma.User alias Pleroma.Web.ActivityPub.Relay + alias Pleroma.Web.TwitterAPI.UserView import Pleroma.Web.ControllerHelper, only: [json_response: 3] @@ -41,6 +42,15 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do |> json(user.nickname) end + def user_toggle_activation(conn, %{"nickname" => nickname}) do + user = User.get_by_nickname(nickname) + + {:ok, updated_user} = User.deactivate(user, !user.info.deactivated) + + conn + |> json(UserView.render("show_for_admin.json", %{user: updated_user})) + end + def tag_users(conn, %{"nicknames" => nicknames, "tags" => tags}) do with {:ok, _} <- User.tag(nicknames, tags), do: json_response(conn, :no_content, "") @@ -51,6 +61,13 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do do: json_response(conn, :no_content, "") end + def list_users(%{assigns: %{user: admin}} = conn, _data) do + users = User.all_except_one(admin) + + conn + |> json(UserView.render("index_for_admin.json", %{users: users})) + end + def right_add(conn, %{"permission_group" => permission_group, "nickname" => nickname}) when permission_group in ["moderator", "admin"] do user = User.get_by_nickname(nickname) |