diff options
author | rinpatch <rinpatch@sdf.org> | 2019-01-15 11:56:35 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-01-15 11:56:35 +0300 |
commit | ce15e0659e63217d482ef0448ef7629c76755c46 (patch) | |
tree | dc9b3af77c82d2cad68d72b8447283047f53e16b /lib/pleroma/user.ex | |
parent | 4656f433f94f132449df019beae1013f71728d0e (diff) | |
download | pleroma-ce15e0659e63217d482ef0448ef7629c76755c46.tar.gz |
Fix some edge cases [nervous laughter]
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 |