diff options
author | lain <lain@soykaf.club> | 2019-06-03 18:16:11 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-06-03 18:16:11 +0200 |
commit | 2b664b048eac5f37421ab958e26efed9c158c8d0 (patch) | |
tree | 37fa34a53d9c6af35ed00b966bd817ee9b22e154 | |
parent | 9789e000b05621435dc0c03833f564481e0b80e6 (diff) | |
download | pleroma-2b664b048eac5f37421ab958e26efed9c158c8d0.tar.gz |
User: Add function to get AP ids from nicknames.
-rw-r--r-- | lib/pleroma/user.ex | 8 | ||||
-rw-r--r-- | test/user_test.exs | 12 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 474cd8c1a..dc534b05c 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1441,4 +1441,12 @@ defmodule Pleroma.User do update_and_set_cache(cng) end end + + def get_ap_ids_by_nicknames(nicknames) do + from(u in User, + where: u.nickname in ^nicknames, + select: u.ap_id + ) + |> Repo.all() + end end diff --git a/test/user_test.exs b/test/user_test.exs index 019f2b56d..d7473ef43 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1266,4 +1266,16 @@ defmodule Pleroma.UserTest do assert user.info.keys == "xxx" end end + + describe "get_ap_ids_by_nicknames" do + test "it returns a list of AP ids for a given set of nicknames" do + user = insert(:user) + user_two = insert(:user) + + ap_ids = User.get_ap_ids_by_nicknames([user.nickname, user_two.nickname, "nonexistent"]) + assert length(ap_ids) == 2 + assert user.ap_id in ap_ids + assert user_two.ap_id in ap_ids + end + end end |