Move emoji glob setting to config.exs
[akkoma] / lib / pleroma / web / twitter_api / controllers / util_controller.ex
index db6142dc827d8f1727abbe3fd63a9b597e5c41eb..73a46bb5ebb7da82bf77b7997e4b65b8634964ac 100644 (file)
@@ -173,23 +173,30 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   def emoji(conn, _params) do
-    emoji_dir = Path.join(:code.priv_dir(:pleroma), "static/emoji")
-
-    shortcode_emoji_glob =
-      Path.join(
-        emoji_dir,
-        Application.get_env(:pleroma, :emoji, []) |>
-          Keyword.get(:glob, "by-shortcode/**/*.png")
-      )
+    static_dir = Path.join(:code.priv_dir(:pleroma), "static")
+
+    emoji_shortcode_glob =
+      Application.get_env(:pleroma, :emoji, [])
+      |> Keyword.get(:shortcode_glob)
+
     shortcode_emoji =
-      Path.wildcard(shortcode_emoji_glob) |>
-      Enum.map(fn path ->
-        shortcode = Path.basename(path, ".png")
-        serve_path = Path.join("/emoji", Path.relative_to(path, emoji_dir))
-        {shortcode, serve_path}
-      end)
+      case emoji_shortcode_glob do
+        nil ->
+          []
+
+        glob ->
+          Path.join(static_dir, glob)
+          |> Path.wildcard()
+          |> Enum.map(fn path ->
+            shortcode = Path.basename(path, ".png")
+            serve_path = Path.join("/", Path.relative_to(path, static_dir))
+            {shortcode, serve_path}
+          end)
+      end
 
-    emoji = Enum.into(Formatter.get_custom_emoji(), shortcode_emoji) |> Enum.into(%{})
+    emoji =
+      Enum.into(Formatter.get_custom_emoji(), shortcode_emoji)
+      |> Enum.into(%{})
 
     json(conn, emoji)
   end