aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-10-02 18:19:16 +0200
committerlain <lain@soykaf.club>2019-10-02 18:19:16 +0200
commit4cb603e1df7c9d13db1aa4285e2a18b9be71cd78 (patch)
tree742e0dcd9199504d12229ffe38502849ff15fb23 /lib
parent391c7362921ba94a0084b7a25c4126ce7026dc55 (diff)
downloadpleroma-4cb603e1df7c9d13db1aa4285e2a18b9be71cd78.tar.gz
PleromaAPI: Add unreacting.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex14
-rw-r--r--lib/pleroma/web/router.ex1
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex b/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex
index 884b3d877..8aee7d7c5 100644
--- a/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex
+++ b/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex
@@ -41,7 +41,19 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIController do
def react_with_emoji(%{assigns: %{user: user}} = conn, %{"id" => activity_id, "emoji" => emoji}) do
with {:ok, _activity, _object} <- CommonAPI.react_with_emoji(activity_id, user, emoji),
- activity = Activity.get_by_id(activity_id) do
+ activity <- Activity.get_by_id(activity_id) do
+ conn
+ |> put_view(StatusView)
+ |> render("show.json", %{activity: activity, for: user, as: :activity})
+ end
+ end
+
+ def unreact_with_emoji(%{assigns: %{user: user}} = conn, %{
+ "id" => activity_id,
+ "emoji" => emoji
+ }) do
+ with {:ok, _activity, _object} <- CommonAPI.unreact_with_emoji(activity_id, user, emoji),
+ activity <- Activity.get_by_id(activity_id) do
conn
|> put_view(StatusView)
|> render("show.json", %{activity: activity, for: user, as: :activity})
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index ff3dc273e..87d373f55 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -305,6 +305,7 @@ defmodule Pleroma.Web.Router do
pipe_through(:oauth_write)
patch("/conversations/:id", PleromaAPIController, :update_conversation)
post("/statuses/:id/react_with_emoji", PleromaAPIController, :react_with_emoji)
+ post("/statuses/:id/unreact_with_emoji", PleromaAPIController, :unreact_with_emoji)
post("/notifications/read", PleromaAPIController, :read_notification)
patch("/accounts/update_avatar", AccountController, :update_avatar)