Merge branch 'features/poll-validation' into 'develop'
[akkoma] / lib / pleroma / web / activity_pub / object_validators / answer_validator.ex
index 9861eec7f71ad03419e9a61f6136b70b13066f50..3233676427012dc968c164729987d69052372164 100644 (file)
@@ -26,6 +26,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AnswerValidator do
     field(:name, :string)
     field(:inReplyTo, :string)
     field(:attributedTo, ObjectValidators.ObjectID)
+
+    # TODO: Remove actor on objects
     field(:actor, ObjectValidators.ObjectID)
   end
 
@@ -54,8 +56,10 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AnswerValidator do
   def validate_data(data_cng) do
     data_cng
     |> validate_inclusion(:type, ["Answer"])
-    |> validate_required([:id, :inReplyTo, :name])
+    |> validate_required([:id, :inReplyTo, :name, :attributedTo, :actor])
     |> CommonValidations.validate_any_presence([:cc, :to])
+    |> CommonValidations.validate_fields_match([:actor, :attributedTo])
     |> CommonValidations.validate_actor_presence()
+    |> CommonValidations.validate_host_match()
   end
 end