Add mastodon API endpoint for custom emoji.
authoreal <eal@waifu.club>
Tue, 7 Nov 2017 19:28:31 +0000 (21:28 +0200)
committereal <eal@waifu.club>
Tue, 7 Nov 2017 19:55:01 +0000 (21:55 +0200)
lib/pleroma/formatter.ex
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
lib/pleroma/web/router.ex
lib/pleroma/web/twitter_api/controllers/util_controller.ex

index f062d9a5896b6e928e8f253c86c1978d0e2c0c57..00be839d8e70655822df3b589bd3c4b46e3d4f40 100644 (file)
@@ -125,6 +125,5 @@ defmodule Pleroma.Formatter do
 
   def get_custom_emoji() do
     @emoji
-    |> Enum.into %{}
   end
 end
index b1a54a4f1ef89ee55ccec6a9560aba4b7a87ee36..96cf39f1a4299467b119bbe13d745e647e3a11c6 100644 (file)
@@ -61,6 +61,19 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
     json(conn, response)
   end
 
+  def custom_emojis(conn, _params) do
+    mastodon_emoji = Pleroma.Formatter.get_custom_emoji()
+    |> Enum.map(fn {shortcode, relative_url} ->
+      url = to_string URI.merge(Web.base_url(), relative_url)
+      %{
+        "shortcode" => shortcode,
+        "static_url" => url,
+        "url" => url
+      }
+    end)
+    json conn, mastodon_emoji
+  end
+
   defp add_link_headers(conn, method, activities) do
     last = List.last(activities)
     first = List.first(activities)
index f96ec72138de2ef7effbd8354bc4b3d5eba3a679..b94056cd41bc3956d2b3751d1e506ef05f86cfb8 100644 (file)
@@ -91,6 +91,7 @@ defmodule Pleroma.Web.Router do
     pipe_through :api
     get "/instance", MastodonAPIController, :masto_instance
     post "/apps", MastodonAPIController, :create_app
+    get "/custom_emojis", MastodonAPIController, :custom_emojis
 
     get "/timelines/public", MastodonAPIController, :public_timeline
     get "/timelines/tag/:tag", MastodonAPIController, :hashtag_timeline
index 792ae2a649578957f30a12fd8168c06b2b6c2553..de2abd4d12650592112f76cde7ea9d03671afe18 100644 (file)
@@ -71,6 +71,6 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   def emoji(conn, _params) do
-    json conn, Formatter.get_custom_emoji()
+    json conn, Enum.into(Formatter.get_custom_emoji(), %{})
   end
 end