diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2019-09-07 22:13:43 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2019-09-07 22:13:43 +0300 |
commit | 39f99dc6cd9295e1b62b27ed1566d53c8c0291fc (patch) | |
tree | 48e0f59948462378451f09fc4307777d5080e58b /lib/pleroma/user.ex | |
parent | ae506ca997619f118d18703a9b0802246eb427d5 (diff) | |
parent | c45013df8e53334bcc1afb8cd1df673c290037ee (diff) | |
download | pleroma-39f99dc6cd9295e1b62b27ed1566d53c8c0291fc.tar.gz |
Merge branch 'develop' into support/tests
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 18 |
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 |