aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-06-22 13:16:05 +0200
committerlain <lain@soykaf.club>2020-06-22 13:16:05 +0200
commit9438f83f83305f101b9fed65f68a5b9fd622bcbb (patch)
treeeec954345b9f67249d27f7baeef76ffbb35bc1b6
parent31a4d42ce0470d74417279a855192294650cff97 (diff)
downloadpleroma-9438f83f83305f101b9fed65f68a5b9fd622bcbb.tar.gz
Transmogrifier: Handle `Update` with the pipeline.
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex33
1 files changed, 5 insertions, 28 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 851f474b8..8165218ee 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -684,35 +684,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
end
def handle_incoming(
- %{"type" => "Update", "object" => %{"type" => object_type} = object, "actor" => actor_id} =
- data,
+ %{"type" => "Update"} = data,
_options
- )
- when object_type in [
- "Person",
- "Application",
- "Service",
- "Organization"
- ] do
- with %User{ap_id: ^actor_id} = actor <- User.get_cached_by_ap_id(object["id"]) do
- {:ok, new_user_data} = ActivityPub.user_data_from_user_object(object)
-
- actor
- |> User.remote_user_changeset(new_user_data)
- |> User.update_and_set_cache()
-
- ActivityPub.update(%{
- local: false,
- to: data["to"] || [],
- cc: data["cc"] || [],
- object: object,
- actor: actor_id,
- activity_id: data["id"]
- })
- else
- e ->
- Logger.error(e)
- :error
+ ) do
+ with {:ok, %User{}} <- ObjectValidator.fetch_actor(data),
+ {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do
+ {:ok, activity}
end
end