projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New mix tasks for controlling user confirmation status and sending confirmation mails
[akkoma]
/
lib
/
pleroma
/
user
/
query.ex
diff --git
a/lib/pleroma/user/query.ex
b/lib/pleroma/user/query.ex
index 293bbc0827b4fad317ad1facf2095ed6d10583be..64bb24c0e14ac2f2b3cd1c47c5d2fd0659e7e875 100644
(file)
--- a/
lib/pleroma/user/query.ex
+++ b/
lib/pleroma/user/query.ex
@@
-42,10
+42,11
@@
defmodule Pleroma.User.Query do
external: boolean(),
active: boolean(),
deactivated: boolean(),
external: boolean(),
active: boolean(),
deactivated: boolean(),
+ need_approval: boolean(),
is_admin: boolean(),
is_moderator: boolean(),
super_users: boolean(),
is_admin: boolean(),
is_moderator: boolean(),
super_users: boolean(),
-
exclude_service_users
: boolean(),
+
invisible
: boolean(),
followers: User.t(),
friends: User.t(),
recipients_from_activity: [String.t()],
followers: User.t(),
friends: User.t(),
recipients_from_activity: [String.t()],
@@
-89,8
+90,8
@@
defmodule Pleroma.User.Query do
where(query, [u], ilike(field(u, ^key), ^"%#{value}%"))
end
where(query, [u], ilike(field(u, ^key), ^"%#{value}%"))
end
- defp compose_query({:
exclude_service_users, _}, query
) do
- where(query, [u],
not like(u.ap_id, "%/relay") and not like(u.ap_id, "%/internal/fetch")
)
+ defp compose_query({:
invisible, bool}, query) when is_boolean(bool
) do
+ where(query, [u],
u.invisible == ^bool
)
end
defp compose_query({key, value}, query)
end
defp compose_query({key, value}, query)
@@
-106,12
+107,12
@@
defmodule Pleroma.User.Query do
where(query, [u], fragment("? && ?", u.tags, ^tags))
end
where(query, [u], fragment("? && ?", u.tags, ^tags))
end
- defp compose_query({:is_admin,
_
}, query) do
- where(query, [u], u.is_admin)
+ defp compose_query({:is_admin,
bool
}, query) do
+ where(query, [u], u.is_admin
== ^bool
)
end
end
- defp compose_query({:is_moderator,
_
}, query) do
- where(query, [u], u.is_moderator)
+ defp compose_query({:is_moderator,
bool
}, query) do
+ where(query, [u], u.is_moderator
== ^bool
)
end
defp compose_query({:super_users, _}, query) do
end
defp compose_query({:super_users, _}, query) do
@@
-129,6
+130,7
@@
defmodule Pleroma.User.Query do
defp compose_query({:active, _}, query) do
User.restrict_deactivated(query)
|> where([u], not is_nil(u.nickname))
defp compose_query({:active, _}, query) do
User.restrict_deactivated(query)
|> where([u], not is_nil(u.nickname))
+ |> where([u], u.approval_pending == false)
end
defp compose_query({:legacy_active, _}, query) do
end
defp compose_query({:legacy_active, _}, query) do
@@
-146,6
+148,14
@@
defmodule Pleroma.User.Query do
|> where([u], not is_nil(u.nickname))
end
|> where([u], not is_nil(u.nickname))
end
+ defp compose_query({:confirmation_pending, bool}, query) do
+ where(query, [u], u.confirmation_pending == ^bool)
+ 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)
defp compose_query({:followers, %User{id: id}}, query) do
query
|> where([u], u.id != ^id)