aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-10-30 19:25:32 +0100
committerRoger Braun <roger@rogerbraun.net>2017-10-30 19:25:32 +0100
commitf23edd2d6b67ee30ccd16b7a27d9e07a9f928574 (patch)
tree7f8516e81ff6d1aa188904dab044fec01488bc70 /lib/pleroma/user.ex
parent261ec824515c1de6d93ad1c4ca7d3cf73faa58a4 (diff)
parent502cb38cd69f9f8c15a0ee597584364f9d36bdf1 (diff)
downloadpleroma-f23edd2d6b67ee30ccd16b7a27d9e07a9f928574.tar.gz
Merge branch 'feld/pleroma-feld-mastodon-usersearch' into develop
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