alias Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator
alias Pleroma.Web.ActivityPub.ObjectValidators.TagValidator
- # Activities and Objects, except (Create)ChatMessage
+ # Activities and Objects
defmacro message_fields do
quote bind_quoted: binding() do
field(:type, :string)
end
end
- # Basically objects that aren't ChatMessage and Answer
+ # Basically objects that aren't Answer
defmacro status_object_fields do
quote bind_quoted: binding() do
# TODO: Remove actor on objects
field(:like_count, :integer, default: 0)
field(:announcement_count, :integer, default: 0)
field(:inReplyTo, ObjectValidators.ObjectID)
+ field(:quoteUri, ObjectValidators.ObjectID)
field(:url, ObjectValidators.Uri)
field(:likes, {:array, ObjectValidators.ObjectID}, default: [])
field(:announcements, {:array, ObjectValidators.ObjectID}, default: [])
end
end
+
+ defmacro tag_fields do
+ quote bind_quoted: binding() do
+ embeds_many(:tag, TagValidator)
+ end
+ end
end