feat(spam): Introduce checking new accounts, events & comments for spam with the help of Akismet
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -320,8 +320,8 @@ defmodule Mobilizon.Actors do
|
||||
String.t(),
|
||||
String.t(),
|
||||
String.t(),
|
||||
boolean,
|
||||
boolean,
|
||||
boolean | nil,
|
||||
boolean | nil,
|
||||
integer | nil,
|
||||
integer | nil
|
||||
) :: Page.t(Actor.t())
|
||||
@@ -380,8 +380,8 @@ defmodule Mobilizon.Actors do
|
||||
String.t(),
|
||||
String.t(),
|
||||
String.t(),
|
||||
boolean(),
|
||||
boolean()
|
||||
boolean() | nil,
|
||||
boolean() | nil
|
||||
) ::
|
||||
Ecto.Query.t()
|
||||
defp filter_actors(
|
||||
@@ -417,10 +417,12 @@ defmodule Mobilizon.Actors do
|
||||
|
||||
defp filter_remote(query, true), do: filter_local(query)
|
||||
defp filter_remote(query, false), do: filter_external(query)
|
||||
defp filter_remote(query, nil), do: query
|
||||
|
||||
@spec filter_suspended(Ecto.Queryable.t(), boolean()) :: Ecto.Query.t()
|
||||
@spec filter_suspended(Ecto.Queryable.t(), boolean() | nil) :: Ecto.Query.t()
|
||||
defp filter_suspended(query, true), do: where(query, [a], a.suspended)
|
||||
defp filter_suspended(query, false), do: where(query, [a], not a.suspended)
|
||||
defp filter_suspended(query, nil), do: query
|
||||
|
||||
@spec filter_out_anonymous_actor_id(Ecto.Queryable.t(), integer() | String.t()) ::
|
||||
Ecto.Query.t()
|
||||
@@ -1766,4 +1768,26 @@ defmodule Mobilizon.Actors do
|
||||
)
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
@spec stream_persons(
|
||||
String.t(),
|
||||
String.t(),
|
||||
String.t(),
|
||||
boolean | nil,
|
||||
boolean | nil,
|
||||
integer()
|
||||
) :: Enum.t()
|
||||
def stream_persons(
|
||||
preferred_username \\ "",
|
||||
name \\ "",
|
||||
domain \\ "",
|
||||
local \\ true,
|
||||
suspended \\ false,
|
||||
chunk_size \\ 500
|
||||
) do
|
||||
person_query()
|
||||
|> filter_actors(preferred_username, name, domain, local, suspended)
|
||||
|> preload([:user])
|
||||
|> Page.chunk(chunk_size)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user