aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-06-30 16:53:25 +0200
committerRoger Braun <roger@rogerbraun.net>2017-06-30 16:53:25 +0200
commitcd522d2139d999adf36705250084662e56a70d0d (patch)
treec9ba93a51e57a3096440a05398d1ecfe22d4b09f /lib
parent201804b83634714b51e577ac6aea8a07ba10656e (diff)
downloadpleroma-cd522d2139d999adf36705250084662e56a70d0d.tar.gz
Also fetch posts by id in fav/rts.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index 56b2f7cfa..c16c76951 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -128,8 +128,12 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
|> json_reply(200, response)
end
+ def get_by_id_or_ap_id(id) do
+ Repo.get(Activity, id) || Activity.get_create_activity_by_object_ap_id(id)
+ end
+
def favorite(%{assigns: %{user: user}} = conn, %{"id" => id}) do
- activity = Repo.get(Activity, id)
+ activity = get_by_id_or_ap_id(id)
{:ok, status} = TwitterAPI.favorite(user, activity)
response = Poison.encode!(status)
@@ -138,7 +142,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
end
def unfavorite(%{assigns: %{user: user}} = conn, %{"id" => id}) do
- activity = Repo.get(Activity, id)
+ activity = get_by_id_or_ap_id(id)
{:ok, status} = TwitterAPI.unfavorite(user, activity)
response = Poison.encode!(status)
@@ -147,7 +151,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
end
def retweet(%{assigns: %{user: user}} = conn, %{"id" => id}) do
- activity = Repo.get(Activity, id)
+ activity = get_by_id_or_ap_id(id)
if activity.data["actor"] == user.ap_id do
bad_request_reply(conn, "You cannot repeat your own notice.")
else