diff options
author | rinpatch <rinpatch@sdf.org> | 2019-09-05 15:33:49 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-09-05 15:39:10 +0300 |
commit | 26fe6f70c9cd6a37e72f4795a1a9a316ef5d95fb (patch) | |
tree | 7c59f864ea3a4402d91b3810a7c0764f17d8aceb /lib/pleroma/user.ex | |
parent | cc1d1ee4069c47d2e5e91347438b2a6c7bff86cf (diff) | |
download | pleroma-26fe6f70c9cd6a37e72f4795a1a9a316ef5d95fb.tar.gz |
Move checking for restrict_local to User.get_cached_by_id_or_nickname
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index d68015a80..3aa245f2a 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -570,10 +570,20 @@ defmodule Pleroma.User do end def get_cached_by_nickname_or_id(nickname_or_id, opts \\ []) do - if is_integer(nickname_or_id) or Pleroma.FlakeId.is_flake_id?(nickname_or_id) do - get_cached_by_id(nickname_or_id) || get_cached_by_nickname(nickname_or_id) - else - unless opts[:restrict_remote_nicknames], do: get_cached_by_nickname(nickname_or_id) + 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 |