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/activity_pub/object_validator.ex | |
parent | 82d10aff678bd07247d1d373196e7dcacb31707a (diff) |
Ingestion Pipeline: Listenfeatures/ingestion-listen
Diffstat (limited to 'lib/pleroma/web/activity_pub/object_validator.ex')
-rw-r--r-- | lib/pleroma/web/activity_pub/object_validator.ex | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index c2afd6370..de5b8e522 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -31,6 +31,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do alias Pleroma.Web.ActivityPub.ObjectValidators.EventValidator alias Pleroma.Web.ActivityPub.ObjectValidators.FollowValidator alias Pleroma.Web.ActivityPub.ObjectValidators.LikeValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.ListenValidator alias Pleroma.Web.ActivityPub.ObjectValidators.QuestionValidator alias Pleroma.Web.ActivityPub.ObjectValidators.UndoValidator alias Pleroma.Web.ActivityPub.ObjectValidators.UpdateValidator @@ -99,6 +100,19 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do end def validate( + %{"type" => "Listen", "object" => %{"type" => "Audio"} = object} = activity, + meta + ) do + with {:ok, activity} <- + activity + |> ListenValidator.cast_and_validate(meta) + |> Ecto.Changeset.apply_action(:insert) do + activity = stringify_keys(activity) + {:ok, activity, meta} + end + end + + def validate( %{"type" => "Create", "object" => %{"type" => objtype} = object} = create_activity, meta ) |