diff options
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 26cef53ee..0e828a99e 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -454,7 +454,20 @@ defmodule Pleroma.User do 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) + try do + # TODO: convert to UUIDs when !654 is merged + maybe_id = String.to_integer(nickname_or_id) + user = get_cached_by_id(maybe_id) + + if user == nil do + raise ArgumentError, message: "invalid argument foo" + else + user + end + rescue + _ in ArgumentError -> + get_cached_by_nickname(nickname_or_id) + end end def get_by_nickname(nickname) do |