ap_id =
Cachex.fetch!(:user_cache, key, fn _ ->
user = get_by_id(id)
- Cachex.put(:user_cache, "ap_id:#{user.ap_id}", user)
- {:commit, user.ap_id}
+
+ if user do
+ Cachex.put(:user_cache, "ap_id:#{user.ap_id}", user)
+ {:commit, user.ap_id}
+ else
+ {:ignore, ""}
+ end
end)
get_cached_by_ap_id(ap_id)
end
def get_cached_by_nickname_or_id(nickname_or_id) do
- 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: "No such user id"
- else
- user
- end
- rescue
- ArgumentError ->
- get_cached_by_nickname(nickname_or_id)
- end
+ get_cached_by_id(nickname_or_id) || get_cached_by_nickname(nickname_or_id)
end
def get_by_nickname(nickname) do