aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-11-20 12:19:07 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-11-20 12:19:07 +0300
commit555edd01abf62b74c14c30caf82d77a80a93e72c (patch)
tree213d4ffc99802b378b81a06ca0a39a7d2c688788 /lib/pleroma/user.ex
parent565f2613380a676c7a88850b869b219052f445a1 (diff)
downloadpleroma-555edd01abf62b74c14c30caf82d77a80a93e72c.tar.gz
[#1335] User AP ID relations fetching performance optimizations.
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 615f1b725..4b53dce13 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1158,11 +1158,14 @@ defmodule Pleroma.User do
end
@doc """
- Returns map of related AP IDs list by relation type.
- E.g. `related_ap_ids(user, [:block])` -> `%{block: ["https://some.site/users/userapid"]}`
+ Returns map of outgoing (blocked, muted etc.) relations' user AP IDs by relation type.
+ E.g. `outgoing_relations_ap_ids(user, [:block])` -> `%{block: ["https://some.site/users/userapid"]}`
"""
- @spec related_ap_ids(User.t(), list(atom())) :: %{atom() => list(String.t())}
- def related_ap_ids(%User{} = user, relationship_types) when is_list(relationship_types) do
+ @spec outgoing_relations_ap_ids(User.t(), list(atom())) :: %{atom() => list(String.t())}
+ def outgoing_relations_ap_ids(_, []), do: %{}
+
+ def outgoing_relations_ap_ids(%User{} = user, relationship_types)
+ when is_list(relationship_types) do
db_result =
user
|> assoc(:outgoing_relationships)