Merge branch 'preserve-mentions-order' into 'develop'
Preserve order of mentioned users See merge request pleroma/pleroma!3617
This commit is contained in:
commit
7b87cac6cc
|
@ -2279,6 +2279,7 @@ def ensure_keys_present(%User{} = user) do
|
||||||
def get_ap_ids_by_nicknames(nicknames) do
|
def get_ap_ids_by_nicknames(nicknames) do
|
||||||
from(u in User,
|
from(u in User,
|
||||||
where: u.nickname in ^nicknames,
|
where: u.nickname in ^nicknames,
|
||||||
|
order_by: fragment("array_position(?, ?)", ^nicknames, u.nickname),
|
||||||
select: u.ap_id
|
select: u.ap_id
|
||||||
)
|
)
|
||||||
|> Repo.all()
|
|> Repo.all()
|
||||||
|
|
|
@ -2084,6 +2084,17 @@ test "it returns a list of AP ids for a given set of nicknames" do
|
||||||
assert user.ap_id in ap_ids
|
assert user.ap_id in ap_ids
|
||||||
assert user_two.ap_id in ap_ids
|
assert user_two.ap_id in ap_ids
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "it returns a list of AP ids in the same order" do
|
||||||
|
user = insert(:user)
|
||||||
|
user_two = insert(:user)
|
||||||
|
user_three = insert(:user)
|
||||||
|
|
||||||
|
ap_ids =
|
||||||
|
User.get_ap_ids_by_nicknames([user.nickname, user_three.nickname, user_two.nickname])
|
||||||
|
|
||||||
|
assert [user.ap_id, user_three.ap_id, user_two.ap_id] == ap_ids
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "sync followers count" do
|
describe "sync followers count" do
|
||||||
|
|
Loading…
Reference in New Issue