From fe7804e42d27ca46290cfe52ffc01d4e520849b5 Mon Sep 17 00:00:00 2001 From: eal Date: Thu, 19 Oct 2017 22:51:56 +0300 Subject: [PATCH] Add an API endpoint for emoji. --- lib/pleroma/formatter.ex | 5 +++++ lib/pleroma/web/router.ex | 7 ++++--- lib/pleroma/web/twitter_api/controllers/util_controller.ex | 5 +++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index a5eb3b268..f062d9a58 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -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 diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 8497685a6..cb818b3cc 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -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 diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index 11d8fa6c2..792ae2a64 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -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