aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-09-06 13:26:05 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-09-06 13:26:05 +0300
commitca1ba1e272fd51ee1d9524a39da07b4b2f9e0b6e (patch)
tree7a9d31d44f362ff903813925171a4c31942b8261 /lib/pleroma/user.ex
parent79cf629e1a3610a93f5b9349c18a4464eb859d3d (diff)
parent896ffabe37406e85c2a3c2f30d2e882c68b5831e (diff)
downloadpleroma-ca1ba1e272fd51ee1d9524a39da07b4b2f9e0b6e.tar.gz
[#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts: # test/web/twitter_api/twitter_api_controller_test.exs
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 2fe7e1748..0d0fbe3a8 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -570,8 +570,22 @@ defmodule Pleroma.User do
end)
end
- def get_cached_by_nickname_or_id(nickname_or_id) do
- get_cached_by_id(nickname_or_id) || get_cached_by_nickname(nickname_or_id)
+ def get_cached_by_nickname_or_id(nickname_or_id, opts \\ []) do
+ restrict_to_local = Pleroma.Config.get([:instance, :limit_to_local_content])
+
+ cond do
+ is_integer(nickname_or_id) or Pleroma.FlakeId.is_flake_id?(nickname_or_id) ->
+ get_cached_by_id(nickname_or_id) || get_cached_by_nickname(nickname_or_id)
+
+ restrict_to_local == false ->
+ get_cached_by_nickname(nickname_or_id)
+
+ restrict_to_local == :unauthenticated and match?(%User{}, opts[:for]) ->
+ get_cached_by_nickname(nickname_or_id)
+
+ true ->
+ nil
+ end
end
def get_by_nickname(nickname) do