aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 938b57d90..bf63a22b3 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -241,7 +241,7 @@ defmodule Pleroma.User do
def update_note_count(%User{} = user) do
note_count_query = from a in Object,
- where: fragment("? @> ?", a.data, ^%{actor: user.ap_id, type: "Note"}),
+ where: fragment("?->>'actor' = ? and ?->>'type' = 'Note'", a.data, ^user.ap_id, a.data),
select: count(a.id)
note_count = Repo.one(note_count_query)
@@ -274,4 +274,14 @@ defmodule Pleroma.User do
Repo.all(query)
end
+
+ def search(query, resolve) do
+ if resolve do
+ User.get_or_fetch_by_nickname(query)
+ end
+ q = from u in User,
+ where: fragment("(to_tsvector('english', ?) || to_tsvector('english', ?)) @@ plainto_tsquery('english', ?)", u.nickname, u.name, ^query),
+ limit: 20
+ Repo.all(q)
+ end
end