diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-12-25 19:57:53 -0600 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-12-25 19:57:53 -0600 |
commit | db2bf55e9bb31af2ed34805ca7fa98ce67b471b1 (patch) | |
tree | f532711eaf19111e22375e87706edf5a3024e5b5 /lib/pleroma/web/admin_api/controllers/user_controller.ex | |
parent | b15c4629ff3093353ac5e37d381db1cdc4da1c3a (diff) | |
parent | 73609211a425922a5068d3912a36b82abe24e12c (diff) | |
download | pleroma-db2bf55e9bb31af2ed34805ca7fa98ce67b471b1.tar.gz |
Merge remote-tracking branch 'origin/develop' into notice-routes
Diffstat (limited to 'lib/pleroma/web/admin_api/controllers/user_controller.ex')
-rw-r--r-- | lib/pleroma/web/admin_api/controllers/user_controller.ex | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/lib/pleroma/web/admin_api/controllers/user_controller.ex b/lib/pleroma/web/admin_api/controllers/user_controller.ex index d3e4c18a3..50208a8b7 100644 --- a/lib/pleroma/web/admin_api/controllers/user_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/user_controller.ex @@ -35,7 +35,9 @@ defmodule Pleroma.Web.AdminAPI.UserController do :toggle_activation, :activate, :deactivate, - :approve + :approve, + :suggest, + :unsuggest ] ) @@ -45,8 +47,6 @@ defmodule Pleroma.Web.AdminAPI.UserController do when action in [:follow, :unfollow] ) - plug(:put_view, Pleroma.Web.AdminAPI.AccountView) - action_fallback(AdminAPI.FallbackController) defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.Admin.UserOperation @@ -241,6 +241,32 @@ defmodule Pleroma.Web.AdminAPI.UserController do render(conn, "index.json", users: updated_users) end + def suggest(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do + users = Enum.map(nicknames, &User.get_cached_by_nickname/1) + {:ok, updated_users} = User.set_suggestion(users, true) + + ModerationLog.insert_log(%{ + actor: admin, + subject: users, + action: "add_suggestion" + }) + + render(conn, "index.json", users: updated_users) + end + + def unsuggest(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do + users = Enum.map(nicknames, &User.get_cached_by_nickname/1) + {:ok, updated_users} = User.set_suggestion(users, false) + + ModerationLog.insert_log(%{ + actor: admin, + subject: users, + action: "remove_suggestion" + }) + + render(conn, "index.json", users: updated_users) + end + def index(conn, params) do {page, page_size} = page_params(params) filters = maybe_parse_filters(params[:filters]) |