Add global search

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2022-08-26 16:08:58 +02:00
parent bfc936f57c
commit 48935e2168
216 changed files with 3646 additions and 2806 deletions

View File

@@ -531,6 +531,7 @@ defmodule Mobilizon.Events do
|> events_for_ends_on(args)
|> events_for_category(args)
|> events_for_categories(args)
|> events_for_languages(args)
|> events_for_statuses(args)
|> events_for_tags(args)
|> events_for_location(args)
@@ -1323,13 +1324,22 @@ defmodule Mobilizon.Events do
defp events_for_category(query, _args), do: query
@spec events_for_categories(Ecto.Queryable.t(), map()) :: Ecto.Query.t()
defp events_for_categories(query, %{category_one_of: category_one_of}) when length(category_one_of) > 0 do
defp events_for_categories(query, %{category_one_of: category_one_of})
when length(category_one_of) > 0 do
where(query, [q], q.category in ^category_one_of)
end
defp events_for_categories(query, _args), do: query
defp events_for_statuses(query, %{status_one_of: status_one_of}) when length(status_one_of) > 0 do
defp events_for_languages(query, %{language_one_of: language_one_of})
when length(language_one_of) > 0 do
where(query, [q], q.language in ^language_one_of)
end
defp events_for_languages(query, _args), do: query
defp events_for_statuses(query, %{status_one_of: status_one_of})
when length(status_one_of) > 0 do
where(query, [q], q.status in ^status_one_of)
end
@@ -1622,6 +1632,7 @@ defmodule Mobilizon.Events do
def category_statistics do
Event
|> filter_local_or_from_followed_instances_events()
|> group_by([e], e.category)
|> select([e], {e.category, count(e.id)})
|> Repo.all()