|
|
@@ -85,9 +85,13 @@ defmodule Pleroma.Web.CommonAPI do |
|
|
|
def repeat(id_or_ap_id, user, params \\ %{}) do |
|
|
|
with %Activity{} = activity <- get_by_id_or_ap_id(id_or_ap_id), |
|
|
|
object <- Object.normalize(activity), |
|
|
|
nil <- Utils.get_existing_announce(user.ap_id, object), |
|
|
|
announce_activity <- Utils.get_existing_announce(user.ap_id, object), |
|
|
|
public <- public_announce?(object, params) do |
|
|
|
ActivityPub.announce(user, object, nil, true, public) |
|
|
|
if announce_activity do |
|
|
|
{:ok, announce_activity, object} |
|
|
|
else |
|
|
|
ActivityPub.announce(user, object, nil, true, public) |
|
|
|
end |
|
|
|
else |
|
|
|
_ -> {:error, dgettext("errors", "Could not repeat")} |
|
|
|
end |
|
|
@@ -105,8 +109,12 @@ defmodule Pleroma.Web.CommonAPI do |
|
|
|
def favorite(id_or_ap_id, user) do |
|
|
|
with %Activity{} = activity <- get_by_id_or_ap_id(id_or_ap_id), |
|
|
|
object <- Object.normalize(activity), |
|
|
|
nil <- Utils.get_existing_like(user.ap_id, object) do |
|
|
|
ActivityPub.like(user, object) |
|
|
|
like_activity <- Utils.get_existing_like(user.ap_id, object) do |
|
|
|
if like_activity do |
|
|
|
{:ok, like_activity, object} |
|
|
|
else |
|
|
|
ActivityPub.like(user, object) |
|
|
|
end |
|
|
|
else |
|
|
|
_ -> {:error, dgettext("errors", "Could not favorite")} |
|
|
|
end |
|
|
|