[feature] Support new model of interaction flow for forward compat with v0.21.0 (#4394)

~~Still WIP!~~

This PR allows v0.20.0 of GtS to be forward-compatible with the interaction request / authorization flow that will fully replace the current flow in v0.21.0.

Basically, this means we need to recognize LikeRequest, ReplyRequest, and AnnounceRequest, and in response to those requests, deliver either a Reject or an Accept, with the latter pointing towards a LikeAuthorization, ReplyAuthorization, or AnnounceAuthorization, respectively. This can then be used by the remote instance to prove to third parties that the interaction has been accepted by the interactee. These Authorization types need to be dereferencable to third parties, so we need to serve them.

As well as recognizing the above "polite" interaction request types, we also need to still serve appropriate responses to "impolite" interaction request types, where an instance that's unaware of interaction policies tries to interact with a post by sending a reply, like, or boost directly, without wrapping it in a WhateverRequest type.

Doesn't fully close https://codeberg.org/superseriousbusiness/gotosocial/issues/4026 but gets damn near (just gotta update the federating with GtS documentation).

Migrations tested on both Postgres and SQLite.

Co-authored-by: kim <grufwub@gmail.com>
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4394
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
tobi 2025-09-14 15:37:35 +02:00 committed by tobi
commit 754b7be9cf
126 changed files with 6637 additions and 1778 deletions

View file

@ -0,0 +1,53 @@
// Code generated by astool. DO NOT EDIT.
package vocab
import "net/url"
// URI/ID of an AnnounceAuthorization permitting the Announce this property is
// attached to.
type GoToSocialAnnounceAuthorizationProperty interface {
// Clear ensures no value of this property is set. Calling
// IsXMLSchemaAnyURI afterwards will return false.
Clear()
// Get returns the value of this property. When IsXMLSchemaAnyURI returns
// false, Get will return any arbitrary value.
Get() *url.URL
// GetIRI returns the IRI of this property. When IsIRI returns false,
// GetIRI will return any arbitrary value.
GetIRI() *url.URL
// HasAny returns true if the value or IRI is set.
HasAny() bool
// IsIRI returns true if this property is an IRI.
IsIRI() bool
// IsXMLSchemaAnyURI returns true if this property is set and not an IRI.
IsXMLSchemaAnyURI() bool
// JSONLDContext returns the JSONLD URIs required in the context string
// for this property and the specific values that are set. The value
// in the map is the alias used to import the property's value or
// values.
JSONLDContext() map[string]string
// KindIndex computes an arbitrary value for indexing this kind of value.
// This is a leaky API detail only for folks looking to replace the
// go-fed implementation. Applications should not use this method.
KindIndex() int
// LessThan compares two instances of this property with an arbitrary but
// stable comparison. Applications should not use this because it is
// only meant to help alternative implementations to go-fed to be able
// to normalize nonfunctional properties.
LessThan(o GoToSocialAnnounceAuthorizationProperty) bool
// Name returns the name of this property: "announceAuthorization".
Name() string
// Serialize converts this into an interface representation suitable for
// marshalling into a text or binary format. Applications should not
// need this function as most typical use cases serialize types
// instead of individual properties. It is exposed for alternatives to
// go-fed implementations to use.
Serialize() (interface{}, error)
// Set sets the value of this property. Calling IsXMLSchemaAnyURI
// afterwards will return true.
Set(v *url.URL)
// SetIRI sets the value of this property. Calling IsIRI afterwards will
// return true.
SetIRI(v *url.URL)
}

View file

@ -4,11 +4,12 @@ package vocab
import "net/url"
// URI/ID of an Accept Activity or approval, which itself points towards the ID of
// the Activity or Object to which this property is attached. The presence of
// this property on an Activity or Object indicates that an interaction has
// been Approve'd by the Actor whose Object this Activity or Object interacts
// with.
// DEPRECATED: Use `likeAuthorization`, `replyAuthorization`, or
// `announceAuthorization` instead. URI/ID of an Accept Activity or approval,
// which itself points towards the ID of the Activity or Object to which this
// property is attached. The presence of this property on an Activity or
// Object indicates that an interaction has been Approve'd by the Actor whose
// Object this Activity or Object interacts with.
type GoToSocialApprovedByProperty interface {
// Clear ensures no value of this property is set. Calling
// IsXMLSchemaAnyURI afterwards will return false.

View file

@ -8,8 +8,7 @@ import "net/url"
// (Notes, Articles, etc) from unauthenticated (ie., logged-out) access via
// web pages, web apps, web APIs, etc. This setting has no bearing on
// dereferences via HTTP GET to ActivityPub endpoints (application/ld+json;
// profile="https://www.w3.org/ns/activitystreams"), for which GoToSocial
// always requires HTTP signatures.
// profile="https://www.w3.org/ns/activitystreams").
type GoToSocialHidesCcPublicFromUnauthedWebProperty interface {
// Clear ensures no value of this property is set. Calling
// IsXMLSchemaBoolean afterwards will return false.

View file

@ -8,8 +8,7 @@ import "net/url"
// (Notes, Articles, etc) from unauthenticated (ie., logged-out) access via
// web pages, web apps, web APIs, etc. This setting has no bearing on
// dereferences via HTTP GET to ActivityPub endpoints (application/ld+json;
// profile="https://www.w3.org/ns/activitystreams"), for which GoToSocial
// always requires HTTP signatures.
// profile="https://www.w3.org/ns/activitystreams").
type GoToSocialHidesToPublicFromUnauthedWebProperty interface {
// Clear ensures no value of this property is set. Calling
// IsXMLSchemaBoolean afterwards will return false.

View file

@ -0,0 +1,52 @@
// Code generated by astool. DO NOT EDIT.
package vocab
import "net/url"
// URI/ID of a LikeAuthorization permitting the Like this property is attached to.
type GoToSocialLikeAuthorizationProperty interface {
// Clear ensures no value of this property is set. Calling
// IsXMLSchemaAnyURI afterwards will return false.
Clear()
// Get returns the value of this property. When IsXMLSchemaAnyURI returns
// false, Get will return any arbitrary value.
Get() *url.URL
// GetIRI returns the IRI of this property. When IsIRI returns false,
// GetIRI will return any arbitrary value.
GetIRI() *url.URL
// HasAny returns true if the value or IRI is set.
HasAny() bool
// IsIRI returns true if this property is an IRI.
IsIRI() bool
// IsXMLSchemaAnyURI returns true if this property is set and not an IRI.
IsXMLSchemaAnyURI() bool
// JSONLDContext returns the JSONLD URIs required in the context string
// for this property and the specific values that are set. The value
// in the map is the alias used to import the property's value or
// values.
JSONLDContext() map[string]string
// KindIndex computes an arbitrary value for indexing this kind of value.
// This is a leaky API detail only for folks looking to replace the
// go-fed implementation. Applications should not use this method.
KindIndex() int
// LessThan compares two instances of this property with an arbitrary but
// stable comparison. Applications should not use this because it is
// only meant to help alternative implementations to go-fed to be able
// to normalize nonfunctional properties.
LessThan(o GoToSocialLikeAuthorizationProperty) bool
// Name returns the name of this property: "likeAuthorization".
Name() string
// Serialize converts this into an interface representation suitable for
// marshalling into a text or binary format. Applications should not
// need this function as most typical use cases serialize types
// instead of individual properties. It is exposed for alternatives to
// go-fed implementations to use.
Serialize() (interface{}, error)
// Set sets the value of this property. Calling IsXMLSchemaAnyURI
// afterwards will return true.
Set(v *url.URL)
// SetIRI sets the value of this property. Calling IsIRI afterwards will
// return true.
SetIRI(v *url.URL)
}

View file

@ -0,0 +1,53 @@
// Code generated by astool. DO NOT EDIT.
package vocab
import "net/url"
// URI/ID of a ReplyAuthorization permitting the Object this property is attached
// to.
type GoToSocialReplyAuthorizationProperty interface {
// Clear ensures no value of this property is set. Calling
// IsXMLSchemaAnyURI afterwards will return false.
Clear()
// Get returns the value of this property. When IsXMLSchemaAnyURI returns
// false, Get will return any arbitrary value.
Get() *url.URL
// GetIRI returns the IRI of this property. When IsIRI returns false,
// GetIRI will return any arbitrary value.
GetIRI() *url.URL
// HasAny returns true if the value or IRI is set.
HasAny() bool
// IsIRI returns true if this property is an IRI.
IsIRI() bool
// IsXMLSchemaAnyURI returns true if this property is set and not an IRI.
IsXMLSchemaAnyURI() bool
// JSONLDContext returns the JSONLD URIs required in the context string
// for this property and the specific values that are set. The value
// in the map is the alias used to import the property's value or
// values.
JSONLDContext() map[string]string
// KindIndex computes an arbitrary value for indexing this kind of value.
// This is a leaky API detail only for folks looking to replace the
// go-fed implementation. Applications should not use this method.
KindIndex() int
// LessThan compares two instances of this property with an arbitrary but
// stable comparison. Applications should not use this because it is
// only meant to help alternative implementations to go-fed to be able
// to normalize nonfunctional properties.
LessThan(o GoToSocialReplyAuthorizationProperty) bool
// Name returns the name of this property: "replyAuthorization".
Name() string
// Serialize converts this into an interface representation suitable for
// marshalling into a text or binary format. Applications should not
// need this function as most typical use cases serialize types
// instead of individual properties. It is exposed for alternatives to
// go-fed implementations to use.
Serialize() (interface{}, error)
// Set sets the value of this property. Calling IsXMLSchemaAnyURI
// afterwards will return true.
Set(v *url.URL)
// SetIRI sets the value of this property. Calling IsIRI afterwards will
// return true.
SetIRI(v *url.URL)
}

View file

@ -136,6 +136,9 @@ type ActivityStreamsAnnounce interface {
// GetActivityStreamsUrl returns the "url" property if it exists, and nil
// otherwise.
GetActivityStreamsUrl() ActivityStreamsUrlProperty
// GetGoToSocialAnnounceAuthorization returns the "announceAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialAnnounceAuthorization() GoToSocialAnnounceAuthorizationProperty
// GetGoToSocialApprovedBy returns the "approvedBy" property if it exists,
// and nil otherwise.
GetGoToSocialApprovedBy() GoToSocialApprovedByProperty
@ -241,6 +244,9 @@ type ActivityStreamsAnnounce interface {
SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty)
// SetActivityStreamsUrl sets the "url" property.
SetActivityStreamsUrl(i ActivityStreamsUrlProperty)
// SetGoToSocialAnnounceAuthorization sets the "announceAuthorization"
// property.
SetGoToSocialAnnounceAuthorization(i GoToSocialAnnounceAuthorizationProperty)
// SetGoToSocialApprovedBy sets the "approvedBy" property.
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetJSONLDId sets the "id" property.

View file

@ -118,6 +118,9 @@ type ActivityStreamsArticle interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -214,6 +217,8 @@ type ActivityStreamsArticle interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -118,6 +118,9 @@ type ActivityStreamsAudio interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -219,6 +222,8 @@ type ActivityStreamsAudio interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -114,6 +114,9 @@ type ActivityStreamsDocument interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -216,6 +219,8 @@ type ActivityStreamsDocument interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -115,6 +115,9 @@ type ActivityStreamsEvent interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -210,6 +213,8 @@ type ActivityStreamsEvent interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -131,6 +131,9 @@ type ActivityStreamsImage interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -236,6 +239,8 @@ type ActivityStreamsImage interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -131,6 +131,9 @@ type ActivityStreamsLike interface {
// GetGoToSocialApprovedBy returns the "approvedBy" property if it exists,
// and nil otherwise.
GetGoToSocialApprovedBy() GoToSocialApprovedByProperty
// GetGoToSocialLikeAuthorization returns the "likeAuthorization" property
// if it exists, and nil otherwise.
GetGoToSocialLikeAuthorization() GoToSocialLikeAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -234,6 +237,8 @@ type ActivityStreamsLike interface {
SetActivityStreamsUrl(i ActivityStreamsUrlProperty)
// SetGoToSocialApprovedBy sets the "approvedBy" property.
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialLikeAuthorization sets the "likeAuthorization" property.
SetGoToSocialLikeAuthorization(i GoToSocialLikeAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -115,6 +115,9 @@ type ActivityStreamsNote interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -210,6 +213,8 @@ type ActivityStreamsNote interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -114,6 +114,9 @@ type ActivityStreamsPage interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -215,6 +218,8 @@ type ActivityStreamsPage interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -140,6 +140,9 @@ type ActivityStreamsPlace interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -245,6 +248,8 @@ type ActivityStreamsPlace interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -122,6 +122,9 @@ type ActivityStreamsProfile interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -220,6 +223,8 @@ type ActivityStreamsProfile interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -157,6 +157,9 @@ type ActivityStreamsQuestion interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -270,6 +273,8 @@ type ActivityStreamsQuestion interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.

View file

@ -115,6 +115,9 @@ type ActivityStreamsVideo interface {
// GetGoToSocialInteractionPolicy returns the "interactionPolicy" property
// if it exists, and nil otherwise.
GetGoToSocialInteractionPolicy() GoToSocialInteractionPolicyProperty
// GetGoToSocialReplyAuthorization returns the "replyAuthorization"
// property if it exists, and nil otherwise.
GetGoToSocialReplyAuthorization() GoToSocialReplyAuthorizationProperty
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
GetJSONLDId() JSONLDIdProperty
// GetJSONLDType returns the "type" property if it exists, and nil
@ -216,6 +219,8 @@ type ActivityStreamsVideo interface {
SetGoToSocialApprovedBy(i GoToSocialApprovedByProperty)
// SetGoToSocialInteractionPolicy sets the "interactionPolicy" property.
SetGoToSocialInteractionPolicy(i GoToSocialInteractionPolicyProperty)
// SetGoToSocialReplyAuthorization sets the "replyAuthorization" property.
SetGoToSocialReplyAuthorization(i GoToSocialReplyAuthorizationProperty)
// SetJSONLDId sets the "id" property.
SetJSONLDId(i JSONLDIdProperty)
// SetJSONLDType sets the "type" property.