diff options
author | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2021-07-21 20:21:44 +0200 |
---|---|---|
committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2022-03-18 11:00:30 +0100 |
commit | 21f7e5e69c78be05749eb19f361e4cafcfc67955 (patch) | |
tree | 9455e1713a9ae1970f9dce84ac1e612effc8afab /lib/pleroma/web/common_api.ex | |
parent | 82d10aff678bd07247d1d373196e7dcacb31707a (diff) | |
download | pleroma-21f7e5e69c78be05749eb19f361e4cafcfc67955.tar.gz |
Ingestion Pipeline: Listenfeatures/ingestion-listen
Diffstat (limited to 'lib/pleroma/web/common_api.ex')
-rw-r--r-- | lib/pleroma/web/common_api.ex | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/pleroma/web/common_api.ex b/lib/pleroma/web/common_api.ex index 1b95ee89c..d5a4e72fa 100644 --- a/lib/pleroma/web/common_api.ex +++ b/lib/pleroma/web/common_api.ex @@ -391,8 +391,14 @@ defmodule Pleroma.Web.CommonAPI do end def listen(user, data) do - with {:ok, draft} <- ActivityDraft.listen(user, data) do - ActivityPub.listen(draft.changes) + with {_, {:ok, %{changes: draft}}} <- {:draft, ActivityDraft.listen(user, data)}, + {_, {:ok, activity_data, []}} <- {:builder, Builder.listen(draft, draft.additional)}, + {_, {:ok, activity, _}} <- + {:pipeline, Pipeline.common_pipeline(activity_data, local: true)}, + {_, %Activity{} = activity} <- {:norm, Activity.normalize(activity)} do + {:ok, activity} + else + e -> {:error, e} end end |