Add an API endpoint for emoji.
authoreal <eal@waifu.club>
Thu, 19 Oct 2017 19:51:56 +0000 (22:51 +0300)
committereal <eal@waifu.club>
Thu, 19 Oct 2017 19:51:56 +0000 (22:51 +0300)
lib/pleroma/formatter.ex
lib/pleroma/web/router.ex
lib/pleroma/web/twitter_api/controllers/util_controller.ex

index a5eb3b268326c6a28ae6f63b817af54ef1198ee8..f062d9a5896b6e928e8f253c86c1978d0e2c0c57 100644 (file)
@@ -122,4 +122,9 @@ defmodule Pleroma.Formatter do
   def get_emoji(text) do
     Enum.filter(@emoji, fn ({emoji, _}) -> String.contains?(text, ":#{emoji}:") end)
   end
+
+  def get_custom_emoji() do
+    @emoji
+    |> Enum.into %{}
+  end
 end
index 8497685a692f5578766db05c2eecdc3522ea1440..cb818b3ccc1d6179f262ce2d9f379ee8a857db33 100644 (file)
@@ -33,14 +33,15 @@ defmodule Pleroma.Web.Router do
     plug :accepts, ["html", "json"]
   end
 
-  pipeline :password_reset do
-    plug :accepts, ["html"]
+  pipeline :pleroma_api do
+    plug :accepts, ["html", "json"]
   end
 
   scope "/api/pleroma", Pleroma.Web.TwitterAPI do
-    pipe_through :password_reset
+    pipe_through :pleroma_api
     get "/password_reset/:token", UtilController, :show_password_reset
     post "/password_reset", UtilController, :password_reset
+    get "/emoji", UtilController, :emoji
   end
 
   scope "/oauth", Pleroma.Web.OAuth do
index 11d8fa6c2eb8a01d570094d7b494eab090b05106..792ae2a649578957f30a12fd8168c06b2b6c2553 100644 (file)
@@ -1,6 +1,7 @@
 defmodule Pleroma.Web.TwitterAPI.UtilController do
   use Pleroma.Web, :controller
   alias Pleroma.Web
+  alias Pleroma.Formatter
 
   alias Pleroma.{Repo, PasswordResetToken, User}
 
@@ -68,4 +69,8 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
       _ -> json(conn, version)
     end
   end
+
+  def emoji(conn, _params) do
+    json conn, Formatter.get_custom_emoji()
+  end
 end