aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2020-07-14 14:14:43 -0500
committerAlex Gleason <alex@alexgleason.me>2020-07-14 14:29:03 -0500
commit33f1b29b2c9cfe6f09c6b088b8b6f7bf14379b9b (patch)
tree8787f453ed68c3835f42c1867140ccbb65daf2b8 /lib
parentb750129da1434823746e3dbc237d0e04552fa753 (diff)
downloadpleroma-33f1b29b2c9cfe6f09c6b088b8b6f7bf14379b9b.tar.gz
AdminAPI: Filter users by `need_approval`
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user/query.ex5
-rw-r--r--lib/pleroma/web/admin_api/controllers/admin_api_controller.ex2
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/pleroma/user/query.ex b/lib/pleroma/user/query.ex
index 66ffe9090..45553cb6c 100644
--- a/lib/pleroma/user/query.ex
+++ b/lib/pleroma/user/query.ex
@@ -42,6 +42,7 @@ defmodule Pleroma.User.Query do
external: boolean(),
active: boolean(),
deactivated: boolean(),
+ need_approval: boolean(),
is_admin: boolean(),
is_moderator: boolean(),
super_users: boolean(),
@@ -146,6 +147,10 @@ defmodule Pleroma.User.Query do
|> where([u], not is_nil(u.nickname))
end
+ defp compose_query({:need_approval, _}, query) do
+ where(query, [u], u.approval_pending)
+ end
+
defp compose_query({:followers, %User{id: id}}, query) do
query
|> where([u], u.id != ^id)
diff --git a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex
index e5f14269a..037a6f269 100644
--- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex
+++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex
@@ -350,7 +350,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
end
end
- @filters ~w(local external active deactivated is_admin is_moderator)
+ @filters ~w(local external active deactivated need_approval is_admin is_moderator)
@spec maybe_parse_filters(String.t()) :: %{required(String.t()) => true} | %{}
defp maybe_parse_filters(filters) when is_nil(filters) or filters == "", do: %{}