aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
authorMaksim Pechnikov <parallel588@gmail.com>2019-09-07 22:13:43 +0300
committerMaksim Pechnikov <parallel588@gmail.com>2019-09-07 22:13:43 +0300
commit39f99dc6cd9295e1b62b27ed1566d53c8c0291fc (patch)
tree48e0f59948462378451f09fc4307777d5080e58b /lib/pleroma/user.ex
parentae506ca997619f118d18703a9b0802246eb427d5 (diff)
parentc45013df8e53334bcc1afb8cd1df673c290037ee (diff)
downloadpleroma-39f99dc6cd9295e1b62b27ed1566d53c8c0291fc.tar.gz
Merge branch 'develop' into support/tests
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 424ed772f..2a6cbba2d 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