refactor opengraph to a different module with a behaviour
[akkoma] / lib / pleroma / user.ex
index 3120b13b63bd5018523f42c4fbe0712cdb345cbb..5707ba7a2d0df25de30d5a03e789497fff8d468c 100644 (file)
@@ -454,7 +454,20 @@ defmodule Pleroma.User do
   end
 
   def get_cached_by_nickname_or_id(nickname_or_id) do
-    get_cached_by_nickname(nickname_or_id) || get_cached_by_id(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: "No such user id"
+      else
+        user
+      end
+    rescue
+      ArgumentError ->
+        get_cached_by_nickname(nickname_or_id)
+    end
   end
 
   def get_by_nickname(nickname) do