diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 8df276ae0..c1aebfc29 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -788,34 +788,27 @@ defmodule Pleroma.User do @spec search_for_admin(%{ query: binary(), - admin: Pleroma.User.t(), local: boolean(), page: number(), page_size: number() }) :: {:ok, [Pleroma.User.t()], number()} def search_for_admin(%{ query: term, - admin: admin, local: local, page: page, page_size: page_size }) do - term = String.trim_leading(term, "@") + maybe_local_query = User |> maybe_local_user_query(local) - local_paginated_query = - User - |> maybe_local_user_query(local) - |> paginate(page, page_size) + search_query = from(u in maybe_local_query, where: ilike(u.nickname, ^"%#{term}%")) + count = search_query |> Repo.aggregate(:count, :id) - search_query = fts_search_subquery(term, local_paginated_query) - - count = - term - |> fts_search_subquery() - |> maybe_local_user_query(local) - |> Repo.aggregate(:count, :id) + results = + search_query + |> paginate(page, page_size) + |> Repo.all() - {:ok, do_search(search_query, admin), count} + {:ok, results, count} end def search(query, resolve \\ false, for_user \\ nil) do |