[feature] Enable federation in/out of profile PropertyValue fields (#1722)

Co-authored-by: kim <grufwub@gmail.com>
Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
This commit is contained in:
tobi 2023-05-09 12:16:10 +02:00 committed by GitHub
parent cbb9e2d3f0
commit 0e29f1f5bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
180 changed files with 9278 additions and 1550 deletions

View file

@ -324,3 +324,59 @@ When a GoToSocial instance receives a `Delete`, it will attempt to derive the de
Then, GoToSocial will check if it has a post stored with the given URI. If it does, it will be completely deleted from the database and all user timelines. Then, GoToSocial will check if it has a post stored with the given URI. If it does, it will be completely deleted from the database and all user timelines.
GoToSocial will only delete a post if it can be sure that the original post was owned by the `actor` that the `Delete` is attributed to. GoToSocial will only delete a post if it can be sure that the original post was owned by the `actor` that the `Delete` is attributed to.
## Profile Fields
Like Mastodon and other fediverse softwares, GoToSocial lets users set key/value pairs on their profile; useful for conveying short pieces of information like links, pronouns, age, etc.
For the sake of compatibility with other implementations, GoToSocial uses the same schema.org PropertyValue extension that Mastodon uses, present as an `attachment` array value on `actor`s that have fields set. For example, the below JSON shows an account with two PropertyValue fields:
```json
{
"@context": [
"http://joinmastodon.org/ns",
"https://w3id.org/security/v1",
"https://www.w3.org/ns/activitystreams",
"http://schema.org"
],
"attachment": [
{
"name": "should you follow me?",
"type": "PropertyValue",
"value": "maybe!"
},
{
"name": "age",
"type": "PropertyValue",
"value": "120"
}
],
"discoverable": false,
"featured": "http://example.org/users/1happyturtle/collections/featured",
"followers": "http://example.org/users/1happyturtle/followers",
"following": "http://example.org/users/1happyturtle/following",
"id": "http://example.org/users/1happyturtle",
"inbox": "http://example.org/users/1happyturtle/inbox",
"manuallyApprovesFollowers": true,
"name": "happy little turtle :3",
"outbox": "http://example.org/users/1happyturtle/outbox",
"preferredUsername": "1happyturtle",
"publicKey": {
"id": "http://example.org/users/1happyturtle#main-key",
"owner": "http://example.org/users/1happyturtle",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtTc6Jpg6LrRPhVQG4KLz\n2+YqEUUtZPd4YR+TKXuCnwEG9ZNGhgP046xa9h3EWzrZXaOhXvkUQgJuRqPrAcfN\nvc8jBHV2xrUeD8pu/MWKEabAsA/tgCv3nUC47HQ3/c12aHfYoPz3ufWsGGnrkhci\nv8PaveJ3LohO5vjCn1yZ00v6osMJMViEZvZQaazyE9A8FwraIexXabDpoy7tkHRg\nA1fvSkg4FeSG1XMcIz2NN7xyUuFACD+XkuOk7UqzRd4cjPUPLxiDwIsTlcgGOd3E\nUFMWVlPxSGjY2hIKa3lEHytaYK9IMYdSuyCsJshd3/yYC9LqxZY2KdlKJ80VOVyh\nyQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"summary": "\u003cp\u003ei post about things that concern me\u003c/p\u003e",
"tag": [],
"type": "Person",
"url": "http://example.org/@1happyturtle"
}
```
For `actor`s that have no `PropertyValue` fields set, the `attachment` property will not be set at all. That is, the `attachment` key value will not be present on the `actor` (not even as an empty array or null value).
While `attachment` is not technically an ordered collection, GoToSocial--again, in line with what other implementations do--does present `attachment` `PropertyValue` fields in the order in which they should to be displayed.
GoToSocial will also parse PropertyValue fields from remote `actor`s discovered by the GoToSocial instance, to allow them to be displayed to users on the GoToSocial instance.
GoToSocial allows up to 6 `PropertyValue` fields by default, as opposed to Mastodon's default 4.

2
go.mod
View file

@ -41,7 +41,7 @@ require (
github.com/spf13/cobra v1.7.0 github.com/spf13/cobra v1.7.0
github.com/spf13/viper v1.15.0 github.com/spf13/viper v1.15.0
github.com/stretchr/testify v1.8.2 github.com/stretchr/testify v1.8.2
github.com/superseriousbusiness/activity v1.2.2-gts github.com/superseriousbusiness/activity v1.3.0-gts
github.com/superseriousbusiness/exif-terminator v0.5.0 github.com/superseriousbusiness/exif-terminator v0.5.0
github.com/superseriousbusiness/oauth2/v4 v4.3.2-SSB.0.20230227143000-f4900831d6c8 github.com/superseriousbusiness/oauth2/v4 v4.3.2-SSB.0.20230227143000-f4900831d6c8
github.com/tdewolff/minify/v2 v2.12.5 github.com/tdewolff/minify/v2 v2.12.5

4
go.sum
View file

@ -541,8 +541,8 @@ github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/sunfish-shogi/bufseekio v0.0.0-20210207115823-a4185644b365/go.mod h1:dEzdXgvImkQ3WLI+0KQpmEx8T/C/ma9KeS3AfmU899I= github.com/sunfish-shogi/bufseekio v0.0.0-20210207115823-a4185644b365/go.mod h1:dEzdXgvImkQ3WLI+0KQpmEx8T/C/ma9KeS3AfmU899I=
github.com/superseriousbusiness/activity v1.2.2-gts h1:7duR8MCbYIKyM4UkeSkze2S/2+ve1XHs8kVfaFg58UI= github.com/superseriousbusiness/activity v1.3.0-gts h1:59H3gQIIUK5xefloMmBKCRbl/YUJFzWcy1Qx4zEZkS4=
github.com/superseriousbusiness/activity v1.2.2-gts/go.mod h1:AZw0Xb4Oju8rmaJCZ21gc5CPg47MmNgyac+Hx5jo8VM= github.com/superseriousbusiness/activity v1.3.0-gts/go.mod h1:AZw0Xb4Oju8rmaJCZ21gc5CPg47MmNgyac+Hx5jo8VM=
github.com/superseriousbusiness/exif-terminator v0.5.0 h1:57SO/geyaOl2v/lJSQLVcQbdghpyFuK8ZTtaHL81fUQ= github.com/superseriousbusiness/exif-terminator v0.5.0 h1:57SO/geyaOl2v/lJSQLVcQbdghpyFuK8ZTtaHL81fUQ=
github.com/superseriousbusiness/exif-terminator v0.5.0/go.mod h1:d5IkskXco/3XRXzOrI73uGYn+wahJEqPlQSSqn6jxSw= github.com/superseriousbusiness/exif-terminator v0.5.0/go.mod h1:d5IkskXco/3XRXzOrI73uGYn+wahJEqPlQSSqn6jxSw=
github.com/superseriousbusiness/go-jpeg-image-structure/v2 v2.0.0-20220321154430-d89a106fdabe h1:ksl2oCx/Qo8sNDc3Grb8WGKBM9nkvhCm25uvlT86azE= github.com/superseriousbusiness/go-jpeg-image-structure/v2 v2.0.0-20220321154430-d89a106fdabe h1:ksl2oCx/Qo8sNDc3Grb8WGKBM9nkvhCm25uvlT86azE=

View file

@ -266,6 +266,59 @@ func ExtractSummary(i WithSummary) string {
return "" return ""
} }
func ExtractFields(i WithAttachment) []*gtsmodel.Field {
attachmentProp := i.GetActivityStreamsAttachment()
if attachmentProp == nil {
// Nothing to do.
return nil
}
l := attachmentProp.Len()
if l == 0 {
// Nothing to do.
return nil
}
fields := make([]*gtsmodel.Field, 0, l)
for iter := attachmentProp.Begin(); iter != attachmentProp.End(); iter = iter.Next() {
if !iter.IsSchemaPropertyValue() {
continue
}
propertyValue := iter.GetSchemaPropertyValue()
if propertyValue == nil {
continue
}
nameProp := propertyValue.GetActivityStreamsName()
if nameProp == nil || nameProp.Len() != 1 {
continue
}
name := nameProp.At(0).GetXMLSchemaString()
if name == "" {
continue
}
valueProp := propertyValue.GetSchemaValue()
if valueProp == nil || !valueProp.IsXMLSchemaString() {
continue
}
value := valueProp.Get()
if value == "" {
continue
}
fields = append(fields, &gtsmodel.Field{
Name: name,
Value: value,
})
}
return fields
}
// ExtractDiscoverable extracts the Discoverable boolean of an interface. // ExtractDiscoverable extracts the Discoverable boolean of an interface.
func ExtractDiscoverable(i WithDiscoverable) (bool, error) { func ExtractDiscoverable(i WithDiscoverable) (bool, error) {
if i.GetTootDiscoverable() == nil { if i.GetTootDiscoverable() == nil {

View file

@ -30,6 +30,7 @@ type Accountable interface {
WithName WithName
WithImage WithImage
WithSummary WithSummary
WithAttachment
WithSetSummary WithSetSummary
WithDiscoverable WithDiscoverable
WithURL WithURL

View file

@ -22,14 +22,23 @@
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/activity/streams"
) )
// NormalizeActivityObject normalizes the 'object'.'content' field of the given Activity. /*
NORMALIZE INCOMING
The below functions should be called to normalize the content
of messages *COMING INTO* GoToSocial via the federation API,
either as the result of delivery from a remote instance to this
instance, or as a result of this instance doing an http call to
another instance to dereference something.
*/
// NormalizeIncomingActivityObject normalizes the 'object'.'content' field of the given Activity.
// //
// The rawActivity map should the freshly deserialized json representation of the Activity. // The rawActivity map should the freshly deserialized json representation of the Activity.
// //
// This function is a noop if the type passed in is anything except a Create with a Statusable as its Object. // This function is a noop if the type passed in is anything except a Create or Update with a Statusable or Accountable as its Object.
func NormalizeActivityObject(activity pub.Activity, rawJSON map[string]interface{}) { func NormalizeIncomingActivityObject(activity pub.Activity, rawJSON map[string]interface{}) {
if activity.GetTypeName() != ActivityCreate { if typeName := activity.GetTypeName(); typeName != ActivityCreate && typeName != ActivityUpdate {
// Only interested in Create right now. // Only interested in Create or Update right now.
return return
} }
@ -51,8 +60,8 @@ func NormalizeActivityObject(activity pub.Activity, rawJSON map[string]interface
} }
// We now know length is 1 so get the first // We now know length is 1 so get the first
// item from the iter. We need this to be // item from the iter. We need this to be
// a Statusable if we're to continue. // a Statusable or Accountable if we're to continue.
i := createObject.At(0) i := createObject.At(0)
if i == nil { if i == nil {
// This is awkward. // This is awkward.
@ -65,38 +74,63 @@ func NormalizeActivityObject(activity pub.Activity, rawJSON map[string]interface
return return
} }
statusable, ok := t.(Statusable) switch t.GetTypeName() {
if !ok { case ObjectArticle, ObjectDocument, ObjectImage, ObjectVideo, ObjectNote, ObjectPage, ObjectEvent, ObjectPlace, ObjectProfile:
// Object is not Statusable; statusable, ok := t.(Statusable)
// we're not interested. if !ok {
return // Object is not Statusable;
} // we're not interested.
return
}
rawObject, ok := rawJSON["object"] rawObject, ok := rawJSON["object"]
if !ok { if !ok {
// No object in raw map. // No object in raw map.
return return
} }
rawStatusableJSON, ok := rawObject.(map[string]interface{}) rawStatusableJSON, ok := rawObject.(map[string]interface{})
if !ok { if !ok {
// Object wasn't a json object. // Object wasn't a json object.
return return
} }
// Normalize everything we can on the statusable. // Normalize everything we can on the statusable.
NormalizeContent(statusable, rawStatusableJSON) NormalizeIncomingContent(statusable, rawStatusableJSON)
NormalizeAttachments(statusable, rawStatusableJSON) NormalizeIncomingAttachments(statusable, rawStatusableJSON)
NormalizeSummary(statusable, rawStatusableJSON) NormalizeIncomingSummary(statusable, rawStatusableJSON)
NormalizeName(statusable, rawStatusableJSON) NormalizeIncomingName(statusable, rawStatusableJSON)
case ActorApplication, ActorGroup, ActorOrganization, ActorPerson, ActorService:
accountable, ok := t.(Accountable)
if !ok {
// Object is not Accountable;
// we're not interested.
return
}
rawObject, ok := rawJSON["object"]
if !ok {
// No object in raw map.
return
}
rawAccountableJSON, ok := rawObject.(map[string]interface{})
if !ok {
// Object wasn't a json object.
return
}
// Normalize everything we can on the accountable.
NormalizeIncomingSummary(accountable, rawAccountableJSON)
}
} }
// NormalizeContent replaces the Content of the given item // NormalizeIncomingContent replaces the Content of the given item
// with the raw 'content' value from the raw json object map. // with the raw 'content' value from the raw json object map.
// //
// noop if there was no content in the json object map or the // noop if there was no content in the json object map or the
// content was not a plain string. // content was not a plain string.
func NormalizeContent(item WithSetContent, rawJSON map[string]interface{}) { func NormalizeIncomingContent(item WithSetContent, rawJSON map[string]interface{}) {
rawContent, ok := rawJSON["content"] rawContent, ok := rawJSON["content"]
if !ok { if !ok {
// No content in rawJSON. // No content in rawJSON.
@ -118,13 +152,13 @@ func NormalizeContent(item WithSetContent, rawJSON map[string]interface{}) {
item.SetActivityStreamsContent(contentProp) item.SetActivityStreamsContent(contentProp)
} }
// NormalizeAttachments normalizes all attachments (if any) of the given // NormalizeIncomingAttachments normalizes all attachments (if any) of the given
// itm, replacing the 'name' (aka content warning) field of each attachment // item, replacing the 'name' (aka content warning) field of each attachment
// with the raw 'name' value from the raw json object map. // with the raw 'name' value from the raw json object map.
// //
// noop if there are no attachments; noop if attachment is not a format // noop if there are no attachments; noop if attachment is not a format
// we can understand. // we can understand.
func NormalizeAttachments(item WithAttachment, rawJSON map[string]interface{}) { func NormalizeIncomingAttachments(item WithAttachment, rawJSON map[string]interface{}) {
rawAttachments, ok := rawJSON["attachment"] rawAttachments, ok := rawJSON["attachment"]
if !ok { if !ok {
// No attachments in rawJSON. // No attachments in rawJSON.
@ -173,16 +207,16 @@ func NormalizeAttachments(item WithAttachment, rawJSON map[string]interface{}) {
continue continue
} }
NormalizeName(attachmentable, rawAttachment) NormalizeIncomingName(attachmentable, rawAttachment)
} }
} }
// NormalizeSummary replaces the Summary of the given item // NormalizeIncomingSummary replaces the Summary of the given item
// with the raw 'summary' value from the raw json object map. // with the raw 'summary' value from the raw json object map.
// //
// noop if there was no summary in the json object map or the // noop if there was no summary in the json object map or the
// summary was not a plain string. // summary was not a plain string.
func NormalizeSummary(item WithSetSummary, rawJSON map[string]interface{}) { func NormalizeIncomingSummary(item WithSetSummary, rawJSON map[string]interface{}) {
rawSummary, ok := rawJSON["summary"] rawSummary, ok := rawJSON["summary"]
if !ok { if !ok {
// No summary in rawJSON. // No summary in rawJSON.
@ -202,12 +236,12 @@ func NormalizeSummary(item WithSetSummary, rawJSON map[string]interface{}) {
item.SetActivityStreamsSummary(summaryProp) item.SetActivityStreamsSummary(summaryProp)
} }
// NormalizeName replaces the Name of the given item // NormalizeIncomingName replaces the Name of the given item
// with the raw 'name' value from the raw json object map. // with the raw 'name' value from the raw json object map.
// //
// noop if there was no name in the json object map or the // noop if there was no name in the json object map or the
// name was not a plain string. // name was not a plain string.
func NormalizeName(item WithSetName, rawJSON map[string]interface{}) { func NormalizeIncomingName(item WithSetName, rawJSON map[string]interface{}) {
rawName, ok := rawJSON["name"] rawName, ok := rawJSON["name"]
if !ok { if !ok {
// No name in rawJSON. // No name in rawJSON.

View file

@ -49,7 +49,7 @@ func (suite *NormalizeTestSuite) jsonToType(rawJson string) (vocab.Type, map[str
} }
func (suite *NormalizeTestSuite) typeToJson(t vocab.Type) string { func (suite *NormalizeTestSuite) typeToJson(t vocab.Type) string {
m, err := streams.Serialize(t) m, err := ap.Serialize(t)
if err != nil { if err != nil {
suite.FailNow(err.Error()) suite.FailNow(err.Error())
} }
@ -223,7 +223,7 @@ func (suite *NormalizeTestSuite) TestNormalizeActivityObject() {
note, note,
) )
ap.NormalizeActivityObject(create, map[string]interface{}{"object": rawNote}) ap.NormalizeIncomingActivityObject(create, map[string]interface{}{"object": rawNote})
suite.Equal(`UPDATE: As of this morning there are now more than 7 million Mastodon users, most from the <a class="hashtag" data-tag="twittermigration" href="https://example.org/tag/twittermigration" rel="tag ugc">#TwitterMigration</a>.<br><br>In fact, 100,000 new accounts have been created since last night.<br><br>Since last night&#39;s spike 8,000-12,000 new accounts are being created every hour.<br><br>Yesterday, I estimated that Mastodon would have 8 million users by the end of the week. That might happen a lot sooner if this trend continues.`, ap.ExtractContent(note)) suite.Equal(`UPDATE: As of this morning there are now more than 7 million Mastodon users, most from the <a class="hashtag" data-tag="twittermigration" href="https://example.org/tag/twittermigration" rel="tag ugc">#TwitterMigration</a>.<br><br>In fact, 100,000 new accounts have been created since last night.<br><br>Since last night&#39;s spike 8,000-12,000 new accounts are being created every hour.<br><br>Yesterday, I estimated that Mastodon would have 8 million users by the end of the week. That might happen a lot sooner if this trend continues.`, ap.ExtractContent(note))
} }
@ -248,7 +248,7 @@ func (suite *NormalizeTestSuite) TestNormalizeStatusableAttachmentsOneAttachment
}`, suite.typeToJson(note)) }`, suite.typeToJson(note))
// Normalize it! // Normalize it!
ap.NormalizeAttachments(note, rawNote) ap.NormalizeIncomingAttachments(note, rawNote)
// After normalization, the 'name' field of the // After normalization, the 'name' field of the
// attachment should no longer be all jacked up. // attachment should no longer be all jacked up.
@ -289,7 +289,7 @@ func (suite *NormalizeTestSuite) TestNormalizeStatusableAttachmentsOneAttachment
}`, suite.typeToJson(note)) }`, suite.typeToJson(note))
// Normalize it! // Normalize it!
ap.NormalizeAttachments(note, rawNote) ap.NormalizeIncomingAttachments(note, rawNote)
// After normalization, the 'name' field of the // After normalization, the 'name' field of the
// attachment should no longer be all jacked up. // attachment should no longer be all jacked up.
@ -349,7 +349,7 @@ func (suite *NormalizeTestSuite) TestNormalizeStatusableAttachmentsMultipleAttac
}`, suite.typeToJson(note)) }`, suite.typeToJson(note))
// Normalize it! // Normalize it!
ap.NormalizeAttachments(note, rawNote) ap.NormalizeIncomingAttachments(note, rawNote)
// After normalization, the 'name' field of the // After normalization, the 'name' field of the
// attachment should no longer be all jacked up. // attachment should no longer be all jacked up.
@ -392,7 +392,7 @@ func (suite *NormalizeTestSuite) TestNormalizeAccountableSummary() {
accountable, rawAccount := suite.getAccountable() accountable, rawAccount := suite.getAccountable()
suite.Equal(`about: I'm a #Barbie%20%23girl%20in%20a%20%23Barbie%20%23world%0ALife%20in%20plastic,%20it%27s%20fantastic%0AYou%20can%20brush%20my%20hair,%20undress%20me%20everywhere%0AImagination,%20life%20is%20your%20creation%0AI%27m%20a%20blonde%20bimbo%20girl%0AIn%20a%20fantasy%20world%0ADress%20me%20up,%20make%20it%20tight%0AI%27m%20your%20dolly%0AYou%27re%20my%20doll,%20rock%20and%20roll%0AFeel%20the%20glamour%20in%20pink%0AKiss%20me%20here,%20touch%20me%20there%0AHanky%20panky`, ap.ExtractSummary(accountable)) suite.Equal(`about: I'm a #Barbie%20%23girl%20in%20a%20%23Barbie%20%23world%0ALife%20in%20plastic,%20it%27s%20fantastic%0AYou%20can%20brush%20my%20hair,%20undress%20me%20everywhere%0AImagination,%20life%20is%20your%20creation%0AI%27m%20a%20blonde%20bimbo%20girl%0AIn%20a%20fantasy%20world%0ADress%20me%20up,%20make%20it%20tight%0AI%27m%20your%20dolly%0AYou%27re%20my%20doll,%20rock%20and%20roll%0AFeel%20the%20glamour%20in%20pink%0AKiss%20me%20here,%20touch%20me%20there%0AHanky%20panky`, ap.ExtractSummary(accountable))
ap.NormalizeSummary(accountable, rawAccount) ap.NormalizeIncomingSummary(accountable, rawAccount)
suite.Equal(`about: I'm a #Barbie #girl in a #Barbie #world suite.Equal(`about: I'm a #Barbie #girl in a #Barbie #world
Life in plastic, it's fantastic Life in plastic, it's fantastic
You can brush my hair, undress me everywhere You can brush my hair, undress me everywhere
@ -411,7 +411,7 @@ func (suite *NormalizeTestSuite) TestNormalizeStatusableSummary() {
statusable, rawAccount := suite.getStatusableWithWeirdSummaryAndName() statusable, rawAccount := suite.getStatusableWithWeirdSummaryAndName()
suite.Equal(`warning: #WEIRD%20%23SUMMARY%20;;;;a;;a;asv%20%20%20%20khop8273987(*%5E&%5E)`, ap.ExtractSummary(statusable)) suite.Equal(`warning: #WEIRD%20%23SUMMARY%20;;;;a;;a;asv%20%20%20%20khop8273987(*%5E&%5E)`, ap.ExtractSummary(statusable))
ap.NormalizeSummary(statusable, rawAccount) ap.NormalizeIncomingSummary(statusable, rawAccount)
suite.Equal(`warning: #WEIRD #SUMMARY ;;;;a;;a;asv khop8273987(*^&^)`, ap.ExtractSummary(statusable)) suite.Equal(`warning: #WEIRD #SUMMARY ;;;;a;;a;asv khop8273987(*^&^)`, ap.ExtractSummary(statusable))
} }
@ -419,7 +419,7 @@ func (suite *NormalizeTestSuite) TestNormalizeStatusableName() {
statusable, rawAccount := suite.getStatusableWithWeirdSummaryAndName() statusable, rawAccount := suite.getStatusableWithWeirdSummaryAndName()
suite.Equal(`warning: #WEIRD%20%23nameEE%20;;;;a;;a;asv%20%20%20%20khop8273987(*%5E&%5E)`, ap.ExtractName(statusable)) suite.Equal(`warning: #WEIRD%20%23nameEE%20;;;;a;;a;asv%20%20%20%20khop8273987(*%5E&%5E)`, ap.ExtractName(statusable))
ap.NormalizeName(statusable, rawAccount) ap.NormalizeIncomingName(statusable, rawAccount)
suite.Equal(`WARNING: #WEIRD #nameEE ;;;;a;;a;asv khop8273987(*^&^)`, ap.ExtractName(statusable)) suite.Equal(`WARNING: #WEIRD #nameEE ;;;;a;;a;asv khop8273987(*^&^)`, ap.ExtractName(statusable))
} }

View file

@ -72,10 +72,10 @@ func ResolveStatusable(ctx context.Context, b []byte) (Statusable, error) {
return nil, newErrWrongType(err) return nil, newErrWrongType(err)
} }
NormalizeContent(statusable, rawStatusable) NormalizeIncomingContent(statusable, rawStatusable)
NormalizeAttachments(statusable, rawStatusable) NormalizeIncomingAttachments(statusable, rawStatusable)
NormalizeSummary(statusable, rawStatusable) NormalizeIncomingSummary(statusable, rawStatusable)
NormalizeName(statusable, rawStatusable) NormalizeIncomingName(statusable, rawStatusable)
return statusable, nil return statusable, nil
} }
@ -118,7 +118,7 @@ func ResolveAccountable(ctx context.Context, b []byte) (Accountable, error) {
return nil, newErrWrongType(err) return nil, newErrWrongType(err)
} }
NormalizeSummary(accountable, rawAccountable) NormalizeIncomingSummary(accountable, rawAccountable)
return accountable, nil return accountable, nil
} }

View file

@ -18,13 +18,41 @@
package ap package ap
import ( import (
"errors" "fmt"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/activity/streams"
"github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/activity/streams/vocab"
) )
// SerializeOrderedCollection is a custom serializer for an ActivityStreamsOrderedCollection. // Serialize is a custom serializer for ActivityStreams types.
//
// In most cases, it will simply call the go-fed streams.Serialize function under the hood.
// However, if custom serialization is required on a specific type (eg for inter-implementation
// compatibility), it can be inserted into the switch as necessary.
//
// Callers should always call this function instead of streams.Serialize, unless there's a
// very good reason to do otherwise.
//
// Currently, the following things will be custom serialized:
//
// - OrderedCollection: 'orderedItems' property will always be made into an array.
// - Any Accountable type: 'attachment' property will always be made into an array.
// - Update: any Accountable 'object's set on an update will be custom serialized as above.
func Serialize(t vocab.Type) (m map[string]interface{}, e error) {
switch t.GetTypeName() {
case ObjectOrderedCollection:
return serializeOrderedCollection(t)
case ActorApplication, ActorGroup, ActorOrganization, ActorPerson, ActorService:
return serializeAccountable(t, true)
case ActivityUpdate:
return serializeWithObject(t)
default:
// No custom serializer necessary.
return streams.Serialize(t)
}
}
// serializeOrderedCollection is a custom serializer for an ActivityStreamsOrderedCollection.
// Unlike the standard streams.Serialize function, this serializer normalizes the orderedItems // Unlike the standard streams.Serialize function, this serializer normalizes the orderedItems
// value to always be an array/slice, regardless of how many items are contained therein. // value to always be an array/slice, regardless of how many items are contained therein.
// //
@ -33,32 +61,146 @@
// See: // See:
// - https://github.com/go-fed/activity/issues/139 // - https://github.com/go-fed/activity/issues/139
// - https://github.com/mastodon/mastodon/issues/24225 // - https://github.com/mastodon/mastodon/issues/24225
func SerializeOrderedCollection(orderedCollection vocab.ActivityStreamsOrderedCollection) (map[string]interface{}, error) { func serializeOrderedCollection(orderedCollection vocab.Type) (map[string]interface{}, error) {
data, err := streams.Serialize(orderedCollection) data, err := streams.Serialize(orderedCollection)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return data, normalizeOrderedCollectionData(data) orderedItems, ok := data["orderedItems"]
}
func normalizeOrderedCollectionData(rawOrderedCollection map[string]interface{}) error {
orderedItems, ok := rawOrderedCollection["orderedItems"]
if !ok { if !ok {
return errors.New("no orderedItems set on OrderedCollection") // No 'orderedItems', nothing to change.
return data, nil
} }
if _, ok := orderedItems.([]interface{}); ok { if _, ok := orderedItems.([]interface{}); ok {
// Already slice. // Already slice.
return nil return data, nil
} }
orderedItemsString, ok := orderedItems.(string) // Coerce single-object to slice.
if !ok { data["orderedItems"] = []interface{}{orderedItems}
return errors.New("orderedItems was neither slice nor string")
}
rawOrderedCollection["orderedItems"] = []string{orderedItemsString} return data, nil
}
return nil
// SerializeAccountable is a custom serializer for any Accountable type.
// This serializer rewrites the 'attachment' value of the Accountable, if
// present, to always be an array/slice.
//
// While this is not strictly necessary in json-ld terms, most other fedi
// implementations look for attachment to be an array of PropertyValue (field)
// entries, and will not parse single-entry, non-array attachments on accounts
// properly.
//
// If the accountable is being serialized as a top-level object (eg., for serving
// in response to an account dereference request), then includeContext should be
// set to true, so as to include the json-ld '@context' entries in the data.
// If the accountable is being serialized as part of another object (eg., as the
// object of an activity), then includeContext should be set to false, as the
// @context entry should be included on the top-level/wrapping activity/object.
func serializeAccountable(accountable vocab.Type, includeContext bool) (map[string]interface{}, error) {
var (
data map[string]interface{}
err error
)
if includeContext {
data, err = streams.Serialize(accountable)
} else {
data, err = accountable.Serialize()
}
if err != nil {
return nil, err
}
attachment, ok := data["attachment"]
if !ok {
// No 'attachment', nothing to change.
return data, nil
}
if _, ok := attachment.([]interface{}); ok {
// Already slice.
return data, nil
}
// Coerce single-object to slice.
data["attachment"] = []interface{}{attachment}
return data, nil
}
func serializeWithObject(t vocab.Type) (map[string]interface{}, error) {
withObject, ok := t.(WithObject)
if !ok {
return nil, fmt.Errorf("serializeWithObject: could not resolve %T to WithObject", t)
}
data, err := streams.Serialize(t)
if err != nil {
return nil, err
}
object := withObject.GetActivityStreamsObject()
if object == nil {
// Nothing to do, bail early.
return data, nil
}
objectLen := object.Len()
if objectLen == 0 {
// Nothing to do, bail early.
return data, nil
}
// The thing we already serialized has objects
// on it, so we should see if we need to custom
// serialize any of those objects, and replace
// them on the data map as necessary.
objects := make([]interface{}, 0, objectLen)
for iter := object.Begin(); iter != object.End(); iter = iter.Next() {
if iter.IsIRI() {
// Plain IRIs don't need custom serialization.
objects = append(objects, iter.GetIRI().String())
continue
}
var (
objectType = iter.GetType()
objectSer map[string]interface{}
)
if objectType == nil {
// This is awkward.
return nil, fmt.Errorf("serializeWithObject: could not resolve object iter %T to vocab.Type", iter)
}
switch objectType.GetTypeName() {
case ActorApplication, ActorGroup, ActorOrganization, ActorPerson, ActorService:
// @context will be included in wrapping type already,
// we don't need to include it in the object itself.
objectSer, err = serializeAccountable(objectType, false)
default:
// No custom serializer for this type; serialize as normal.
objectSer, err = objectType.Serialize()
}
if err != nil {
return nil, err
}
objects = append(objects, objectSer)
}
if objectLen == 1 {
// Unnest single object.
data["object"] = objects[0]
} else {
// Array of objects.
data["object"] = objects
}
return data, nil
} }

View file

@ -32,6 +32,7 @@
"github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/activity/pub"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/activity/streams"
"github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/activity/streams/vocab"
"github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users" "github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users"
"github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
@ -76,7 +77,7 @@ func (suite *InboxPostTestSuite) TestPostBlock() {
targetURI := testrig.URLMustParse(blockedAccount.InboxURI) targetURI := testrig.URLMustParse(blockedAccount.InboxURI)
signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(block, blockingAccount.PublicKeyURI, blockingAccount.PrivateKey, targetURI) signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(block, blockingAccount.PublicKeyURI, blockingAccount.PrivateKey, targetURI)
bodyI, err := streams.Serialize(block) bodyI, err := ap.Serialize(block)
suite.NoError(err) suite.NoError(err)
bodyJson, err := json.Marshal(bodyI) bodyJson, err := json.Marshal(bodyI)
@ -177,7 +178,7 @@ func (suite *InboxPostTestSuite) TestPostUnblock() {
targetURI := testrig.URLMustParse(blockedAccount.InboxURI) targetURI := testrig.URLMustParse(blockedAccount.InboxURI)
signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(undo, blockingAccount.PublicKeyURI, blockingAccount.PrivateKey, targetURI) signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(undo, blockingAccount.PublicKeyURI, blockingAccount.PrivateKey, targetURI)
bodyI, err := streams.Serialize(undo) bodyI, err := ap.Serialize(undo)
suite.NoError(err) suite.NoError(err)
bodyJson, err := json.Marshal(bodyI) bodyJson, err := json.Marshal(bodyI)
@ -275,7 +276,7 @@ func (suite *InboxPostTestSuite) TestPostUpdate() {
targetURI := testrig.URLMustParse(receivingAccount.InboxURI) targetURI := testrig.URLMustParse(receivingAccount.InboxURI)
signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(update, updatedAccount.PublicKeyURI, updatedAccount.PrivateKey, targetURI) signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(update, updatedAccount.PublicKeyURI, updatedAccount.PrivateKey, targetURI)
bodyI, err := streams.Serialize(update) bodyI, err := ap.Serialize(update)
suite.NoError(err) suite.NoError(err)
bodyJson, err := json.Marshal(bodyI) bodyJson, err := json.Marshal(bodyI)
@ -412,7 +413,7 @@ func (suite *InboxPostTestSuite) TestPostDelete() {
targetURI := testrig.URLMustParse(receivingAccount.InboxURI) targetURI := testrig.URLMustParse(receivingAccount.InboxURI)
signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(delete, deletedAccount.PublicKeyURI, deletedAccount.PrivateKey, targetURI) signature, digestHeader, dateHeader := testrig.GetSignatureForActivity(delete, deletedAccount.PublicKeyURI, deletedAccount.PrivateKey, targetURI)
bodyI, err := streams.Serialize(delete) bodyI, err := ap.Serialize(delete)
suite.NoError(err) suite.NoError(err)
bodyJson, err := json.Marshal(bodyI) bodyJson, err := json.Marshal(bodyI)

View file

@ -224,7 +224,18 @@ func (suite *ReportsGetTestSuite) TestReportsGetAll() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }
@ -374,7 +385,18 @@ func (suite *ReportsGetTestSuite) TestReportsGetAll() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }
@ -575,7 +597,18 @@ func (suite *ReportsGetTestSuite) TestReportsGetCreatedByAccount() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }
@ -776,7 +809,18 @@ func (suite *ReportsGetTestSuite) TestReportsGetTargetAccount() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }

View file

@ -29,5 +29,5 @@ type Field struct {
Value string `json:"value"` Value string `json:"value"`
// If this field has been verified, when did this occur? (ISO 8601 Datetime). // If this field has been verified, when did this occur? (ISO 8601 Datetime).
// example: 2021-07-30T09:20:25+00:00 // example: 2021-07-30T09:20:25+00:00
VerifiedAt string `json:"verified_at,omitempty"` VerifiedAt *string `json:"verified_at"`
} }

View file

@ -0,0 +1,56 @@
// GoToSocial
// Copyright (C) GoToSocial Authors admin@gotosocial.org
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package migrations
import (
"context"
"strings"
"github.com/uptrace/bun"
"github.com/uptrace/bun/dialect"
)
func init() {
up := func(ctx context.Context, db *bun.DB) error {
var err error
switch db.Dialect().Name() {
case dialect.SQLite:
_, err = db.ExecContext(ctx, "ALTER TABLE ? ADD COLUMN ? VARCHAR", bun.Ident("accounts"), bun.Ident("fields_raw"))
case dialect.PG:
_, err = db.ExecContext(ctx, "ALTER TABLE ? ADD COLUMN ? JSONB", bun.Ident("accounts"), bun.Ident("fields_raw"))
default:
panic("db conn was neither pg not sqlite")
}
if err != nil && !(strings.Contains(err.Error(), "already exists") || strings.Contains(err.Error(), "duplicate column name") || strings.Contains(err.Error(), "SQLSTATE 42701")) {
return err
}
return nil
}
down := func(ctx context.Context, db *bun.DB) error {
return db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
return nil
})
}
if err := Migrations.Register(up, down); err != nil {
panic(err)
}
}

View file

@ -38,7 +38,7 @@
"github.com/superseriousbusiness/gotosocial/internal/transport" "github.com/superseriousbusiness/gotosocial/internal/transport"
) )
func (d *deref) GetAccountByURI(ctx context.Context, requestUser string, uri *url.URL, block bool) (*gtsmodel.Account, error) { func (d *deref) GetAccountByURI(ctx context.Context, requestUser string, uri *url.URL) (*gtsmodel.Account, error) {
var ( var (
account *gtsmodel.Account account *gtsmodel.Account
uriStr = uri.String() uriStr = uri.String()
@ -70,11 +70,11 @@ func (d *deref) GetAccountByURI(ctx context.Context, requestUser string, uri *ur
ID: id.NewULID(), ID: id.NewULID(),
Domain: uri.Host, Domain: uri.Host,
URI: uriStr, URI: uriStr,
}, false, true) }, d.defaultFetchLatest, false)
} }
// Try to update existing account model // Try to update existing account model
enriched, err := d.enrichAccount(ctx, requestUser, uri, account, false, block) enriched, err := d.enrichAccount(ctx, requestUser, uri, account, d.defaultFetchLatest, false)
if err != nil { if err != nil {
log.Errorf(ctx, "error enriching remote account: %v", err) log.Errorf(ctx, "error enriching remote account: %v", err)
return account, nil // fall back to returning existing return account, nil // fall back to returning existing
@ -83,7 +83,7 @@ func (d *deref) GetAccountByURI(ctx context.Context, requestUser string, uri *ur
return enriched, nil return enriched, nil
} }
func (d *deref) GetAccountByUsernameDomain(ctx context.Context, requestUser string, username string, domain string, block bool) (*gtsmodel.Account, error) { func (d *deref) GetAccountByUsernameDomain(ctx context.Context, requestUser string, username string, domain string) (*gtsmodel.Account, error) {
if domain == config.GetHost() || domain == config.GetAccountDomain() { if domain == config.GetHost() || domain == config.GetAccountDomain() {
// We do local lookups using an empty domain, // We do local lookups using an empty domain,
// else it will fail the db search below. // else it will fail the db search below.
@ -99,19 +99,24 @@ func (d *deref) GetAccountByUsernameDomain(ctx context.Context, requestUser stri
if account == nil { if account == nil {
// Check for failed local lookup. // Check for failed local lookup.
if domain == "" { if domain == "" {
return nil, NewErrNotRetrievable(err) // will be db.ErrNoEntries return nil, NewErrNotRetrievable(err) // wrapped err will be db.ErrNoEntries
} }
// Create and pass-through a new bare-bones model for dereferencing. // Create and pass-through a new bare-bones model for dereferencing.
return d.enrichAccount(ctx, requestUser, nil, &gtsmodel.Account{ account = &gtsmodel.Account{
ID: id.NewULID(), ID: id.NewULID(),
Username: username, Username: username,
Domain: domain, Domain: domain,
}, false, true) }
// There's no known account to fall back on,
// so return error if we can't enrich account.
return d.enrichAccount(ctx, requestUser, nil, account, d.defaultFetchLatest, false)
} }
// Try to update existing account model // We knew about this account already;
enriched, err := d.enrichAccount(ctx, requestUser, nil, account, false, block) // try to update existing account model.
enriched, err := d.enrichAccount(ctx, requestUser, nil, account, d.defaultFetchLatest, false)
if err != nil { if err != nil {
log.Errorf(ctx, "error enriching account from remote: %v", err) log.Errorf(ctx, "error enriching account from remote: %v", err)
return account, nil // fall back to returning unchanged existing account model return account, nil // fall back to returning unchanged existing account model
@ -120,12 +125,62 @@ func (d *deref) GetAccountByUsernameDomain(ctx context.Context, requestUser stri
return enriched, nil return enriched, nil
} }
func (d *deref) UpdateAccount(ctx context.Context, requestUser string, account *gtsmodel.Account, force bool) (*gtsmodel.Account, error) { func (d *deref) RefreshAccount(ctx context.Context, requestUser string, accountable ap.Accountable, account *gtsmodel.Account) (*gtsmodel.Account, error) {
return d.enrichAccount(ctx, requestUser, nil, account, force, false) // To avoid unnecessarily refetching multiple times from remote,
// we can just pass in the Accountable object that we received,
// if it was defined. If not, fall back to default fetch func.
var f fetchLatest
if accountable != nil {
f = func(
_ context.Context,
_ transport.Transport,
_ *url.URL,
_ string,
) (ap.Accountable, *gtsmodel.Account, error) {
return accountable, account, nil
}
} else {
f = d.defaultFetchLatest
}
// Set 'force' to 'true' to always fetch latest media etc.
return d.enrichAccount(ctx, requestUser, nil, account, f, true)
}
// fetchLatest defines a function for using a transport and uri to fetch the fetchLatest
// version of an account (and its AP representation) from a remote instance.
type fetchLatest func(ctx context.Context, transport transport.Transport, uri *url.URL, accountDomain string) (ap.Accountable, *gtsmodel.Account, error)
// defaultFetchLatest deduplicates latest fetching code that is used in several
// different functions. It simply calls the remote uri using the given transport,
// parses a returned AP representation into an account, and then returns both.
func (d *deref) defaultFetchLatest(ctx context.Context, transport transport.Transport, uri *url.URL, accountDomain string) (ap.Accountable, *gtsmodel.Account, error) {
// Dereference this account to get the latest available.
apubAcc, err := d.dereferenceAccountable(ctx, transport, uri)
if err != nil {
return nil, nil, fmt.Errorf("error dereferencing account %s: %w", uri, err)
}
// Convert the dereferenced AP account object to our GTS model.
latestAcc, err := d.typeConverter.ASRepresentationToAccount(
ctx, apubAcc, accountDomain,
)
if err != nil {
return nil, nil, fmt.Errorf("error converting accountable to gts model for account %s: %w", uri, err)
}
return apubAcc, latestAcc, nil
} }
// enrichAccount will ensure the given account is the most up-to-date model of the account, re-webfingering and re-dereferencing if necessary. // enrichAccount will ensure the given account is the most up-to-date model of the account, re-webfingering and re-dereferencing if necessary.
func (d *deref) enrichAccount(ctx context.Context, requestUser string, uri *url.URL, account *gtsmodel.Account, force, block bool) (*gtsmodel.Account, error) { func (d *deref) enrichAccount(
ctx context.Context,
requestUser string,
uri *url.URL,
account *gtsmodel.Account,
f fetchLatest,
force bool,
) (*gtsmodel.Account, error) {
if account.IsLocal() { if account.IsLocal() {
// Can't update local accounts. // Can't update local accounts.
return account, nil return account, nil
@ -205,18 +260,10 @@ func (d *deref) enrichAccount(ctx context.Context, requestUser string, uri *url.
d.startHandshake(requestUser, uri) d.startHandshake(requestUser, uri)
defer d.stopHandshake(requestUser, uri) defer d.stopHandshake(requestUser, uri)
// Dereference this account to get the latest available. // Fetch latest version of the account, dereferencing if necessary.
apubAcc, err := d.dereferenceAccountable(ctx, transport, uri) apubAcc, latestAcc, err := f(ctx, transport, uri, account.Domain)
if err != nil { if err != nil {
return nil, fmt.Errorf("enrichAccount: error dereferencing account %s: %w", uri, err) return nil, fmt.Errorf("enrichAccount: error calling fetchLatest function: %w", err)
}
// Convert the dereferenced AP account object to our GTS model.
latestAcc, err := d.typeConverter.ASRepresentationToAccount(
ctx, apubAcc, account.Domain,
)
if err != nil {
return nil, fmt.Errorf("enrichAccount: error converting accountable to gts model for account %s: %w", uri, err)
} }
if account.Username == "" { if account.Username == "" {
@ -256,11 +303,11 @@ func (d *deref) enrichAccount(ctx context.Context, requestUser string, uri *url.
latestAcc.ID = account.ID latestAcc.ID = account.ID
latestAcc.FetchedAt = time.Now() latestAcc.FetchedAt = time.Now()
// Use the existing account media attachments by default. // Reuse the existing account media attachments by default.
latestAcc.AvatarMediaAttachmentID = account.AvatarMediaAttachmentID latestAcc.AvatarMediaAttachmentID = account.AvatarMediaAttachmentID
latestAcc.HeaderMediaAttachmentID = account.HeaderMediaAttachmentID latestAcc.HeaderMediaAttachmentID = account.HeaderMediaAttachmentID
if latestAcc.AvatarRemoteURL != account.AvatarRemoteURL { if force || (latestAcc.AvatarRemoteURL != account.AvatarRemoteURL) {
// Reset the avatar media ID (handles removed). // Reset the avatar media ID (handles removed).
latestAcc.AvatarMediaAttachmentID = "" latestAcc.AvatarMediaAttachmentID = ""
@ -281,7 +328,7 @@ func (d *deref) enrichAccount(ctx context.Context, requestUser string, uri *url.
} }
} }
if latestAcc.HeaderRemoteURL != account.HeaderRemoteURL { if force || (latestAcc.HeaderRemoteURL != account.HeaderRemoteURL) {
// Reset the header media ID (handles removed). // Reset the header media ID (handles removed).
latestAcc.HeaderMediaAttachmentID = "" latestAcc.HeaderMediaAttachmentID = ""

View file

@ -41,7 +41,6 @@ func (suite *AccountTestSuite) TestDereferenceGroup() {
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
groupURL, groupURL,
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(group) suite.NotNil(group)
@ -66,7 +65,6 @@ func (suite *AccountTestSuite) TestDereferenceService() {
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
serviceURL, serviceURL,
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(service) suite.NotNil(service)
@ -99,7 +97,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountAsRemoteURL() {
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
testrig.URLMustParse(targetAccount.URI), testrig.URLMustParse(targetAccount.URI),
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(fetchedAccount) suite.NotNil(fetchedAccount)
@ -119,7 +116,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountAsRemoteURLNoSharedInb
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
testrig.URLMustParse(targetAccount.URI), testrig.URLMustParse(targetAccount.URI),
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(fetchedAccount) suite.NotNil(fetchedAccount)
@ -134,7 +130,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountAsUsername() {
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
testrig.URLMustParse(targetAccount.URI), testrig.URLMustParse(targetAccount.URI),
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(fetchedAccount) suite.NotNil(fetchedAccount)
@ -149,7 +144,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountAsUsernameDomain() {
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
testrig.URLMustParse(targetAccount.URI), testrig.URLMustParse(targetAccount.URI),
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(fetchedAccount) suite.NotNil(fetchedAccount)
@ -165,7 +159,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountAsUsernameDomainAndURL
fetchingAccount.Username, fetchingAccount.Username,
targetAccount.Username, targetAccount.Username,
config.GetHost(), config.GetHost(),
false,
) )
suite.NoError(err) suite.NoError(err)
suite.NotNil(fetchedAccount) suite.NotNil(fetchedAccount)
@ -180,7 +173,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountWithUnknownUsername()
fetchingAccount.Username, fetchingAccount.Username,
"thisaccountdoesnotexist", "thisaccountdoesnotexist",
config.GetHost(), config.GetHost(),
false,
) )
var errNotRetrievable *dereferencing.ErrNotRetrievable var errNotRetrievable *dereferencing.ErrNotRetrievable
suite.ErrorAs(err, &errNotRetrievable) suite.ErrorAs(err, &errNotRetrievable)
@ -196,7 +188,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountWithUnknownUsernameDom
fetchingAccount.Username, fetchingAccount.Username,
"thisaccountdoesnotexist", "thisaccountdoesnotexist",
"localhost:8080", "localhost:8080",
false,
) )
var errNotRetrievable *dereferencing.ErrNotRetrievable var errNotRetrievable *dereferencing.ErrNotRetrievable
suite.ErrorAs(err, &errNotRetrievable) suite.ErrorAs(err, &errNotRetrievable)
@ -211,7 +202,6 @@ func (suite *AccountTestSuite) TestDereferenceLocalAccountWithUnknownUserURI() {
context.Background(), context.Background(),
fetchingAccount.Username, fetchingAccount.Username,
testrig.URLMustParse("http://localhost:8080/users/thisaccountdoesnotexist"), testrig.URLMustParse("http://localhost:8080/users/thisaccountdoesnotexist"),
false,
) )
var errNotRetrievable *dereferencing.ErrNotRetrievable var errNotRetrievable *dereferencing.ErrNotRetrievable
suite.ErrorAs(err, &errNotRetrievable) suite.ErrorAs(err, &errNotRetrievable)

View file

@ -35,14 +35,15 @@
type Dereferencer interface { type Dereferencer interface {
// GetAccountByURI will attempt to fetch an account by its URI, first checking the database and in the case of a remote account will either check the // GetAccountByURI will attempt to fetch an account by its URI, first checking the database and in the case of a remote account will either check the
// last_fetched (and updating if beyond fetch interval) or dereferencing for the first-time if this remote account has never been encountered before. // last_fetched (and updating if beyond fetch interval) or dereferencing for the first-time if this remote account has never been encountered before.
GetAccountByURI(ctx context.Context, requestUser string, uri *url.URL, block bool) (*gtsmodel.Account, error) GetAccountByURI(ctx context.Context, requestUser string, uri *url.URL) (*gtsmodel.Account, error)
// GetAccountByUsernameDomain will attempt to fetch an account by username@domain, first checking the database and in the case of a remote account will either // GetAccountByUsernameDomain will attempt to fetch an account by username@domain, first checking the database and in the case of a remote account will either
// check the last_fetched (and updating if beyond fetch interval) or dereferencing for the first-time if this remote account has never been encountered before. // check the last_fetched (and updating if beyond fetch interval) or dereferencing for the first-time if this remote account has never been encountered before.
GetAccountByUsernameDomain(ctx context.Context, requestUser string, username string, domain string, block bool) (*gtsmodel.Account, error) GetAccountByUsernameDomain(ctx context.Context, requestUser string, username string, domain string) (*gtsmodel.Account, error)
// UpdateAccount updates the given account if last_fetched is beyond fetch interval (or if force is set). An updated account model is returned, any media fetching is done async. // RefreshAccount forces a refresh of the given account by fetching the current/latest state of the account from the remote instance.
UpdateAccount(ctx context.Context, requestUser string, account *gtsmodel.Account, force bool) (*gtsmodel.Account, error) // An updated account model is returned, but not yet inserted/updated in the database; this is the caller's responsibility.
RefreshAccount(ctx context.Context, requestUser string, accountable ap.Accountable, account *gtsmodel.Account) (*gtsmodel.Account, error)
GetStatus(ctx context.Context, username string, remoteStatusID *url.URL, refetch, includeParent bool) (*gtsmodel.Status, ap.Statusable, error) GetStatus(ctx context.Context, username string, remoteStatusID *url.URL, refetch, includeParent bool) (*gtsmodel.Status, ap.Statusable, error)

View file

@ -125,7 +125,7 @@ func (d *deref) GetStatus(ctx context.Context, username string, statusURI *url.U
} }
// we need to get the author of the status else we can't serialize it properly // we need to get the author of the status else we can't serialize it properly
if _, err = d.GetAccountByURI(ctx, username, accountURI, true); err != nil { if _, err = d.GetAccountByURI(ctx, username, accountURI); err != nil {
return nil, nil, newErrOther(fmt.Errorf("GetRemoteStatus: couldn't get status author: %s", err)) return nil, nil, newErrOther(fmt.Errorf("GetRemoteStatus: couldn't get status author: %s", err))
} }
@ -278,7 +278,7 @@ func (d *deref) populateStatusMentions(ctx context.Context, status *gtsmodel.Sta
if targetAccount == nil { if targetAccount == nil {
// we didn't find the account in our database already // we didn't find the account in our database already
// check if we can get the account remotely (dereference it) // check if we can get the account remotely (dereference it)
if a, err := d.GetAccountByURI(ctx, requestingUsername, targetAccountURI, false); err != nil { if a, err := d.GetAccountByURI(ctx, requestingUsername, targetAccountURI); err != nil {
errs = append(errs, err.Error()) errs = append(errs, err.Error())
} else { } else {
log.Debugf(ctx, "got target account %s with id %s through GetRemoteAccount", targetAccountURI, a.ID) log.Debugf(ctx, "got target account %s with id %s through GetRemoteAccount", targetAccountURI, a.ID)

View file

@ -59,11 +59,11 @@ type federatingActor struct {
// implements the pub.FederatingActor interface. // implements the pub.FederatingActor interface.
func newFederatingActor(c pub.CommonBehavior, s2s pub.FederatingProtocol, db pub.Database, clock pub.Clock) pub.FederatingActor { func newFederatingActor(c pub.CommonBehavior, s2s pub.FederatingProtocol, db pub.Database, clock pub.Clock) pub.FederatingActor {
sideEffectActor := pub.NewSideEffectActor(c, s2s, nil, db, clock) sideEffectActor := pub.NewSideEffectActor(c, s2s, nil, db, clock)
customActor := pub.NewCustomActor(sideEffectActor, false, true, clock) sideEffectActor.Serialize = ap.Serialize // hook in our own custom Serialize function
return &federatingActor{ return &federatingActor{
sideEffectActor: sideEffectActor, sideEffectActor: sideEffectActor,
wrapped: customActor, wrapped: pub.NewCustomActor(sideEffectActor, false, true, clock),
} }
} }
@ -165,7 +165,8 @@ func (f *federatingActor) PostInboxScheme(ctx context.Context, w http.ResponseWr
// If activity Object is a Statusable, we'll want to replace the // If activity Object is a Statusable, we'll want to replace the
// parsed `content` value with the value from the raw JSON instead. // parsed `content` value with the value from the raw JSON instead.
// See https://github.com/superseriousbusiness/gotosocial/issues/1661 // See https://github.com/superseriousbusiness/gotosocial/issues/1661
ap.NormalizeActivityObject(activity, rawActivity) // Likewise, if it's an Accountable, we'll normalize some fields on it.
ap.NormalizeIncomingActivityObject(activity, rawActivity)
// Allow server implementations to set context data with a hook. // Allow server implementations to set context data with a hook.
ctx, err = f.sideEffectActor.PostInboxRequestBodyHook(ctx, r, activity) ctx, err = f.sideEffectActor.PostInboxRequestBodyHook(ctx, r, activity)

View file

@ -23,7 +23,7 @@
"testing" "testing"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/testrig" "github.com/superseriousbusiness/gotosocial/testrig"
) )
@ -37,7 +37,7 @@ func (suite *FollowersTestSuite) TestGetFollowers() {
f, err := suite.federatingDB.Followers(context.Background(), testrig.URLMustParse(testAccount.URI)) f, err := suite.federatingDB.Followers(context.Background(), testrig.URLMustParse(testAccount.URI))
suite.NoError(err) suite.NoError(err)
fi, err := streams.Serialize(f) fi, err := ap.Serialize(f)
suite.NoError(err) suite.NoError(err)
fJson, err := json.MarshalIndent(fi, "", " ") fJson, err := json.MarshalIndent(fi, "", " ")

View file

@ -23,7 +23,7 @@
"testing" "testing"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/testrig" "github.com/superseriousbusiness/gotosocial/testrig"
) )
@ -37,7 +37,7 @@ func (suite *FollowingTestSuite) TestGetFollowing() {
f, err := suite.federatingDB.Following(context.Background(), testrig.URLMustParse(testAccount.URI)) f, err := suite.federatingDB.Following(context.Background(), testrig.URLMustParse(testAccount.URI))
suite.NoError(err) suite.NoError(err)
fi, err := streams.Serialize(f) fi, err := ap.Serialize(f)
suite.NoError(err) suite.NoError(err)
fJson, err := json.MarshalIndent(fi, "", " ") fJson, err := json.MarshalIndent(fi, "", " ")

View file

@ -54,96 +54,69 @@ func (f *federatingDB) Update(ctx context.Context, asType vocab.Type) error {
receivingAccount, _ := extractFromCtx(ctx) receivingAccount, _ := extractFromCtx(ctx)
if receivingAccount == nil { if receivingAccount == nil {
// If the receiving account wasn't set on the context, that means this request didn't pass // If the receiving account wasn't set on the context, that means
// through the API, but came from inside GtS as the result of another activity on this instance. That being so, // this request didn't pass through the API, but came from inside
// we can safely just ignore this activity, since we know we've already processed it elsewhere. // GtS as the result of another activity on this instance. As such,
// we must have already processed it in order to reach this stage.
return nil return nil
} }
requestingAcctI := ctx.Value(ap.ContextRequestingAccount) requestingAcctI := ctx.Value(ap.ContextRequestingAccount)
if requestingAcctI == nil { if requestingAcctI == nil {
l.Error("UPDATE: requesting account wasn't set on context") return errors.New("Update: requesting account wasn't set on context")
} }
requestingAcct, ok := requestingAcctI.(*gtsmodel.Account) requestingAcct, ok := requestingAcctI.(*gtsmodel.Account)
if !ok { if !ok {
l.Error("UPDATE: requesting account was set on context but couldn't be parsed") return errors.New("Update: requesting account was set on context but couldn't be parsed")
} }
typeName := asType.GetTypeName() switch asType.GetTypeName() {
if typeName == ap.ActorApplication || case ap.ActorApplication, ap.ActorGroup, ap.ActorOrganization, ap.ActorPerson, ap.ActorService:
typeName == ap.ActorGroup || return f.updateAccountable(ctx, receivingAccount, requestingAcct, asType)
typeName == ap.ActorOrganization ||
typeName == ap.ActorPerson ||
typeName == ap.ActorService {
// it's an UPDATE to some kind of account
var accountable ap.Accountable
switch typeName {
case ap.ActorApplication:
l.Debug("got update for APPLICATION")
i, ok := asType.(vocab.ActivityStreamsApplication)
if !ok {
return errors.New("UPDATE: could not convert type to application")
}
accountable = i
case ap.ActorGroup:
l.Debug("got update for GROUP")
i, ok := asType.(vocab.ActivityStreamsGroup)
if !ok {
return errors.New("UPDATE: could not convert type to group")
}
accountable = i
case ap.ActorOrganization:
l.Debug("got update for ORGANIZATION")
i, ok := asType.(vocab.ActivityStreamsOrganization)
if !ok {
return errors.New("UPDATE: could not convert type to organization")
}
accountable = i
case ap.ActorPerson:
l.Debug("got update for PERSON")
i, ok := asType.(vocab.ActivityStreamsPerson)
if !ok {
return errors.New("UPDATE: could not convert type to person")
}
accountable = i
case ap.ActorService:
l.Debug("got update for SERVICE")
i, ok := asType.(vocab.ActivityStreamsService)
if !ok {
return errors.New("UPDATE: could not convert type to service")
}
accountable = i
}
updatedAcct, err := f.typeConverter.ASRepresentationToAccount(ctx, accountable, "")
if err != nil {
return fmt.Errorf("UPDATE: error converting to account: %s", err)
}
if updatedAcct.Domain == config.GetHost() || updatedAcct.Domain == config.GetAccountDomain() {
// no need to update local accounts
// in fact, if we do this will break the shit out of things so do NOT
return nil
}
if requestingAcct.URI != updatedAcct.URI {
return fmt.Errorf("UPDATE: update for account %s was requested by account %s, this is not valid", updatedAcct.URI, requestingAcct.URI)
}
// set some fields here on the updatedAccount representation so we don't run into db issues
updatedAcct.CreatedAt = requestingAcct.CreatedAt
updatedAcct.ID = requestingAcct.ID
updatedAcct.Language = requestingAcct.Language
// pass to the processor for further updating of eg., avatar/header, emojis
// the actual db insert/update will take place a bit later
f.state.Workers.EnqueueFederator(ctx, messages.FromFederator{
APObjectType: ap.ObjectProfile,
APActivityType: ap.ActivityUpdate,
GTSModel: updatedAcct,
ReceivingAccount: receivingAccount,
})
} }
return nil return nil
} }
func (f *federatingDB) updateAccountable(ctx context.Context, receivingAcct *gtsmodel.Account, requestingAcct *gtsmodel.Account, asType vocab.Type) error {
accountable, ok := asType.(ap.Accountable)
if !ok {
return errors.New("updateAccountable: could not convert vocab.Type to Accountable")
}
updatedAcct, err := f.typeConverter.ASRepresentationToAccount(ctx, accountable, "")
if err != nil {
return fmt.Errorf("updateAccountable: error converting to account: %w", err)
}
if updatedAcct.Domain == config.GetHost() || updatedAcct.Domain == config.GetAccountDomain() {
// No need to update local accounts; in fact, if we try
// this it will break the shit out of things so do NOT.
return nil
}
if requestingAcct.URI != updatedAcct.URI {
return fmt.Errorf("updateAccountable: update for account %s was requested by account %s, this is not valid", updatedAcct.URI, requestingAcct.URI)
}
// Set some basic fields on the updated account
// based on what we already know about the requester.
updatedAcct.CreatedAt = requestingAcct.CreatedAt
updatedAcct.ID = requestingAcct.ID
updatedAcct.Language = requestingAcct.Language
updatedAcct.AvatarMediaAttachmentID = requestingAcct.AvatarMediaAttachmentID
updatedAcct.HeaderMediaAttachmentID = requestingAcct.HeaderMediaAttachmentID
// Pass to the processor for further updating of eg., avatar/header,
// emojis, etc. The actual db insert/update will take place there.
f.state.Workers.EnqueueFederator(ctx, messages.FromFederator{
APObjectType: ap.ObjectProfile,
APActivityType: ap.ActivityUpdate,
GTSModel: updatedAcct,
APObjectModel: accountable,
ReceivingAccount: receivingAcct,
})
return nil
}

View file

@ -325,7 +325,7 @@ func extractFromCtx(ctx context.Context) (receivingAccount, requestingAccount *g
} }
func marshalItem(item vocab.Type) (string, error) { func marshalItem(item vocab.Type) (string, error) {
m, err := streams.Serialize(item) m, err := ap.Serialize(item)
if err != nil { if err != nil {
return "", err return "", err
} }

View file

@ -211,7 +211,7 @@ func (f *federator) AuthenticatePostInbox(ctx context.Context, w http.ResponseWr
// dereference the remote account (or just get it // dereference the remote account (or just get it
// from the db if we already have it). // from the db if we already have it).
requestingAccount, err := f.GetAccountByURI( requestingAccount, err := f.GetAccountByURI(
gtscontext.SetFastFail(ctx), username, publicKeyOwnerURI, false, gtscontext.SetFastFail(ctx), username, publicKeyOwnerURI,
) )
if err != nil { if err != nil {
if gtserror.StatusCode(err) == http.StatusGone { if gtserror.StatusCode(err) == http.StatusGone {

View file

@ -47,7 +47,8 @@ type Account struct {
DisplayName string `validate:"-" bun:""` // DisplayName for this account. Can be empty, then just the Username will be used for display purposes. DisplayName string `validate:"-" bun:""` // DisplayName for this account. Can be empty, then just the Username will be used for display purposes.
EmojiIDs []string `validate:"dive,ulid" bun:"emojis,array"` // Database IDs of any emojis used in this account's bio, display name, etc EmojiIDs []string `validate:"dive,ulid" bun:"emojis,array"` // Database IDs of any emojis used in this account's bio, display name, etc
Emojis []*Emoji `validate:"-" bun:"attached_emojis,m2m:account_to_emojis"` // Emojis corresponding to emojiIDs. https://bun.uptrace.dev/guide/relations.html#many-to-many-relation Emojis []*Emoji `validate:"-" bun:"attached_emojis,m2m:account_to_emojis"` // Emojis corresponding to emojiIDs. https://bun.uptrace.dev/guide/relations.html#many-to-many-relation
Fields []Field `validate:"-"` // a key/value map of fields that this account has added to their profile Fields []*Field `validate:"-"` // A slice of of fields that this account has added to their profile.
FieldsRaw []*Field `validate:"-"` // The raw (unparsed) content of fields that this account has added to their profile, without conversion to HTML, only available when requester = target
Note string `validate:"-" bun:""` // A note that this account has on their profile (ie., the account's bio/description of themselves) Note string `validate:"-" bun:""` // A note that this account has on their profile (ie., the account's bio/description of themselves)
NoteRaw string `validate:"-" bun:""` // The raw contents of .Note without conversion to HTML, only available when requester = target NoteRaw string `validate:"-" bun:""` // The raw contents of .Note without conversion to HTML, only available when requester = target
Memorial *bool `validate:"-" bun:",default:false"` // Is this a memorial account, ie., has the user passed away? Memorial *bool `validate:"-" bun:",default:false"` // Is this a memorial account, ie., has the user passed away?

View file

@ -34,9 +34,10 @@ type FromClientAPI struct {
// FromFederator wraps a message that travels from the federator into the processor. // FromFederator wraps a message that travels from the federator into the processor.
type FromFederator struct { type FromFederator struct {
APObjectType string // what is the object type of this message? eg., Note, Profile etc. APObjectType string
APActivityType string // what is the activity type of this message? eg., Create, Follow etc. APActivityType string
APIri *url.URL // what is the IRI ID of this activity? APIri *url.URL
GTSModel interface{} // representation of this object if it's already been converted into our internal gts model APObjectModel interface{} // Optional AP model of the Object of the Activity. Should be Accountable or Statusable.
ReceivingAccount *gtsmodel.Account // which account owns the inbox that this activity was posted to? GTSModel interface{} // Optional GTS model of the Activity or Object.
ReceivingAccount *gtsmodel.Account // Local account which owns the inbox that this Activity was posted to.
} }

View file

@ -96,7 +96,7 @@ func (p *Processor) getFor(ctx context.Context, requestingAccount *gtsmodel.Acco
} }
a, err := p.federator.GetAccountByURI( a, err := p.federator.GetAccountByURI(
gtscontext.SetFastFail(ctx), requestingAccount.Username, targetAccountURI, true, gtscontext.SetFastFail(ctx), requestingAccount.Username, targetAccountURI,
) )
if err == nil { if err == nil {
targetAccount = a targetAccount = a

View file

@ -36,6 +36,14 @@
"github.com/superseriousbusiness/gotosocial/internal/validate" "github.com/superseriousbusiness/gotosocial/internal/validate"
) )
func (p *Processor) selectNoteFormatter(contentType string) text.FormatFunc {
if contentType == "text/markdown" {
return p.formatter.FromMarkdown
}
return p.formatter.FromPlain
}
// Update processes the update of an account with the given form. // Update processes the update of an account with the given form.
func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form *apimodel.UpdateCredentialsRequest) (*apimodel.Account, gtserror.WithCode) { func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form *apimodel.UpdateCredentialsRequest) (*apimodel.Account, gtserror.WithCode) {
if form.Discoverable != nil { if form.Discoverable != nil {
@ -46,56 +54,144 @@ func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form
account.Bot = form.Bot account.Bot = form.Bot
} }
reparseEmojis := false // Via the process of updating the account,
// it is possible that the emojis used by
// that account in note/display name/fields
// may change; we need to keep track of this.
var emojisChanged bool
if form.DisplayName != nil { if form.DisplayName != nil {
if err := validate.DisplayName(*form.DisplayName); err != nil { displayName := *form.DisplayName
return nil, gtserror.NewErrorBadRequest(err) if err := validate.DisplayName(displayName); err != nil {
return nil, gtserror.NewErrorBadRequest(err, err.Error())
} }
account.DisplayName = text.SanitizePlaintext(*form.DisplayName)
reparseEmojis = true // Parse new display name (always from plaintext).
account.DisplayName = text.SanitizePlaintext(displayName)
// If display name has changed, account emojis may have also changed.
emojisChanged = true
} }
if form.Note != nil { if form.Note != nil {
if err := validate.Note(*form.Note); err != nil { note := *form.Note
return nil, gtserror.NewErrorBadRequest(err) if err := validate.Note(note); err != nil {
return nil, gtserror.NewErrorBadRequest(err, err.Error())
} }
// Set the raw note before processing // Store raw version of the note for now,
account.NoteRaw = *form.Note // we'll process the proper version later.
reparseEmojis = true account.NoteRaw = note
// If note has changed, account emojis may have also changed.
emojisChanged = true
} }
if reparseEmojis { if form.FieldsAttributes != nil {
// If either DisplayName or Note changed, reparse both, because we var (
// can't otherwise tell which one each emoji belongs to. fieldsAttributes = *form.FieldsAttributes
// Deduplicate emojis between the two fields. fieldsLen = len(fieldsAttributes)
fieldsRaw = make([]*gtsmodel.Field, 0, fieldsLen)
)
for _, updateField := range fieldsAttributes {
if updateField.Name == nil || updateField.Value == nil {
continue
}
var (
name string = *updateField.Name
value string = *updateField.Value
)
if name == "" || value == "" {
continue
}
// Sanitize raw field values.
fieldRaw := &gtsmodel.Field{
Name: text.SanitizePlaintext(name),
Value: text.SanitizePlaintext(value),
}
fieldsRaw = append(fieldsRaw, fieldRaw)
}
// Check length of parsed raw fields.
if err := validate.ProfileFields(fieldsRaw); err != nil {
return nil, gtserror.NewErrorBadRequest(err, err.Error())
}
// OK, new raw fields are valid.
account.FieldsRaw = fieldsRaw
account.Fields = make([]*gtsmodel.Field, 0, fieldsLen) // process these in a sec
// If fields have changed, account emojis may also have changed.
emojisChanged = true
}
if emojisChanged {
// Use map to deduplicate emojis by their ID.
emojis := make(map[string]*gtsmodel.Emoji) emojis := make(map[string]*gtsmodel.Emoji)
formatResult := p.formatter.FromPlainEmojiOnly(ctx, p.parseMention, account.ID, "", account.DisplayName)
for _, emoji := range formatResult.Emojis { // Retrieve display name emojis.
for _, emoji := range p.formatter.FromPlainEmojiOnly(
ctx,
p.parseMention,
account.ID,
"",
account.DisplayName,
).Emojis {
emojis[emoji.ID] = emoji emojis[emoji.ID] = emoji
} }
// Process note to generate a valid HTML representation // Format + set note according to user prefs.
var f text.FormatFunc f := p.selectNoteFormatter(account.StatusContentType)
if account.StatusContentType == "text/markdown" { formatNoteResult := f(ctx, p.parseMention, account.ID, "", account.NoteRaw)
f = p.formatter.FromMarkdown account.Note = formatNoteResult.HTML
} else {
f = p.formatter.FromPlain
}
formatted := f(ctx, p.parseMention, account.ID, "", account.NoteRaw)
// Set updated HTML-ified note // Retrieve note emojis.
account.Note = formatted.HTML for _, emoji := range formatNoteResult.Emojis {
for _, emoji := range formatted.Emojis {
emojis[emoji.ID] = emoji emojis[emoji.ID] = emoji
} }
account.Emojis = []*gtsmodel.Emoji{} // Process the raw fields we stored earlier.
account.EmojiIDs = []string{} for _, fieldRaw := range account.FieldsRaw {
for eid, emoji := range emojis { field := &gtsmodel.Field{}
// Name stays plain, but we still need to
// see if there are any emojis set in it.
field.Name = fieldRaw.Name
for _, emoji := range p.formatter.FromPlainEmojiOnly(
ctx,
p.parseMention,
account.ID,
"",
fieldRaw.Name,
).Emojis {
emojis[emoji.ID] = emoji
}
// Value can be HTML, but we don't want
// to wrap the result in <p> tags.
fieldFormatValueResult := p.formatter.FromPlainNoParagraph(ctx, p.parseMention, account.ID, "", fieldRaw.Value)
field.Value = fieldFormatValueResult.HTML
// Retrieve field emojis.
for _, emoji := range fieldFormatValueResult.Emojis {
emojis[emoji.ID] = emoji
}
// We're done, append the shiny new field.
account.Fields = append(account.Fields, field)
}
emojisCount := len(emojis)
account.Emojis = make([]*gtsmodel.Emoji, 0, emojisCount)
account.EmojiIDs = make([]string, 0, emojisCount)
for id, emoji := range emojis {
account.Emojis = append(account.Emojis, emoji) account.Emojis = append(account.Emojis, emoji)
account.EmojiIDs = append(account.EmojiIDs, eid) account.EmojiIDs = append(account.EmojiIDs, id)
} }
} }
@ -164,26 +260,6 @@ func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form
account.EnableRSS = form.EnableRSS account.EnableRSS = form.EnableRSS
} }
if form.FieldsAttributes != nil && len(*form.FieldsAttributes) != 0 {
if err := validate.ProfileFieldsCount(*form.FieldsAttributes); err != nil {
return nil, gtserror.NewErrorBadRequest(err)
}
account.Fields = make([]gtsmodel.Field, 0) // reset fields
for _, f := range *form.FieldsAttributes {
if f.Name != nil && f.Value != nil {
if *f.Name != "" && *f.Value != "" {
field := gtsmodel.Field{}
field.Name = validate.ProfileField(f.Name)
field.Value = validate.ProfileField(f.Value)
account.Fields = append(account.Fields, field)
}
}
}
}
err := p.state.DB.UpdateAccount(ctx, account) err := p.state.DB.UpdateAccount(ctx, account)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(fmt.Errorf("could not update account %s: %s", account.ID, err)) return nil, gtserror.NewErrorInternalError(fmt.Errorf("could not update account %s: %s", account.ID, err))

View file

@ -148,6 +148,86 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateWithMarkdownNote() {
suite.Equal(expectedNote, dbAccount.Note) suite.Equal(expectedNote, dbAccount.Note)
} }
func (suite *AccountUpdateTestSuite) TestAccountUpdateWithFields() {
testAccount := suite.testAccounts["local_account_1"]
updateFields := []apimodel.UpdateField{
{
Name: func() *string { s := "favourite emoji"; return &s }(),
Value: func() *string { s := ":rainbow:"; return &s }(),
},
{
Name: func() *string { s := "my website"; return &s }(),
Value: func() *string { s := "https://example.org"; return &s }(),
},
}
form := &apimodel.UpdateCredentialsRequest{
FieldsAttributes: &updateFields,
}
// should get no error from the update function, and an api model account returned
apiAccount, errWithCode := suite.accountProcessor.Update(context.Background(), testAccount, form)
// reset test account to avoid breaking other tests
testAccount.StatusContentType = "text/plain"
suite.NoError(errWithCode)
suite.NotNil(apiAccount)
suite.EqualValues([]apimodel.Field{
{
Name: "favourite emoji",
Value: ":rainbow:",
VerifiedAt: (*string)(nil),
},
{
Name: "my website",
Value: "<a href=\"https://example.org\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://example.org</a>",
VerifiedAt: (*string)(nil),
},
}, apiAccount.Fields)
suite.EqualValues([]apimodel.Field{
{
Name: "favourite emoji",
Value: ":rainbow:",
VerifiedAt: (*string)(nil),
},
{
Name: "my website",
Value: "https://example.org",
VerifiedAt: (*string)(nil),
},
}, apiAccount.Source.Fields)
suite.EqualValues([]apimodel.Emoji{
{
Shortcode: "rainbow",
URL: "http://localhost:8080/fileserver/01AY6P665V14JJR0AFVRT7311Y/emoji/original/01F8MH9H8E4VG3KDYJR9EGPXCQ.png",
StaticURL: "http://localhost:8080/fileserver/01AY6P665V14JJR0AFVRT7311Y/emoji/static/01F8MH9H8E4VG3KDYJR9EGPXCQ.png",
VisibleInPicker: true,
Category: "reactions",
},
}, apiAccount.Emojis)
// we should have an update in the client api channel
msg := <-suite.fromClientAPIChan
suite.Equal(ap.ActivityUpdate, msg.APActivityType)
suite.Equal(ap.ObjectProfile, msg.APObjectType)
suite.NotNil(msg.OriginAccount)
suite.Equal(testAccount.ID, msg.OriginAccount.ID)
suite.Nil(msg.TargetAccount)
// fields should be updated in the database as well
dbAccount, err := suite.db.GetAccountByID(context.Background(), testAccount.ID)
suite.NoError(err)
suite.Equal("favourite emoji", dbAccount.Fields[0].Name)
suite.Equal(":rainbow:", dbAccount.Fields[0].Value)
suite.Equal("my website", dbAccount.Fields[1].Name)
suite.Equal("<a href=\"https://example.org\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://example.org</a>", dbAccount.Fields[1].Value)
suite.Equal("favourite emoji", dbAccount.FieldsRaw[0].Name)
suite.Equal(":rainbow:", dbAccount.FieldsRaw[0].Value)
suite.Equal("my website", dbAccount.FieldsRaw[1].Name)
suite.Equal("https://example.org", dbAccount.FieldsRaw[1].Value)
}
func TestAccountUpdateTestSuite(t *testing.T) { func TestAccountUpdateTestSuite(t *testing.T) {
suite.Run(t, new(AccountUpdateTestSuite)) suite.Run(t, new(AccountUpdateTestSuite))
} }

View file

@ -24,7 +24,6 @@
"net/http" "net/http"
"net/url" "net/url"
"github.com/superseriousbusiness/activity/streams"
"github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtserror"
@ -74,7 +73,7 @@ func (p *Processor) OutboxGet(ctx context.Context, requestedUsername string, pag
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
data, err = streams.Serialize(collection) data, err = ap.Serialize(collection)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -93,7 +92,7 @@ func (p *Processor) OutboxGet(ctx context.Context, requestedUsername string, pag
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
data, err = streams.Serialize(outboxPage) data, err = ap.Serialize(outboxPage)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -119,7 +118,7 @@ func (p *Processor) FollowersGet(ctx context.Context, requestedUsername string)
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error fetching followers for uri %s: %s", requestedAccountURI.String(), err)) return nil, gtserror.NewErrorInternalError(fmt.Errorf("error fetching followers for uri %s: %s", requestedAccountURI.String(), err))
} }
data, err := streams.Serialize(requestedFollowers) data, err := ap.Serialize(requestedFollowers)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -145,7 +144,7 @@ func (p *Processor) FollowingGet(ctx context.Context, requestedUsername string)
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error fetching following for uri %s: %s", requestedAccountURI.String(), err)) return nil, gtserror.NewErrorInternalError(fmt.Errorf("error fetching following for uri %s: %s", requestedAccountURI.String(), err))
} }
data, err := streams.Serialize(requestedFollowing) data, err := ap.Serialize(requestedFollowing)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -173,7 +172,7 @@ func (p *Processor) FeaturedCollectionGet(ctx context.Context, requestedUsername
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
data, err := ap.SerializeOrderedCollection(collection) data, err := ap.Serialize(collection)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }

View file

@ -40,7 +40,7 @@ func (p *Processor) authenticate(ctx context.Context, requestedUsername string)
return return
} }
if requestingAccount, err = p.federator.GetAccountByURI(gtscontext.SetFastFail(ctx), requestedUsername, requestingAccountURI, false); err != nil { if requestingAccount, err = p.federator.GetAccountByURI(gtscontext.SetFastFail(ctx), requestedUsername, requestingAccountURI); err != nil {
errWithCode = gtserror.NewErrorUnauthorized(err) errWithCode = gtserror.NewErrorUnauthorized(err)
return return
} }

View file

@ -21,7 +21,7 @@
"context" "context"
"fmt" "fmt"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtserror"
) )
@ -49,7 +49,7 @@ func (p *Processor) EmojiGet(ctx context.Context, requestedEmojiID string) (inte
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting gtsmodel emoji with id %s to ap emoji: %s", requestedEmojiID, err)) return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting gtsmodel emoji with id %s to ap emoji: %s", requestedEmojiID, err))
} }
data, err := streams.Serialize(apEmoji) data, err := ap.Serialize(apEmoji)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }

View file

@ -22,7 +22,7 @@
"fmt" "fmt"
"net/url" "net/url"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtserror"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
) )
@ -57,7 +57,7 @@ func (p *Processor) StatusGet(ctx context.Context, requestedUsername string, req
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
data, err := streams.Serialize(asStatus) data, err := ap.Serialize(asStatus)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -105,7 +105,7 @@ func (p *Processor) StatusRepliesGet(ctx context.Context, requestedUsername stri
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
data, err = streams.Serialize(collection) data, err = ap.Serialize(collection)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -117,7 +117,7 @@ func (p *Processor) StatusRepliesGet(ctx context.Context, requestedUsername stri
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
// but only return the first page // but only return the first page
data, err = streams.Serialize(collection.GetActivityStreamsFirst().GetActivityStreamsCollectionPage()) data, err = ap.Serialize(collection.GetActivityStreamsFirst().GetActivityStreamsCollectionPage())
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
@ -166,7 +166,7 @@ func (p *Processor) StatusRepliesGet(ctx context.Context, requestedUsername stri
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }
data, err = streams.Serialize(repliesPage) data, err = ap.Serialize(repliesPage)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }

View file

@ -22,8 +22,8 @@
"fmt" "fmt"
"net/url" "net/url"
"github.com/superseriousbusiness/activity/streams"
"github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/activity/streams/vocab"
"github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/gtscontext" "github.com/superseriousbusiness/gotosocial/internal/gtscontext"
"github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtserror"
"github.com/superseriousbusiness/gotosocial/internal/uris" "github.com/superseriousbusiness/gotosocial/internal/uris"
@ -56,7 +56,7 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
// if we're not already handshaking/dereferencing a remote account, dereference it now // if we're not already handshaking/dereferencing a remote account, dereference it now
if !p.federator.Handshaking(requestedUsername, requestingAccountURI) { if !p.federator.Handshaking(requestedUsername, requestingAccountURI) {
requestingAccount, err := p.federator.GetAccountByURI( requestingAccount, err := p.federator.GetAccountByURI(
gtscontext.SetFastFail(ctx), requestedUsername, requestingAccountURI, false, gtscontext.SetFastFail(ctx), requestedUsername, requestingAccountURI,
) )
if err != nil { if err != nil {
return nil, gtserror.NewErrorUnauthorized(err) return nil, gtserror.NewErrorUnauthorized(err)
@ -78,7 +78,7 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
} }
} }
data, err := streams.Serialize(requestedPerson) data, err := ap.Serialize(requestedPerson)
if err != nil { if err != nil {
return nil, gtserror.NewErrorInternalError(err) return nil, gtserror.NewErrorInternalError(err)
} }

View file

@ -145,7 +145,7 @@ func (p *Processor) processCreateStatusFromFederator(ctx context.Context, federa
status.Account = a status.Account = a
} }
// do a BLOCKING get of the remote account to make sure the avi and header are cached // Get the remote account to make sure the avi and header are cached.
if status.Account.Domain != "" { if status.Account.Domain != "" {
remoteAccountID, err := url.Parse(status.Account.URI) remoteAccountID, err := url.Parse(status.Account.URI)
if err != nil { if err != nil {
@ -155,7 +155,6 @@ func (p *Processor) processCreateStatusFromFederator(ctx context.Context, federa
a, err := p.federator.GetAccountByURI(ctx, a, err := p.federator.GetAccountByURI(ctx,
federatorMsg.ReceivingAccount.Username, federatorMsg.ReceivingAccount.Username,
remoteAccountID, remoteAccountID,
true,
) )
if err != nil { if err != nil {
return err return err
@ -187,7 +186,7 @@ func (p *Processor) processCreateFaveFromFederator(ctx context.Context, federato
incomingFave.Account = a incomingFave.Account = a
} }
// do a BLOCKING get of the remote account to make sure the avi and header are cached // Get the remote account to make sure the avi and header are cached.
if incomingFave.Account.Domain != "" { if incomingFave.Account.Domain != "" {
remoteAccountID, err := url.Parse(incomingFave.Account.URI) remoteAccountID, err := url.Parse(incomingFave.Account.URI)
if err != nil { if err != nil {
@ -197,7 +196,6 @@ func (p *Processor) processCreateFaveFromFederator(ctx context.Context, federato
a, err := p.federator.GetAccountByURI(ctx, a, err := p.federator.GetAccountByURI(ctx,
federatorMsg.ReceivingAccount.Username, federatorMsg.ReceivingAccount.Username,
remoteAccountID, remoteAccountID,
true,
) )
if err != nil { if err != nil {
return err return err
@ -229,7 +227,7 @@ func (p *Processor) processCreateFollowRequestFromFederator(ctx context.Context,
followRequest.Account = a followRequest.Account = a
} }
// do a BLOCKING get of the remote account to make sure the avi and header are cached // Get the remote account to make sure the avi and header are cached.
if followRequest.Account.Domain != "" { if followRequest.Account.Domain != "" {
remoteAccountID, err := url.Parse(followRequest.Account.URI) remoteAccountID, err := url.Parse(followRequest.Account.URI)
if err != nil { if err != nil {
@ -239,7 +237,6 @@ func (p *Processor) processCreateFollowRequestFromFederator(ctx context.Context,
a, err := p.federator.GetAccountByURI(ctx, a, err := p.federator.GetAccountByURI(ctx,
federatorMsg.ReceivingAccount.Username, federatorMsg.ReceivingAccount.Username,
remoteAccountID, remoteAccountID,
true,
) )
if err != nil { if err != nil {
return err return err
@ -290,7 +287,7 @@ func (p *Processor) processCreateAnnounceFromFederator(ctx context.Context, fede
incomingAnnounce.Account = a incomingAnnounce.Account = a
} }
// do a BLOCKING get of the remote account to make sure the avi and header are cached // Get the remote account to make sure the avi and header are cached.
if incomingAnnounce.Account.Domain != "" { if incomingAnnounce.Account.Domain != "" {
remoteAccountID, err := url.Parse(incomingAnnounce.Account.URI) remoteAccountID, err := url.Parse(incomingAnnounce.Account.URI)
if err != nil { if err != nil {
@ -300,7 +297,6 @@ func (p *Processor) processCreateAnnounceFromFederator(ctx context.Context, fede
a, err := p.federator.GetAccountByURI(ctx, a, err := p.federator.GetAccountByURI(ctx,
federatorMsg.ReceivingAccount.Username, federatorMsg.ReceivingAccount.Username,
remoteAccountID, remoteAccountID,
true,
) )
if err != nil { if err != nil {
return err return err
@ -370,16 +366,28 @@ func (p *Processor) processCreateFlagFromFederator(ctx context.Context, federato
func (p *Processor) processUpdateAccountFromFederator(ctx context.Context, federatorMsg messages.FromFederator) error { func (p *Processor) processUpdateAccountFromFederator(ctx context.Context, federatorMsg messages.FromFederator) error {
incomingAccount, ok := federatorMsg.GTSModel.(*gtsmodel.Account) incomingAccount, ok := federatorMsg.GTSModel.(*gtsmodel.Account)
if !ok { if !ok {
return errors.New("profile was not parseable as *gtsmodel.Account") return errors.New("*gtsmodel.Account was not parseable on update account message")
} }
// Call UpdateAccount with force to reflect that // Because this was an Update, the new AP Object should be set on the message.
// we want to fetch new bio, avatar, header, etc. incomingAccountable, ok := federatorMsg.APObjectModel.(ap.Accountable)
if _, err := p.federator.UpdateAccount(ctx, if !ok {
return errors.New("Accountable was not parseable on update account message")
}
// Call RefreshAccount to fetch up-to-date bio, avatar, header, etc.
updatedAccount, err := p.federator.RefreshAccount(
ctx,
federatorMsg.ReceivingAccount.Username, federatorMsg.ReceivingAccount.Username,
incomingAccountable,
incomingAccount, incomingAccount,
true, )
); err != nil { if err != nil {
return fmt.Errorf("error enriching updated account from federator: %s", err)
}
// RefreshAccount doesn't make DB update calls, so do that here.
if err := p.state.DB.UpdateAccount(ctx, updatedAccount); err != nil {
return fmt.Errorf("error enriching updated account from federator: %s", err) return fmt.Errorf("error enriching updated account from federator: %s", err)
} }

View file

@ -270,7 +270,7 @@ func (p *Processor) searchAccountByURI(ctx context.Context, authed *oauth.Auth,
return p.federator.GetAccountByURI( return p.federator.GetAccountByURI(
gtscontext.SetFastFail(ctx), gtscontext.SetFastFail(ctx),
authed.Account.Username, authed.Account.Username,
uri, false, uri,
) )
} }
@ -297,6 +297,6 @@ func (p *Processor) searchAccountByUsernameDomain(ctx context.Context, authed *o
return p.federator.GetAccountByUsernameDomain( return p.federator.GetAccountByUsernameDomain(
gtscontext.SetFastFail(ctx), gtscontext.SetFastFail(ctx),
authed.Account.Username, authed.Account.Username,
username, domain, false, username, domain,
) )
} }

View file

@ -62,7 +62,6 @@ func GetParseMentionFunc(dbConn db.DB, federator federation.Federator) gtsmodel.
requestingUsername, requestingUsername,
username, username,
domain, domain,
false,
) )
if err != nil { if err != nil {
return nil, fmt.Errorf("parseMentionFunc: error fetching account: %s", err) return nil, fmt.Errorf("parseMentionFunc: error fetching account: %s", err)

View file

@ -30,6 +30,8 @@
type Formatter interface { type Formatter interface {
// FromPlain parses an HTML text from a plaintext. // FromPlain parses an HTML text from a plaintext.
FromPlain(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, plain string) *FormatResult FromPlain(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, plain string) *FormatResult
// FromPlainNoParagraph parses an HTML text from a plaintext, without wrapping the resulting text in <p> tags.
FromPlainNoParagraph(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, plain string) *FormatResult
// FromMarkdown parses an HTML text from a markdown-formatted text. // FromMarkdown parses an HTML text from a markdown-formatted text.
FromMarkdown(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, md string) *FormatResult FromMarkdown(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, md string) *FormatResult
// FromPlainEmojiOnly parses an HTML text from a plaintext, only parsing emojis and not mentions etc. // FromPlainEmojiOnly parses an HTML text from a plaintext, only parsing emojis and not mentions etc.

View file

@ -92,3 +92,7 @@ func (suite *TextStandardTestSuite) FromMarkdown(text string) *text.FormatResult
func (suite *TextStandardTestSuite) FromPlain(text string) *text.FormatResult { func (suite *TextStandardTestSuite) FromPlain(text string) *text.FormatResult {
return suite.formatter.FromPlain(context.Background(), suite.parseMention, suite.testAccounts["local_account_1"].ID, "status_ID", text) return suite.formatter.FromPlain(context.Background(), suite.parseMention, suite.testAccounts["local_account_1"].ID, "status_ID", text)
} }
func (suite *TextStandardTestSuite) FromPlainNoParagraph(text string) *text.FormatResult {
return suite.formatter.FromPlainNoParagraph(context.Background(), suite.parseMention, suite.testAccounts["local_account_1"].ID, "status_ID", text)
}

View file

@ -60,3 +60,41 @@ func (b *plaintextParser) CanInterruptParagraph() bool {
func (b *plaintextParser) CanAcceptIndentedLine() bool { func (b *plaintextParser) CanAcceptIndentedLine() bool {
return true return true
} }
// plaintextParserNoParagraph implements goldmark.parser.BlockParser
type plaintextParserNoParagraph struct{}
var defaultPlaintextParserNoParagraph = &plaintextParserNoParagraph{}
func newPlaintextParserNoParagraph() parser.BlockParser {
return defaultPlaintextParserNoParagraph
}
func (b *plaintextParserNoParagraph) Trigger() []byte {
return nil
}
func (b *plaintextParserNoParagraph) Open(parent ast.Node, reader text.Reader, pc parser.Context) (ast.Node, parser.State) {
_, segment := reader.PeekLine()
node := ast.NewDocument()
node.Lines().Append(segment)
reader.Advance(segment.Len() - 1)
return node, parser.NoChildren
}
func (b *plaintextParserNoParagraph) Continue(node ast.Node, reader text.Reader, pc parser.Context) parser.State {
_, segment := reader.PeekLine()
node.Lines().Append(segment)
reader.Advance(segment.Len() - 1)
return parser.Continue | parser.NoChildren
}
func (b *plaintextParserNoParagraph) Close(node ast.Node, reader text.Reader, pc parser.Context) {}
func (b *plaintextParserNoParagraph) CanInterruptParagraph() bool {
return false
}
func (b *plaintextParserNoParagraph) CanAcceptIndentedLine() bool {
return true
}

View file

@ -30,26 +30,28 @@
"github.com/yuin/goldmark/util" "github.com/yuin/goldmark/util"
) )
func (f *formatter) FromPlain(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, plain string) *FormatResult { func (f *formatter) fromPlain(
ctx context.Context,
ptParser parser.Parser,
pmf gtsmodel.ParseMentionFunc,
authorID string,
statusID string,
plain string,
) *FormatResult {
result := &FormatResult{ result := &FormatResult{
Mentions: []*gtsmodel.Mention{}, Mentions: []*gtsmodel.Mention{},
Tags: []*gtsmodel.Tag{}, Tags: []*gtsmodel.Tag{},
Emojis: []*gtsmodel.Emoji{}, Emojis: []*gtsmodel.Emoji{},
} }
// parse markdown text into html, using custom renderer to add hashtag/mention links // Parse markdown into html, using custom renderer
// to add hashtag/mention links and emoji images.
md := goldmark.New( md := goldmark.New(
goldmark.WithRendererOptions( goldmark.WithRendererOptions(
html.WithXHTML(), html.WithXHTML(),
html.WithHardWraps(), html.WithHardWraps(),
), ),
goldmark.WithParser( goldmark.WithParser(ptParser), // use parser we were passed
parser.NewParser(
parser.WithBlockParsers(
util.Prioritized(newPlaintextParser(), 500),
),
),
),
goldmark.WithExtensions( goldmark.WithExtensions(
&customRenderer{f, ctx, pmf, authorID, statusID, false, result}, &customRenderer{f, ctx, pmf, authorID, statusID, false, result},
extension.Linkify, // turns URLs into links extension.Linkify, // turns URLs into links
@ -57,20 +59,40 @@ func (f *formatter) FromPlain(ctx context.Context, pmf gtsmodel.ParseMentionFunc
) )
var htmlContentBytes bytes.Buffer var htmlContentBytes bytes.Buffer
err := md.Convert([]byte(plain), &htmlContentBytes) if err := md.Convert([]byte(plain), &htmlContentBytes); err != nil {
if err != nil {
log.Errorf(ctx, "error formatting plaintext to HTML: %s", err) log.Errorf(ctx, "error formatting plaintext to HTML: %s", err)
} }
result.HTML = htmlContentBytes.String() result.HTML = htmlContentBytes.String()
// clean anything dangerous out of the HTML // Clean anything dangerous out of resulting HTML.
result.HTML = SanitizeHTML(result.HTML) result.HTML = SanitizeHTML(result.HTML)
// shrink ray // Shrink ray!
result.HTML, err = m.String("text/html", result.HTML) var err error
if err != nil { if result.HTML, err = m.String("text/html", result.HTML); err != nil {
log.Errorf(ctx, "error minifying HTML: %s", err) log.Errorf(ctx, "error minifying HTML: %s", err)
} }
return result return result
} }
func (f *formatter) FromPlain(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, plain string) *FormatResult {
ptParser := parser.NewParser(
parser.WithBlockParsers(
util.Prioritized(newPlaintextParser(), 500),
),
)
return f.fromPlain(ctx, ptParser, pmf, authorID, statusID, plain)
}
func (f *formatter) FromPlainNoParagraph(ctx context.Context, pmf gtsmodel.ParseMentionFunc, authorID string, statusID string, plain string) *FormatResult {
ptParser := parser.NewParser(
parser.WithBlockParsers(
// Initialize block parser that doesn't wrap in <p> tags.
util.Prioritized(newPlaintextParserNoParagraph(), 500),
),
)
return f.fromPlain(ctx, ptParser, pmf, authorID, statusID, plain)
}

View file

@ -25,14 +25,16 @@
) )
const ( const (
simple = "this is a plain and simple status" simple = "this is a plain and simple status"
simpleExpected = "<p>this is a plain and simple status</p>" simpleExpected = "<p>this is a plain and simple status</p>"
withTag = "here's a simple status that uses hashtag #welcome!" simpleExpectedNoParagraph = "this is a plain and simple status"
withTagExpected = "<p>here's a simple status that uses hashtag <a href=\"http://localhost:8080/tags/welcome\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>welcome</span></a>!</p>" withTag = "here's a simple status that uses hashtag #welcome!"
withHTML = "<div>blah this should just be html escaped blah</div>" withTagExpected = "<p>here's a simple status that uses hashtag <a href=\"http://localhost:8080/tags/welcome\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>welcome</span></a>!</p>"
withHTMLExpected = "<p>&lt;div>blah this should just be html escaped blah&lt;/div></p>" withTagExpectedNoParagraph = "here's a simple status that uses hashtag <a href=\"http://localhost:8080/tags/welcome\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>welcome</span></a>!"
moreComplex = "Another test @foss_satan@fossbros-anonymous.io\n\n#Hashtag\n\nText\n\n:rainbow:" withHTML = "<div>blah this should just be html escaped blah</div>"
moreComplexExpected = "<p>Another test <span class=\"h-card\"><a href=\"http://fossbros-anonymous.io/@foss_satan\" class=\"u-url mention\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">@<span>foss_satan</span></a></span><br><br><a href=\"http://localhost:8080/tags/Hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>Hashtag</span></a><br><br>Text<br><br>:rainbow:</p>" withHTMLExpected = "<p>&lt;div>blah this should just be html escaped blah&lt;/div></p>"
moreComplex = "Another test @foss_satan@fossbros-anonymous.io\n\n#Hashtag\n\nText\n\n:rainbow:"
moreComplexExpected = "<p>Another test <span class=\"h-card\"><a href=\"http://fossbros-anonymous.io/@foss_satan\" class=\"u-url mention\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">@<span>foss_satan</span></a></span><br><br><a href=\"http://localhost:8080/tags/Hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>Hashtag</span></a><br><br>Text<br><br>:rainbow:</p>"
) )
type PlainTestSuite struct { type PlainTestSuite struct {
@ -44,11 +46,21 @@ func (suite *PlainTestSuite) TestParseSimple() {
suite.Equal(simpleExpected, formatted.HTML) suite.Equal(simpleExpected, formatted.HTML)
} }
func (suite *PlainTestSuite) TestParseSimpleNoParagraph() {
formatted := suite.FromPlainNoParagraph(simple)
suite.Equal(simpleExpectedNoParagraph, formatted.HTML)
}
func (suite *PlainTestSuite) TestParseWithTag() { func (suite *PlainTestSuite) TestParseWithTag() {
formatted := suite.FromPlain(withTag) formatted := suite.FromPlain(withTag)
suite.Equal(withTagExpected, formatted.HTML) suite.Equal(withTagExpected, formatted.HTML)
} }
func (suite *PlainTestSuite) TestParseWithTagNoParagraph() {
formatted := suite.FromPlainNoParagraph(withTag)
suite.Equal(withTagExpectedNoParagraph, formatted.HTML)
}
func (suite *PlainTestSuite) TestParseWithHTML() { func (suite *PlainTestSuite) TestParseWithHTML() {
formatted := suite.FromPlain(withHTML) formatted := suite.FromPlain(withHTML)
suite.Equal(withHTMLExpected, formatted.HTML) suite.Equal(withHTMLExpected, formatted.HTML)

View file

@ -29,7 +29,7 @@
"codeberg.org/gruf/go-byteutil" "codeberg.org/gruf/go-byteutil"
"codeberg.org/gruf/go-cache/v3" "codeberg.org/gruf/go-cache/v3"
"github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/activity/pub"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/config"
"github.com/superseriousbusiness/gotosocial/internal/federation/federatingdb" "github.com/superseriousbusiness/gotosocial/internal/federation/federatingdb"
"github.com/superseriousbusiness/gotosocial/internal/httpclient" "github.com/superseriousbusiness/gotosocial/internal/httpclient"
@ -157,7 +157,7 @@ func (c *controller) dereferenceLocalFollowers(ctx context.Context, iri *url.URL
return nil, err return nil, err
} }
i, err := streams.Serialize(followers) i, err := ap.Serialize(followers)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -175,7 +175,7 @@ func (c *controller) dereferenceLocalUser(ctx context.Context, iri *url.URL) ([]
return nil, err return nil, err
} }
i, err := streams.Serialize(user) i, err := ap.Serialize(user)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -86,7 +86,8 @@ func (c *converter) ASRepresentationToAccount(ctx context.Context, accountable a
acct.Emojis = emojis acct.Emojis = emojis
} }
// TODO: fields aka attachment array // fields aka attachment array
acct.Fields = ap.ExtractFields(accountable)
// note aka summary // note aka summary
acct.Note = ap.ExtractSummary(accountable) acct.Note = ap.ExtractSummary(accountable)

View file

@ -240,7 +240,25 @@ func (c *converter) AccountToAS(ctx context.Context, a *gtsmodel.Account) (vocab
// attachment // attachment
// Used for profile fields. // Used for profile fields.
// TODO: The PropertyValue type has to be added: https://schema.org/PropertyValue if len(a.Fields) != 0 {
attachmentProp := streams.NewActivityStreamsAttachmentProperty()
for _, field := range a.Fields {
propertyValue := streams.NewSchemaPropertyValue()
nameProp := streams.NewActivityStreamsNameProperty()
nameProp.AppendXMLSchemaString(field.Name)
propertyValue.SetActivityStreamsName(nameProp)
valueProp := streams.NewSchemaValueProperty()
valueProp.Set(field.Value)
propertyValue.SetSchemaValue(valueProp)
attachmentProp.AppendSchemaPropertyValue(propertyValue)
}
person.SetActivityStreamsAttachment(attachmentProp)
}
// endpoints // endpoints
// NOT IMPLEMENTED -- this is for shared inbox which we don't use // NOT IMPLEMENTED -- this is for shared inbox which we don't use

View file

@ -21,11 +21,11 @@
"context" "context"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt"
"strings" "strings"
"testing" "testing"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/activity/streams"
"github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
@ -43,7 +43,7 @@ func (suite *InternalToASTestSuite) TestAccountToAS() {
asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount) asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asPerson) ser, err := ap.Serialize(asPerson)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -85,6 +85,107 @@ func (suite *InternalToASTestSuite) TestAccountToAS() {
}`, trimmed) }`, trimmed)
} }
func (suite *InternalToASTestSuite) TestAccountToASWithFields() {
testAccount := &gtsmodel.Account{}
*testAccount = *suite.testAccounts["local_account_2"]
asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount)
suite.NoError(err)
ser, err := ap.Serialize(asPerson)
suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ")
suite.NoError(err)
// trim off everything up to 'attachment';
// this is necessary because the order of multiple 'context' entries is not determinate
trimmed := strings.Split(string(bytes), "\"attachment\"")[1]
fmt.Printf("\n\n\n%s\n\n\n", string(bytes))
suite.Equal(`: [
{
"name": "should you follow me?",
"type": "PropertyValue",
"value": "maybe!"
},
{
"name": "age",
"type": "PropertyValue",
"value": "120"
}
],
"discoverable": false,
"featured": "http://localhost:8080/users/1happyturtle/collections/featured",
"followers": "http://localhost:8080/users/1happyturtle/followers",
"following": "http://localhost:8080/users/1happyturtle/following",
"id": "http://localhost:8080/users/1happyturtle",
"inbox": "http://localhost:8080/users/1happyturtle/inbox",
"manuallyApprovesFollowers": true,
"name": "happy little turtle :3",
"outbox": "http://localhost:8080/users/1happyturtle/outbox",
"preferredUsername": "1happyturtle",
"publicKey": {
"id": "http://localhost:8080/users/1happyturtle#main-key",
"owner": "http://localhost:8080/users/1happyturtle",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtTc6Jpg6LrRPhVQG4KLz\n2+YqEUUtZPd4YR+TKXuCnwEG9ZNGhgP046xa9h3EWzrZXaOhXvkUQgJuRqPrAcfN\nvc8jBHV2xrUeD8pu/MWKEabAsA/tgCv3nUC47HQ3/c12aHfYoPz3ufWsGGnrkhci\nv8PaveJ3LohO5vjCn1yZ00v6osMJMViEZvZQaazyE9A8FwraIexXabDpoy7tkHRg\nA1fvSkg4FeSG1XMcIz2NN7xyUuFACD+XkuOk7UqzRd4cjPUPLxiDwIsTlcgGOd3E\nUFMWVlPxSGjY2hIKa3lEHytaYK9IMYdSuyCsJshd3/yYC9LqxZY2KdlKJ80VOVyh\nyQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"summary": "\u003cp\u003ei post about things that concern me\u003c/p\u003e",
"tag": [],
"type": "Person",
"url": "http://localhost:8080/@1happyturtle"
}`, trimmed)
}
func (suite *InternalToASTestSuite) TestAccountToASWithOneField() {
testAccount := &gtsmodel.Account{}
*testAccount = *suite.testAccounts["local_account_2"]
testAccount.Fields = testAccount.Fields[0:1] // Take only one field.
asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount)
suite.NoError(err)
ser, err := ap.Serialize(asPerson)
suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ")
suite.NoError(err)
// trim off everything up to 'attachment';
// this is necessary because the order of multiple 'context' entries is not determinate
trimmed := strings.Split(string(bytes), "\"attachment\"")[1]
// Despite only one field being set, attachments should still be a slice/array.
suite.Equal(`: [
{
"name": "should you follow me?",
"type": "PropertyValue",
"value": "maybe!"
}
],
"discoverable": false,
"featured": "http://localhost:8080/users/1happyturtle/collections/featured",
"followers": "http://localhost:8080/users/1happyturtle/followers",
"following": "http://localhost:8080/users/1happyturtle/following",
"id": "http://localhost:8080/users/1happyturtle",
"inbox": "http://localhost:8080/users/1happyturtle/inbox",
"manuallyApprovesFollowers": true,
"name": "happy little turtle :3",
"outbox": "http://localhost:8080/users/1happyturtle/outbox",
"preferredUsername": "1happyturtle",
"publicKey": {
"id": "http://localhost:8080/users/1happyturtle#main-key",
"owner": "http://localhost:8080/users/1happyturtle",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtTc6Jpg6LrRPhVQG4KLz\n2+YqEUUtZPd4YR+TKXuCnwEG9ZNGhgP046xa9h3EWzrZXaOhXvkUQgJuRqPrAcfN\nvc8jBHV2xrUeD8pu/MWKEabAsA/tgCv3nUC47HQ3/c12aHfYoPz3ufWsGGnrkhci\nv8PaveJ3LohO5vjCn1yZ00v6osMJMViEZvZQaazyE9A8FwraIexXabDpoy7tkHRg\nA1fvSkg4FeSG1XMcIz2NN7xyUuFACD+XkuOk7UqzRd4cjPUPLxiDwIsTlcgGOd3E\nUFMWVlPxSGjY2hIKa3lEHytaYK9IMYdSuyCsJshd3/yYC9LqxZY2KdlKJ80VOVyh\nyQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"summary": "\u003cp\u003ei post about things that concern me\u003c/p\u003e",
"tag": [],
"type": "Person",
"url": "http://localhost:8080/@1happyturtle"
}`, trimmed)
}
func (suite *InternalToASTestSuite) TestAccountToASWithEmoji() { func (suite *InternalToASTestSuite) TestAccountToASWithEmoji() {
testAccount := &gtsmodel.Account{} testAccount := &gtsmodel.Account{}
*testAccount = *suite.testAccounts["local_account_1"] // take zork for this test *testAccount = *suite.testAccounts["local_account_1"] // take zork for this test
@ -93,7 +194,7 @@ func (suite *InternalToASTestSuite) TestAccountToASWithEmoji() {
asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount) asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asPerson) ser, err := ap.Serialize(asPerson)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -154,7 +255,7 @@ func (suite *InternalToASTestSuite) TestAccountToASWithSharedInbox() {
asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount) asPerson, err := suite.typeconverter.AccountToAS(context.Background(), testAccount)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asPerson) ser, err := ap.Serialize(asPerson)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -206,7 +307,7 @@ func (suite *InternalToASTestSuite) TestOutboxToASCollection() {
collection, err := suite.typeconverter.OutboxToASCollection(ctx, testAccount.OutboxURI) collection, err := suite.typeconverter.OutboxToASCollection(ctx, testAccount.OutboxURI)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(collection) ser, err := ap.Serialize(collection)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -227,7 +328,7 @@ func (suite *InternalToASTestSuite) TestStatusToAS() {
asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus) asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asStatus) ser, err := ap.Serialize(asStatus)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -268,7 +369,7 @@ func (suite *InternalToASTestSuite) TestStatusWithTagsToASWithIDs() {
asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus) asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asStatus) ser, err := ap.Serialize(asStatus)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -328,7 +429,7 @@ func (suite *InternalToASTestSuite) TestStatusWithTagsToASFromDB() {
asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus) asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asStatus) ser, err := ap.Serialize(asStatus)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -389,7 +490,7 @@ func (suite *InternalToASTestSuite) TestStatusToASWithMentions() {
asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus) asStatus, err := suite.typeconverter.StatusToAS(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asStatus) ser, err := ap.Serialize(asStatus)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -437,7 +538,7 @@ func (suite *InternalToASTestSuite) TestStatusToASDeletePublicReply() {
asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus) asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asDelete) ser, err := ap.Serialize(asDelete)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -475,7 +576,7 @@ func (suite *InternalToASTestSuite) TestStatusToASDeletePublicReplyOriginalDelet
asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus) asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asDelete) ser, err := ap.Serialize(asDelete)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -501,7 +602,7 @@ func (suite *InternalToASTestSuite) TestStatusToASDeletePublic() {
asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus) asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asDelete) ser, err := ap.Serialize(asDelete)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -524,7 +625,7 @@ func (suite *InternalToASTestSuite) TestStatusToASDeleteDirectMessage() {
asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus) asDelete, err := suite.typeconverter.StatusToASDelete(ctx, testStatus)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asDelete) ser, err := ap.Serialize(asDelete)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -551,7 +652,7 @@ func (suite *InternalToASTestSuite) TestStatusesToASOutboxPage() {
page, err := suite.typeconverter.StatusesToASOutboxPage(ctx, testAccount.OutboxURI, "", "", statuses) page, err := suite.typeconverter.StatusesToASOutboxPage(ctx, testAccount.OutboxURI, "", "", statuses)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(page) ser, err := ap.Serialize(page)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -604,7 +705,7 @@ func (suite *InternalToASTestSuite) TestSelfBoostFollowersOnlyToAS() {
asBoost, err := suite.typeconverter.BoostToAS(ctx, boostWrapperStatus, testAccount, testAccount) asBoost, err := suite.typeconverter.BoostToAS(ctx, boostWrapperStatus, testAccount, testAccount)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(asBoost) ser, err := ap.Serialize(asBoost)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -637,7 +738,7 @@ func (suite *InternalToASTestSuite) TestReportToAS() {
flag, err := suite.typeconverter.ReportToASFlag(ctx, testReport) flag, err := suite.typeconverter.ReportToASFlag(ctx, testReport)
suite.NoError(err) suite.NoError(err)
ser, err := streams.Serialize(flag) ser, err := ap.Serialize(flag)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -670,7 +771,7 @@ func (suite *InternalToASTestSuite) TestPinnedStatusesToASSomeItems() {
suite.FailNow(err.Error()) suite.FailNow(err.Error())
} }
ser, err := ap.SerializeOrderedCollection(collection) ser, err := ap.Serialize(collection)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -702,7 +803,7 @@ func (suite *InternalToASTestSuite) TestPinnedStatusesToASNoItems() {
suite.FailNow(err.Error()) suite.FailNow(err.Error())
} }
ser, err := ap.SerializeOrderedCollection(collection) ser, err := ap.Serialize(collection)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")
@ -731,7 +832,7 @@ func (suite *InternalToASTestSuite) TestPinnedStatusesToASOneItem() {
suite.FailNow(err.Error()) suite.FailNow(err.Error())
} }
ser, err := ap.SerializeOrderedCollection(collection) ser, err := ap.Serialize(collection)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(ser, "", " ") bytes, err := json.MarshalIndent(ser, "", " ")

View file

@ -77,7 +77,7 @@ func (c *converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmode
Language: a.Language, Language: a.Language,
StatusContentType: statusContentType, StatusContentType: statusContentType,
Note: a.NoteRaw, Note: a.NoteRaw,
Fields: apiAccount.Fields, Fields: c.fieldsToAPIFields(a.FieldsRaw),
FollowRequestsCount: frc, FollowRequestsCount: frc,
} }
@ -131,7 +131,6 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A
aviURLStatic string aviURLStatic string
headerURL string headerURL string
headerURLStatic string headerURLStatic string
fields = make([]apimodel.Field, len(a.Fields))
) )
if a.AvatarMediaAttachment != nil { if a.AvatarMediaAttachment != nil {
@ -144,19 +143,8 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A
headerURLStatic = a.HeaderMediaAttachment.Thumbnail.URL headerURLStatic = a.HeaderMediaAttachment.Thumbnail.URL
} }
// GTS model fields -> frontend. // convert account gts model fields to front api model fields
for i, field := range a.Fields { fields := c.fieldsToAPIFields(a.Fields)
mField := apimodel.Field{
Name: field.Name,
Value: field.Value,
}
if !field.VerifiedAt.IsZero() {
mField.VerifiedAt = util.FormatISO8601(field.VerifiedAt)
}
fields[i] = mField
}
// GTS model emojis -> frontend. // GTS model emojis -> frontend.
apiEmojis, err := c.convertEmojisToAPIEmojis(ctx, a.Emojis, a.EmojiIDs) apiEmojis, err := c.convertEmojisToAPIEmojis(ctx, a.Emojis, a.EmojiIDs)
@ -239,6 +227,25 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A
return accountFrontend, nil return accountFrontend, nil
} }
func (c *converter) fieldsToAPIFields(f []*gtsmodel.Field) []apimodel.Field {
fields := make([]apimodel.Field, len(f))
for i, field := range f {
mField := apimodel.Field{
Name: field.Name,
Value: field.Value,
}
if !field.VerifiedAt.IsZero() {
mField.VerifiedAt = func() *string { s := util.FormatISO8601(field.VerifiedAt); return &s }()
}
fields[i] = mField
}
return fields
}
func (c *converter) AccountToAPIAccountBlocked(ctx context.Context, a *gtsmodel.Account) (*apimodel.Account, error) { func (c *converter) AccountToAPIAccountBlocked(ctx context.Context, a *gtsmodel.Account) (*apimodel.Account, error) {
var ( var (
acct string acct string

View file

@ -873,7 +873,18 @@ func (suite *InternalToFrontendTestSuite) TestReportToFrontend2() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }
@ -977,7 +988,18 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }
@ -1137,7 +1159,18 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() {
"statuses_count": 7, "statuses_count": 7,
"last_status_at": "2021-10-20T10:40:37.000Z", "last_status_at": "2021-10-20T10:40:37.000Z",
"emojis": [], "emojis": [],
"fields": [], "fields": [
{
"name": "should you follow me?",
"value": "maybe!",
"verified_at": null
},
{
"name": "age",
"value": "120",
"verified_at": null
}
],
"role": { "role": {
"name": "user" "name": "user"
} }

View file

@ -23,7 +23,7 @@
"testing" "testing"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/ap"
) )
type WrapTestSuite struct { type WrapTestSuite struct {
@ -40,7 +40,7 @@ func (suite *WrapTestSuite) TestWrapNoteInCreateIRIOnly() {
suite.NoError(err) suite.NoError(err)
suite.NotNil(create) suite.NotNil(create)
createI, err := streams.Serialize(create) createI, err := ap.Serialize(create)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(createI, "", " ") bytes, err := json.MarshalIndent(createI, "", " ")
@ -68,7 +68,7 @@ func (suite *WrapTestSuite) TestWrapNoteInCreate() {
suite.NoError(err) suite.NoError(err)
suite.NotNil(create) suite.NotNil(create)
createI, err := streams.Serialize(create) createI, err := ap.Serialize(create)
suite.NoError(err) suite.NoError(err)
bytes, err := json.MarshalIndent(createI, "", " ") bytes, err := json.MarshalIndent(createI, "", " ")

View file

@ -50,7 +50,7 @@ func happyAccount() *gtsmodel.Account {
HeaderMediaAttachment: nil, HeaderMediaAttachment: nil,
HeaderRemoteURL: "", HeaderRemoteURL: "",
DisplayName: "original zork (he/they)", DisplayName: "original zork (he/they)",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "hey yo this is my profile!", Note: "hey yo this is my profile!",
Memorial: testrig.FalseBool(), Memorial: testrig.FalseBool(),
AlsoKnownAs: "", AlsoKnownAs: "",

View file

@ -25,6 +25,7 @@
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
"github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/config"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
"github.com/superseriousbusiness/gotosocial/internal/regexes" "github.com/superseriousbusiness/gotosocial/internal/regexes"
pwv "github.com/wagslane/go-password-validator" pwv "github.com/wagslane/go-password-validator"
"golang.org/x/text/language" "golang.org/x/text/language"
@ -43,7 +44,7 @@
maximumCustomCSSLength = 5000 maximumCustomCSSLength = 5000
maximumEmojiCategoryLength = 64 maximumEmojiCategoryLength = 64
maximumProfileFieldLength = 255 maximumProfileFieldLength = 255
maximumProfileFields = 4 maximumProfileFields = 6
) )
// NewPassword returns an error if the given password is not sufficiently strong, or nil if it's ok. // NewPassword returns an error if the given password is not sufficiently strong, or nil if it's ok.
@ -233,19 +234,26 @@ func ULID(i string) bool {
return regexes.ULID.MatchString(i) return regexes.ULID.MatchString(i)
} }
func ProfileFieldsCount(fields []apimodel.UpdateField) error { // ProfileFields validates the length of provided fields slice,
if length := len(fields); length > maximumProfileFields { // and also iterates through the fields and trims each name + value
// to maximumProfileFieldLength, if they were above.
func ProfileFields(fields []*gtsmodel.Field) error {
if len(fields) > maximumProfileFields {
return fmt.Errorf("cannot have more than %d profile fields", maximumProfileFields) return fmt.Errorf("cannot have more than %d profile fields", maximumProfileFields)
} }
// Trim each field name + value to maximum allowed length.
for _, field := range fields {
n := []rune(field.Name)
if len(n) > maximumProfileFieldLength {
field.Name = string(n[:maximumProfileFieldLength])
}
v := []rune(field.Value)
if len(v) > maximumProfileFieldLength {
field.Value = string(v[:maximumProfileFieldLength])
}
}
return nil return nil
} }
func ProfileField(f *string) string {
s := []rune(*f)
if len(s) > maximumProfileFieldLength {
return string(s[:maximumProfileFieldLength]) // trim profile field to maximum allowed length
}
return string(*f)
}

View file

@ -24,7 +24,7 @@
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/gotosocial/internal/api/model" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
"github.com/superseriousbusiness/gotosocial/internal/validate" "github.com/superseriousbusiness/gotosocial/internal/validate"
) )
@ -268,37 +268,34 @@ func (suite *ValidationTestSuite) TestValidateReason() {
} }
} }
func (suite *ValidationTestSuite) TestValidateProfileFieldsCount() {
noFields := []model.UpdateField{}
fewFields := []model.UpdateField{{}, {}}
tooManyFields := []model.UpdateField{{}, {}, {}, {}, {}}
err := validate.ProfileFieldsCount(tooManyFields)
if assert.Error(suite.T(), err) {
assert.Equal(suite.T(), errors.New("cannot have more than 4 profile fields"), err)
}
err = validate.ProfileFieldsCount(noFields)
assert.NoError(suite.T(), err)
err = validate.ProfileFieldsCount(fewFields)
assert.NoError(suite.T(), err)
}
func (suite *ValidationTestSuite) TestValidateProfileField() { func (suite *ValidationTestSuite) TestValidateProfileField() {
shortProfileField := "pronouns" var (
tooLongProfileField := "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eu bibendum elit. Sed ac interdum nisi. Vestibulum vulputate eros quis euismod imperdiet. Nulla sit amet dui sit amet lorem consectetur iaculis. Mauris eget lacinia metus. Curabitur nec dui eleifend massa nunc." shortProfileField = "pronouns"
trimmedProfileField := "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eu bibendum elit. Sed ac interdum nisi. Vestibulum vulputate eros quis euismod imperdiet. Nulla sit amet dui sit amet lorem consectetur iaculis. Mauris eget lacinia metus. Curabitur nec dui " tooLongProfileField = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eu bibendum elit. Sed ac interdum nisi. Vestibulum vulputate eros quis euismod imperdiet. Nulla sit amet dui sit amet lorem consectetur iaculis. Mauris eget lacinia metus. Curabitur nec dui eleifend massa nunc."
trimmedProfileField = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eu bibendum elit. Sed ac interdum nisi. Vestibulum vulputate eros quis euismod imperdiet. Nulla sit amet dui sit amet lorem consectetur iaculis. Mauris eget lacinia metus. Curabitur nec dui "
err error
)
validated := validate.ProfileField(&shortProfileField) okFields := []*gtsmodel.Field{
assert.Equal(suite.T(), shortProfileField, validated) {
Name: "example",
Value: shortProfileField,
},
}
err = validate.ProfileFields(okFields)
suite.NoError(err)
suite.Equal(shortProfileField, okFields[0].Value)
validated = validate.ProfileField(&tooLongProfileField) dodgyFields := []*gtsmodel.Field{
assert.Len(suite.T(), validated, 255) {
assert.Equal(suite.T(), trimmedProfileField, validated) Name: "example",
Value: tooLongProfileField,
validated = validate.ProfileField(&trimmedProfileField) },
assert.Len(suite.T(), validated, 255) }
assert.Equal(suite.T(), trimmedProfileField, validated) err = validate.ProfileFields(dodgyFields)
suite.NoError(err)
suite.Equal(trimmedProfileField, dodgyFields[0].Value)
suite.Len(dodgyFields[0].Value, 255)
} }
func TestValidationTestSuite(t *testing.T) { func TestValidationTestSuite(t *testing.T) {

View file

@ -317,7 +317,7 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
AvatarMediaAttachmentID: "", AvatarMediaAttachmentID: "",
HeaderMediaAttachmentID: "", HeaderMediaAttachmentID: "",
DisplayName: "", DisplayName: "",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "", Note: "",
NoteRaw: "", NoteRaw: "",
Memorial: FalseBool(), Memorial: FalseBool(),
@ -357,7 +357,7 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
AvatarMediaAttachmentID: "", AvatarMediaAttachmentID: "",
HeaderMediaAttachmentID: "", HeaderMediaAttachmentID: "",
DisplayName: "", DisplayName: "",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "", Note: "",
Memorial: FalseBool(), Memorial: FalseBool(),
MovedToAccountID: "", MovedToAccountID: "",
@ -395,7 +395,7 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
AvatarMediaAttachmentID: "", AvatarMediaAttachmentID: "",
HeaderMediaAttachmentID: "", HeaderMediaAttachmentID: "",
DisplayName: "", DisplayName: "",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "", Note: "",
NoteRaw: "", NoteRaw: "",
Memorial: FalseBool(), Memorial: FalseBool(),
@ -435,7 +435,7 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
AvatarMediaAttachmentID: "01F8MH58A357CV5K7R7TJMSH6S", AvatarMediaAttachmentID: "01F8MH58A357CV5K7R7TJMSH6S",
HeaderMediaAttachmentID: "01PFPMWK2FF0D9WMHEJHR07C3Q", HeaderMediaAttachmentID: "01PFPMWK2FF0D9WMHEJHR07C3Q",
DisplayName: "original zork (he/they)", DisplayName: "original zork (he/they)",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "<p>hey yo this is my profile!</p>", Note: "<p>hey yo this is my profile!</p>",
NoteRaw: "hey yo this is my profile!", NoteRaw: "hey yo this is my profile!",
Memorial: FalseBool(), Memorial: FalseBool(),
@ -475,45 +475,64 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
AvatarMediaAttachmentID: "", AvatarMediaAttachmentID: "",
HeaderMediaAttachmentID: "", HeaderMediaAttachmentID: "",
DisplayName: "happy little turtle :3", DisplayName: "happy little turtle :3",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{
Note: "<p>i post about things that concern me</p>", {
NoteRaw: "i post about things that concern me", Name: "should you follow me?",
Memorial: FalseBool(), Value: "maybe!",
MovedToAccountID: "", },
CreatedAt: TimeMustParse("2022-06-04T13:12:00Z"), {
UpdatedAt: TimeMustParse("2022-06-04T13:12:00Z"), Name: "age",
Bot: FalseBool(), Value: "120",
Reason: "", },
Locked: TrueBool(), },
Discoverable: FalseBool(), FieldsRaw: []*gtsmodel.Field{
Privacy: gtsmodel.VisibilityFollowersOnly, {
Sensitive: TrueBool(), Name: "should you follow me?",
Language: "fr", Value: "maybe!",
URI: "http://localhost:8080/users/1happyturtle", },
URL: "http://localhost:8080/@1happyturtle", {
FetchedAt: time.Time{}, Name: "age",
InboxURI: "http://localhost:8080/users/1happyturtle/inbox", Value: "120",
OutboxURI: "http://localhost:8080/users/1happyturtle/outbox", },
FollowersURI: "http://localhost:8080/users/1happyturtle/followers", },
FollowingURI: "http://localhost:8080/users/1happyturtle/following", Note: "<p>i post about things that concern me</p>",
FeaturedCollectionURI: "http://localhost:8080/users/1happyturtle/collections/featured", NoteRaw: "i post about things that concern me",
ActorType: ap.ActorPerson, Memorial: FalseBool(),
AlsoKnownAs: "", MovedToAccountID: "",
PrivateKey: &rsa.PrivateKey{}, CreatedAt: TimeMustParse("2022-06-04T13:12:00Z"),
PublicKey: &rsa.PublicKey{}, UpdatedAt: TimeMustParse("2022-06-04T13:12:00Z"),
PublicKeyURI: "http://localhost:8080/users/1happyturtle#main-key", Bot: FalseBool(),
SensitizedAt: time.Time{}, Reason: "",
SilencedAt: time.Time{}, Locked: TrueBool(),
SuspendedAt: time.Time{}, Discoverable: FalseBool(),
HideCollections: FalseBool(), Privacy: gtsmodel.VisibilityFollowersOnly,
SuspensionOrigin: "", Sensitive: TrueBool(),
Language: "fr",
URI: "http://localhost:8080/users/1happyturtle",
URL: "http://localhost:8080/@1happyturtle",
FetchedAt: time.Time{},
InboxURI: "http://localhost:8080/users/1happyturtle/inbox",
OutboxURI: "http://localhost:8080/users/1happyturtle/outbox",
FollowersURI: "http://localhost:8080/users/1happyturtle/followers",
FollowingURI: "http://localhost:8080/users/1happyturtle/following",
FeaturedCollectionURI: "http://localhost:8080/users/1happyturtle/collections/featured",
ActorType: ap.ActorPerson,
AlsoKnownAs: "",
PrivateKey: &rsa.PrivateKey{},
PublicKey: &rsa.PublicKey{},
PublicKeyURI: "http://localhost:8080/users/1happyturtle#main-key",
SensitizedAt: time.Time{},
SilencedAt: time.Time{},
SuspendedAt: time.Time{},
HideCollections: FalseBool(),
SuspensionOrigin: "",
}, },
"remote_account_1": { "remote_account_1": {
ID: "01F8MH5ZK5VRH73AKHQM6Y9VNX", ID: "01F8MH5ZK5VRH73AKHQM6Y9VNX",
Username: "foss_satan", Username: "foss_satan",
Domain: "fossbros-anonymous.io", Domain: "fossbros-anonymous.io",
DisplayName: "big gerald", DisplayName: "big gerald",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "i post about like, i dunno, stuff, or whatever!!!!", Note: "i post about like, i dunno, stuff, or whatever!!!!",
Memorial: FalseBool(), Memorial: FalseBool(),
MovedToAccountID: "", MovedToAccountID: "",
@ -549,7 +568,7 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
Username: "Some_User", Username: "Some_User",
Domain: "example.org", Domain: "example.org",
DisplayName: "some user", DisplayName: "some user",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "i'm a real son of a gun", Note: "i'm a real son of a gun",
Memorial: FalseBool(), Memorial: FalseBool(),
MovedToAccountID: "", MovedToAccountID: "",
@ -585,7 +604,7 @@ func NewTestAccounts() map[string]*gtsmodel.Account {
Username: "her_fuckin_maj", Username: "her_fuckin_maj",
Domain: "thequeenisstillalive.technology", Domain: "thequeenisstillalive.technology",
DisplayName: "lizzzieeeeeeeeeeee", DisplayName: "lizzzieeeeeeeeeeee",
Fields: []gtsmodel.Field{}, Fields: []*gtsmodel.Field{},
Note: "if i die blame charles don't let that fuck become king", Note: "if i die blame charles don't let that fuck become king",
Memorial: FalseBool(), Memorial: FalseBool(),
MovedToAccountID: "", MovedToAccountID: "",

View file

@ -21,7 +21,25 @@
// Note that when using the SideEffectActor with an application that good-faith // Note that when using the SideEffectActor with an application that good-faith
// implements its required interfaces, the ActivityPub specification is // implements its required interfaces, the ActivityPub specification is
// guaranteed to be correctly followed. // guaranteed to be correctly followed.
//
// When doing deliveries to remote servers via the s2s protocol, the side effect
// actor will by default use the Serialize function from the streams package.
// However, this can be overridden after the side effect actor is intantiated,
// by setting the exposed Serialize function on the struct. For example:
//
// a := NewSideEffectActor(...)
// a.Serialize = func(a vocab.Type) (m map[string]interface{}, e error) {
// // Put your custom serializer logic here.
// }
//
// Note that you should only do this *immediately* after instantiating the side
// effect actor -- never while your application is already running, as this will
// likely cause race conditions or other problems! In most cases, you will never
// need to change this; it's provided solely to allow easier customization by
// applications.
type SideEffectActor struct { type SideEffectActor struct {
Serialize func(a vocab.Type) (m map[string]interface{}, e error)
common CommonBehavior common CommonBehavior
s2s FederatingProtocol s2s FederatingProtocol
c2s SocialProtocol c2s SocialProtocol
@ -38,18 +56,19 @@ type SideEffectActor struct {
// //
// If you are using the returned SideEffectActor for federation, ensure that s2s // If you are using the returned SideEffectActor for federation, ensure that s2s
// is not nil. Likewise, if you are using it for the social protocol, ensure // is not nil. Likewise, if you are using it for the social protocol, ensure
// that c2s is not nil. // that c2s is not nil.
func NewSideEffectActor(c CommonBehavior, func NewSideEffectActor(c CommonBehavior,
s2s FederatingProtocol, s2s FederatingProtocol,
c2s SocialProtocol, c2s SocialProtocol,
db Database, db Database,
clock Clock) *SideEffectActor { clock Clock) *SideEffectActor {
return &SideEffectActor{ return &SideEffectActor{
common: c, Serialize: streams.Serialize,
s2s: s2s, common: c,
c2s: c2s, s2s: s2s,
db: db, c2s: c2s,
clock: clock, db: db,
clock: clock,
} }
} }
@ -451,18 +470,23 @@ func (a *SideEffectActor) WrapInCreate(c context.Context, obj vocab.Type, outbox
// deliverToRecipients will take a prepared Activity and send it to specific // deliverToRecipients will take a prepared Activity and send it to specific
// recipients on behalf of an actor. // recipients on behalf of an actor.
func (a *SideEffectActor) deliverToRecipients(c context.Context, boxIRI *url.URL, activity Activity, recipients []*url.URL) error { func (a *SideEffectActor) deliverToRecipients(c context.Context, boxIRI *url.URL, activity Activity, recipients []*url.URL) error {
m, err := streams.Serialize(activity) // Call whichever serializer is
// set on the side effect actor.
m, err := a.Serialize(activity)
if err != nil { if err != nil {
return err return err
} }
b, err := json.Marshal(m) b, err := json.Marshal(m)
if err != nil { if err != nil {
return err return err
} }
tp, err := a.common.NewTransport(c, boxIRI, goFedUserAgent()) tp, err := a.common.NewTransport(c, boxIRI, goFedUserAgent())
if err != nil { if err != nil {
return err return err
} }
return tp.BatchDeliver(c, b, recipients) return tp.BatchDeliver(c, b, recipients)
} }

View file

@ -137,6 +137,9 @@
// ActivityStreamsProfileName is the string literal of the name for the Profile type in the ActivityStreams vocabulary. // ActivityStreamsProfileName is the string literal of the name for the Profile type in the ActivityStreams vocabulary.
var ActivityStreamsProfileName string = "Profile" var ActivityStreamsProfileName string = "Profile"
// SchemaPropertyValueName is the string literal of the name for the PropertyValue type in the Schema vocabulary.
var SchemaPropertyValueName string = "PropertyValue"
// W3IDSecurityV1PublicKeyName is the string literal of the name for the PublicKey type in the W3IDSecurityV1 vocabulary. // W3IDSecurityV1PublicKeyName is the string literal of the name for the PublicKey type in the W3IDSecurityV1 vocabulary.
var W3IDSecurityV1PublicKeyName string = "PublicKey" var W3IDSecurityV1PublicKeyName string = "PublicKey"
@ -509,6 +512,9 @@
// ActivityStreamsUrlPropertyName is the string literal of the name for the url property in the ActivityStreams vocabulary. // ActivityStreamsUrlPropertyName is the string literal of the name for the url property in the ActivityStreams vocabulary.
var ActivityStreamsUrlPropertyName string = "url" var ActivityStreamsUrlPropertyName string = "url"
// SchemaValuePropertyName is the string literal of the name for the value property in the Schema vocabulary.
var SchemaValuePropertyName string = "value"
// TootVotersCountPropertyName is the string literal of the name for the votersCount property in the Toot vocabulary. // TootVotersCountPropertyName is the string literal of the name for the votersCount property in the Toot vocabulary.
var TootVotersCountPropertyName string = "votersCount" var TootVotersCountPropertyName string = "votersCount"

View file

@ -158,6 +158,8 @@
typerepository "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_repository" typerepository "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_repository"
typeticket "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_ticket" typeticket "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_ticket"
typeticketdependency "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_ticketdependency" typeticketdependency "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_ticketdependency"
propertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/property_value"
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
propertyblurhash "github.com/superseriousbusiness/activity/streams/impl/toot/property_blurhash" propertyblurhash "github.com/superseriousbusiness/activity/streams/impl/toot/property_blurhash"
propertydiscoverable "github.com/superseriousbusiness/activity/streams/impl/toot/property_discoverable" propertydiscoverable "github.com/superseriousbusiness/activity/streams/impl/toot/property_discoverable"
propertyfeatured "github.com/superseriousbusiness/activity/streams/impl/toot/property_featured" propertyfeatured "github.com/superseriousbusiness/activity/streams/impl/toot/property_featured"
@ -340,6 +342,8 @@ func init() {
typerepository.SetManager(mgr) typerepository.SetManager(mgr)
typeticket.SetManager(mgr) typeticket.SetManager(mgr)
typeticketdependency.SetManager(mgr) typeticketdependency.SetManager(mgr)
propertyvalue.SetManager(mgr)
typepropertyvalue.SetManager(mgr)
propertyblurhash.SetManager(mgr) propertyblurhash.SetManager(mgr)
propertydiscoverable.SetManager(mgr) propertydiscoverable.SetManager(mgr)
propertyfeatured.SetManager(mgr) propertyfeatured.SetManager(mgr)
@ -413,6 +417,7 @@ func init() {
typerepository.SetTypePropertyConstructor(NewJSONLDTypeProperty) typerepository.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeticket.SetTypePropertyConstructor(NewJSONLDTypeProperty) typeticket.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeticketdependency.SetTypePropertyConstructor(NewJSONLDTypeProperty) typeticketdependency.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typepropertyvalue.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeemoji.SetTypePropertyConstructor(NewJSONLDTypeProperty) typeemoji.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeidentityproof.SetTypePropertyConstructor(NewJSONLDTypeProperty) typeidentityproof.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typepublickey.SetTypePropertyConstructor(NewJSONLDTypeProperty) typepublickey.SetTypePropertyConstructor(NewJSONLDTypeProperty)

View file

@ -121,6 +121,8 @@ func NewJSONResolver(callbacks ...interface{}) (*JSONResolver, error) {
// Do nothing, this callback has a correct signature. // Do nothing, this callback has a correct signature.
case func(context.Context, vocab.ActivityStreamsProfile) error: case func(context.Context, vocab.ActivityStreamsProfile) error:
// Do nothing, this callback has a correct signature. // Do nothing, this callback has a correct signature.
case func(context.Context, vocab.SchemaPropertyValue) error:
// Do nothing, this callback has a correct signature.
case func(context.Context, vocab.W3IDSecurityV1PublicKey) error: case func(context.Context, vocab.W3IDSecurityV1PublicKey) error:
// Do nothing, this callback has a correct signature. // Do nothing, this callback has a correct signature.
case func(context.Context, vocab.ForgeFedPush) error: case func(context.Context, vocab.ForgeFedPush) error:
@ -252,6 +254,13 @@ func (this JSONResolver) Resolve(ctx context.Context, m map[string]interface{})
if len(TootAlias) > 0 { if len(TootAlias) > 0 {
TootAlias += ":" TootAlias += ":"
} }
SchemaAlias, ok := aliasMap["https://schema.org"]
if !ok {
SchemaAlias = aliasMap["http://schema.org"]
}
if len(SchemaAlias) > 0 {
SchemaAlias += ":"
}
W3IDSecurityV1Alias, ok := aliasMap["https://w3id.org/security/v1"] W3IDSecurityV1Alias, ok := aliasMap["https://w3id.org/security/v1"]
if !ok { if !ok {
W3IDSecurityV1Alias = aliasMap["http://w3id.org/security/v1"] W3IDSecurityV1Alias = aliasMap["http://w3id.org/security/v1"]
@ -755,6 +764,17 @@ func (this JSONResolver) Resolve(ctx context.Context, m map[string]interface{})
} }
} }
return ErrNoCallbackMatch return ErrNoCallbackMatch
} else if typeString == SchemaAlias+"PropertyValue" {
v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap)
if err != nil {
return err
}
for _, i := range this.callbacks {
if fn, ok := i.(func(context.Context, vocab.SchemaPropertyValue) error); ok {
return fn(ctx, v)
}
}
return ErrNoCallbackMatch
} else if typeString == W3IDSecurityV1Alias+"PublicKey" { } else if typeString == W3IDSecurityV1Alias+"PublicKey" {
v, err := mgr.DeserializePublicKeyW3IDSecurityV1()(m, aliasMap) v, err := mgr.DeserializePublicKeyW3IDSecurityV1()(m, aliasMap)
if err != nil { if err != nil {

View file

@ -160,6 +160,8 @@
typeticketdependency "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_ticketdependency" typeticketdependency "github.com/superseriousbusiness/activity/streams/impl/forgefed/type_ticketdependency"
propertyid "github.com/superseriousbusiness/activity/streams/impl/jsonld/property_id" propertyid "github.com/superseriousbusiness/activity/streams/impl/jsonld/property_id"
propertytype "github.com/superseriousbusiness/activity/streams/impl/jsonld/property_type" propertytype "github.com/superseriousbusiness/activity/streams/impl/jsonld/property_type"
propertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/property_value"
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
propertyblurhash "github.com/superseriousbusiness/activity/streams/impl/toot/property_blurhash" propertyblurhash "github.com/superseriousbusiness/activity/streams/impl/toot/property_blurhash"
propertydiscoverable "github.com/superseriousbusiness/activity/streams/impl/toot/property_discoverable" propertydiscoverable "github.com/superseriousbusiness/activity/streams/impl/toot/property_discoverable"
propertyfeatured "github.com/superseriousbusiness/activity/streams/impl/toot/property_featured" propertyfeatured "github.com/superseriousbusiness/activity/streams/impl/toot/property_featured"
@ -1693,6 +1695,18 @@ func (this Manager) DeserializeProfileActivityStreams() func(map[string]interfac
} }
} }
// DeserializePropertyValueSchema returns the deserialization method for the
// "SchemaPropertyValue" non-functional property in the vocabulary "Schema"
func (this Manager) DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error) {
return func(m map[string]interface{}, aliasMap map[string]string) (vocab.SchemaPropertyValue, error) {
i, err := typepropertyvalue.DeserializePropertyValue(m, aliasMap)
if i == nil {
return nil, err
}
return i, err
}
}
// DeserializePublicKeyPemPropertyW3IDSecurityV1 returns the deserialization // DeserializePublicKeyPemPropertyW3IDSecurityV1 returns the deserialization
// method for the "W3IDSecurityV1PublicKeyPemProperty" non-functional property // method for the "W3IDSecurityV1PublicKeyPemProperty" non-functional property
// in the vocabulary "W3IDSecurityV1" // in the vocabulary "W3IDSecurityV1"
@ -2311,6 +2325,18 @@ func (this Manager) DeserializeUrlPropertyActivityStreams() func(map[string]inte
} }
} }
// DeserializeValuePropertySchema returns the deserialization method for the
// "SchemaValueProperty" non-functional property in the vocabulary "Schema"
func (this Manager) DeserializeValuePropertySchema() func(map[string]interface{}, map[string]string) (vocab.SchemaValueProperty, error) {
return func(m map[string]interface{}, aliasMap map[string]string) (vocab.SchemaValueProperty, error) {
i, err := propertyvalue.DeserializeValueProperty(m, aliasMap)
if i == nil {
return nil, err
}
return i, err
}
}
// DeserializeVideoActivityStreams returns the deserialization method for the // DeserializeVideoActivityStreams returns the deserialization method for the
// "ActivityStreamsVideo" non-functional property in the vocabulary // "ActivityStreamsVideo" non-functional property in the vocabulary
// "ActivityStreams" // "ActivityStreams"

View file

@ -0,0 +1,14 @@
// Code generated by astool. DO NOT EDIT.
package streams
import (
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
vocab "github.com/superseriousbusiness/activity/streams/vocab"
)
// SchemaPropertyValueIsDisjointWith returns true if PropertyValue is disjoint
// with the other's type.
func SchemaPropertyValueIsDisjointWith(other vocab.Type) bool {
return typepropertyvalue.PropertyValueIsDisjointWith(other)
}

View file

@ -0,0 +1,15 @@
// Code generated by astool. DO NOT EDIT.
package streams
import (
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
vocab "github.com/superseriousbusiness/activity/streams/vocab"
)
// SchemaPropertyValueIsExtendedBy returns true if the other's type extends from
// PropertyValue. Note that it returns false if the types are the same; see
// the "IsOrExtends" variant instead.
func SchemaPropertyValueIsExtendedBy(other vocab.Type) bool {
return typepropertyvalue.PropertyValueIsExtendedBy(other)
}

View file

@ -0,0 +1,14 @@
// Code generated by astool. DO NOT EDIT.
package streams
import (
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
vocab "github.com/superseriousbusiness/activity/streams/vocab"
)
// SchemaSchemaPropertyValueExtends returns true if PropertyValue extends from the
// other's type.
func SchemaSchemaPropertyValueExtends(other vocab.Type) bool {
return typepropertyvalue.SchemaPropertyValueExtends(other)
}

View file

@ -0,0 +1,14 @@
// Code generated by astool. DO NOT EDIT.
package streams
import (
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
vocab "github.com/superseriousbusiness/activity/streams/vocab"
)
// IsOrExtendsSchemaPropertyValue returns true if the other provided type is the
// PropertyValue type or extends from the PropertyValue type.
func IsOrExtendsSchemaPropertyValue(other vocab.Type) bool {
return typepropertyvalue.IsOrExtendsPropertyValue(other)
}

View file

@ -0,0 +1,13 @@
// Code generated by astool. DO NOT EDIT.
package streams
import (
propertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/property_value"
vocab "github.com/superseriousbusiness/activity/streams/vocab"
)
// NewSchemaSchemaValueProperty creates a new SchemaValueProperty
func NewSchemaValueProperty() vocab.SchemaValueProperty {
return propertyvalue.NewSchemaValueProperty()
}

View file

@ -0,0 +1,13 @@
// Code generated by astool. DO NOT EDIT.
package streams
import (
typepropertyvalue "github.com/superseriousbusiness/activity/streams/impl/schema/type_propertyvalue"
vocab "github.com/superseriousbusiness/activity/streams/vocab"
)
// NewSchemaPropertyValue creates a new SchemaPropertyValue
func NewSchemaPropertyValue() vocab.SchemaPropertyValue {
return typepropertyvalue.NewSchemaPropertyValue()
}

View file

@ -181,6 +181,9 @@ func ToType(c context.Context, m map[string]interface{}) (t vocab.Type, err erro
}, func(ctx context.Context, i vocab.ActivityStreamsProfile) error { }, func(ctx context.Context, i vocab.ActivityStreamsProfile) error {
t = i t = i
return nil return nil
}, func(ctx context.Context, i vocab.SchemaPropertyValue) error {
t = i
return nil
}, func(ctx context.Context, i vocab.W3IDSecurityV1PublicKey) error { }, func(ctx context.Context, i vocab.W3IDSecurityV1PublicKey) error {
t = i t = i
return nil return nil

View file

@ -119,6 +119,8 @@ func NewTypePredicatedResolver(delegate Resolver, predicate interface{}) (*TypeP
// Do nothing, this predicate has a correct signature. // Do nothing, this predicate has a correct signature.
case func(context.Context, vocab.ActivityStreamsProfile) (bool, error): case func(context.Context, vocab.ActivityStreamsProfile) (bool, error):
// Do nothing, this predicate has a correct signature. // Do nothing, this predicate has a correct signature.
case func(context.Context, vocab.SchemaPropertyValue) (bool, error):
// Do nothing, this predicate has a correct signature.
case func(context.Context, vocab.W3IDSecurityV1PublicKey) (bool, error): case func(context.Context, vocab.W3IDSecurityV1PublicKey) (bool, error):
// Do nothing, this predicate has a correct signature. // Do nothing, this predicate has a correct signature.
case func(context.Context, vocab.ForgeFedPush) (bool, error): case func(context.Context, vocab.ForgeFedPush) (bool, error):
@ -671,6 +673,17 @@ func (this TypePredicatedResolver) Apply(ctx context.Context, o ActivityStreamsI
} else { } else {
return false, ErrPredicateUnmatched return false, ErrPredicateUnmatched
} }
} else if o.VocabularyURI() == "http://schema.org" && o.GetTypeName() == "PropertyValue" {
if fn, ok := this.predicate.(func(context.Context, vocab.SchemaPropertyValue) (bool, error)); ok {
if v, ok := o.(vocab.SchemaPropertyValue); ok {
predicatePasses, err = fn(ctx, v)
} else {
// This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code.
return false, errCannotTypeAssertType
}
} else {
return false, ErrPredicateUnmatched
}
} else if o.VocabularyURI() == "https://w3id.org/security/v1" && o.GetTypeName() == "PublicKey" { } else if o.VocabularyURI() == "https://w3id.org/security/v1" && o.GetTypeName() == "PublicKey" {
if fn, ok := this.predicate.(func(context.Context, vocab.W3IDSecurityV1PublicKey) (bool, error)); ok { if fn, ok := this.predicate.(func(context.Context, vocab.W3IDSecurityV1PublicKey) (bool, error)); ok {
if v, ok := o.(vocab.W3IDSecurityV1PublicKey); ok { if v, ok := o.(vocab.W3IDSecurityV1PublicKey); ok {

View file

@ -118,6 +118,8 @@ func NewTypeResolver(callbacks ...interface{}) (*TypeResolver, error) {
// Do nothing, this callback has a correct signature. // Do nothing, this callback has a correct signature.
case func(context.Context, vocab.ActivityStreamsProfile) error: case func(context.Context, vocab.ActivityStreamsProfile) error:
// Do nothing, this callback has a correct signature. // Do nothing, this callback has a correct signature.
case func(context.Context, vocab.SchemaPropertyValue) error:
// Do nothing, this callback has a correct signature.
case func(context.Context, vocab.W3IDSecurityV1PublicKey) error: case func(context.Context, vocab.W3IDSecurityV1PublicKey) error:
// Do nothing, this callback has a correct signature. // Do nothing, this callback has a correct signature.
case func(context.Context, vocab.ForgeFedPush) error: case func(context.Context, vocab.ForgeFedPush) error:
@ -576,6 +578,15 @@ func (this TypeResolver) Resolve(ctx context.Context, o ActivityStreamsInterface
return errCannotTypeAssertType return errCannotTypeAssertType
} }
} }
} else if o.VocabularyURI() == "http://schema.org" && o.GetTypeName() == "PropertyValue" {
if fn, ok := i.(func(context.Context, vocab.SchemaPropertyValue) error); ok {
if v, ok := o.(vocab.SchemaPropertyValue); ok {
return fn(ctx, v)
} else {
// This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code.
return errCannotTypeAssertType
}
}
} else if o.VocabularyURI() == "https://w3id.org/security/v1" && o.GetTypeName() == "PublicKey" { } else if o.VocabularyURI() == "https://w3id.org/security/v1" && o.GetTypeName() == "PublicKey" {
if fn, ok := i.(func(context.Context, vocab.W3IDSecurityV1PublicKey) error); ok { if fn, ok := i.(func(context.Context, vocab.W3IDSecurityV1PublicKey) error); ok {
if v, ok := o.(vocab.W3IDSecurityV1PublicKey); ok { if v, ok := o.(vocab.W3IDSecurityV1PublicKey); ok {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsActorPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsActorPropertyIterator(i interface{}, aliasMap map
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsActorPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsActorPropertyIterator{ this := &ActivityStreamsActorPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsActorPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsActorPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsActorPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsActorPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsActorPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsActorPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsActorPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsActorPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsActorPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsActorPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsActorPropertyIterator) JSONLDContext() map[string]stri
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsActorPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsActorPropertyIterator) LessThan(o vocab.ActivityStream
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsActorPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsActorPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsActorPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsActorPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsActorPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsActorPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsActorPropertyIterator) serialize() (interface{}, error
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3771,6 +3817,18 @@ func (this *ActivityStreamsActorProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "actor". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsActorProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "actor". Invalidates iterators that are traversing using Prev. // "actor". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsActorProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsActorProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4875,6 +4933,23 @@ func (this *ActivityStreamsActorProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "actor". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsActorProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsActorPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "actor". Existing elements at that index and higher are shifted back once. // "actor". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5147,74 +5222,78 @@ func (this ActivityStreamsActorProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6112,6 +6191,20 @@ func (this *ActivityStreamsActorProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "actor". Invalidates all iterators.
func (this *ActivityStreamsActorProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsActorPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "actor". Invalidates all iterators. // "actor". Invalidates all iterators.
func (this *ActivityStreamsActorProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsActorProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6983,6 +7076,19 @@ func (this *ActivityStreamsActorProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "actor". Panics if the index is out of bounds. Invalidates
// all iterators.
func (this *ActivityStreamsActorProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsActorPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "actor". Panics if the index is out of bounds. Invalidates all iterators. // "actor". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsActorProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsActorProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsAnyOfPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsAnyOfPropertyIterator(i interface{}, aliasMap map
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsAnyOfPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsAnyOfPropertyIterator{ this := &ActivityStreamsAnyOfPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsAnyOfPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsAnyOfPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsAnyOfPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsAnyOfPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsAnyOfPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsAnyOfPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsAnyOfPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsAnyOfPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsAnyOfPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsAnyOfPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsAnyOfPropertyIterator) JSONLDContext() map[string]stri
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsAnyOfPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsAnyOfPropertyIterator) LessThan(o vocab.ActivityStream
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsAnyOfPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsAnyOfPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsAnyOfPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAnyOfPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsAnyOfPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsAnyOfPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsAnyOfPropertyIterator) serialize() (interface{}, error
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3771,6 +3817,18 @@ func (this *ActivityStreamsAnyOfProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "anyOf". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsAnyOfProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "anyOf". Invalidates iterators that are traversing using Prev. // "anyOf". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsAnyOfProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAnyOfProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4875,6 +4933,23 @@ func (this *ActivityStreamsAnyOfProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "anyOf". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsAnyOfProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "anyOf". Existing elements at that index and higher are shifted back once. // "anyOf". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5147,74 +5222,78 @@ func (this ActivityStreamsAnyOfProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6112,6 +6191,20 @@ func (this *ActivityStreamsAnyOfProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "anyOf". Invalidates all iterators.
func (this *ActivityStreamsAnyOfProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "anyOf". Invalidates all iterators. // "anyOf". Invalidates all iterators.
func (this *ActivityStreamsAnyOfProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAnyOfProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6983,6 +7076,19 @@ func (this *ActivityStreamsAnyOfProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "anyOf". Panics if the index is out of bounds. Invalidates
// all iterators.
func (this *ActivityStreamsAnyOfProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "anyOf". Panics if the index is out of bounds. Invalidates all iterators. // "anyOf". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsAnyOfProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsAnyOfProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsAttachmentPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsAttachmentPropertyIterator(i interface{}, aliasMa
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsAttachmentPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsAttachmentPropertyIterator{ this := &ActivityStreamsAttachmentPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsAttachmentPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsAttachmentPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsAttachmentPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsAttachmentPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsAttachmentPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsAttachmentPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsAttachmentPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsAttachmentPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsAttachmentPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsAttachmentPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsAttachmentPropertyIterator) JSONLDContext() map[string
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsAttachmentPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsAttachmentPropertyIterator) LessThan(o vocab.ActivityS
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsAttachmentPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsAttachmentPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsAttachmentPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAttachmentPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsAttachmentPropertyIterator) SetType(t vocab.Type) err
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsAttachmentPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsAttachmentPropertyIterator) serialize() (interface{},
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3782,6 +3828,18 @@ func (this *ActivityStreamsAttachmentProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "attachment". Invalidates iterators that are traversing
// using Prev.
func (this *ActivityStreamsAttachmentProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "attachment". Invalidates iterators that are traversing using Prev. // "attachment". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsAttachmentProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAttachmentProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4888,6 +4946,23 @@ func (this *ActivityStreamsAttachmentProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "attachment". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsAttachmentProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "attachment". Existing elements at that index and higher are shifted back // "attachment". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5160,74 +5235,78 @@ func (this ActivityStreamsAttachmentProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6126,6 +6205,20 @@ func (this *ActivityStreamsAttachmentProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "attachment". Invalidates all iterators.
func (this *ActivityStreamsAttachmentProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "attachment". Invalidates all iterators. // "attachment". Invalidates all iterators.
func (this *ActivityStreamsAttachmentProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAttachmentProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6998,6 +7091,19 @@ func (this *ActivityStreamsAttachmentProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "attachment". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsAttachmentProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "attachment". Panics if the index is out of bounds. Invalidates all // "attachment". Panics if the index is out of bounds. Invalidates all
// iterators. // iterators.

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsAttributedToPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsAttributedToPropertyIterator(i interface{}, alias
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsAttributedToPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsAttributedToPropertyIterator{ this := &ActivityStreamsAttributedToPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsAttributedToPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsAttributedToPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsAttributedToPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsAttributedToPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsAttributedToPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsAttributedToPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsAttributedToPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsAttributedToPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsAttributedToPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsAttributedToPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsAttributedToPropertyIterator) JSONLDContext() map[stri
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsAttributedToPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsAttributedToPropertyIterator) LessThan(o vocab.Activit
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsAttributedToPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsAttributedToPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsAttributedToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAttributedToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsAttributedToPropertyIterator) SetType(t vocab.Type) e
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsAttributedToPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsAttributedToPropertyIterator) serialize() (interface{}
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3821,6 +3867,18 @@ func (this *ActivityStreamsAttributedToProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "attributedTo". Invalidates iterators that are traversing
// using Prev.
func (this *ActivityStreamsAttributedToProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "attributedTo". Invalidates iterators that are traversing using Prev. // "attributedTo". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsAttributedToProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAttributedToProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4928,6 +4986,23 @@ func (this *ActivityStreamsAttributedToProperty) InsertIRI(idx int, v *url.URL)
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "attributedTo". Existing elements at that index and higher
// are shifted back once. Invalidates all iterators.
func (this *ActivityStreamsAttributedToProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "attributedTo". Existing elements at that index and higher are shifted back // "attributedTo". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5200,74 +5275,78 @@ func (this ActivityStreamsAttributedToProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6167,6 +6246,20 @@ func (this *ActivityStreamsAttributedToProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "attributedTo". Invalidates all iterators.
func (this *ActivityStreamsAttributedToProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "attributedTo". Invalidates all iterators. // "attributedTo". Invalidates all iterators.
func (this *ActivityStreamsAttributedToProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAttributedToProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -7039,6 +7132,19 @@ func (this *ActivityStreamsAttributedToProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "attributedTo". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsAttributedToProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "attributedTo". Panics if the index is out of bounds. Invalidates all // "attributedTo". Panics if the index is out of bounds. Invalidates all
// iterators. // iterators.

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsAudiencePropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsAudiencePropertyIterator(i interface{}, aliasMap
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsAudiencePropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsAudiencePropertyIterator{ this := &ActivityStreamsAudiencePropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsAudiencePropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsAudiencePropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsAudiencePropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsAudiencePropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsAudiencePropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsAudiencePropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsAudiencePropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsAudiencePropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsAudiencePropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsAudiencePropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsAudiencePropertyIterator) JSONLDContext() map[string]s
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsAudiencePropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsAudiencePropertyIterator) LessThan(o vocab.ActivityStr
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsAudiencePropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsAudiencePropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsAudiencePropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAudiencePropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsAudiencePropertyIterator) SetType(t vocab.Type) error
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsAudiencePropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsAudiencePropertyIterator) serialize() (interface{}, er
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3781,6 +3827,18 @@ func (this *ActivityStreamsAudienceProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "audience". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsAudienceProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "audience". Invalidates iterators that are traversing using Prev. // "audience". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsAudienceProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAudienceProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4886,6 +4944,23 @@ func (this *ActivityStreamsAudienceProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "audience". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsAudienceProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "audience". Existing elements at that index and higher are shifted back // "audience". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5158,74 +5233,78 @@ func (this ActivityStreamsAudienceProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6124,6 +6203,20 @@ func (this *ActivityStreamsAudienceProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "audience". Invalidates all iterators.
func (this *ActivityStreamsAudienceProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "audience". Invalidates all iterators. // "audience". Invalidates all iterators.
func (this *ActivityStreamsAudienceProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsAudienceProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6995,6 +7088,19 @@ func (this *ActivityStreamsAudienceProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "audience". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsAudienceProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "audience". Panics if the index is out of bounds. Invalidates all iterators. // "audience". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsAudienceProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsAudienceProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsBccPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -372,6 +373,12 @@ func deserializeActivityStreamsBccPropertyIterator(i interface{}, aliasMap map[s
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsBccPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsBccPropertyIterator{ this := &ActivityStreamsBccPropertyIterator{
alias: alias, alias: alias,
@ -911,6 +918,13 @@ func (this ActivityStreamsBccPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsBccPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsBccPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsBccPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1059,6 +1073,9 @@ func (this ActivityStreamsBccPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1163,6 +1180,7 @@ func (this ActivityStreamsBccPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1615,6 +1633,13 @@ func (this ActivityStreamsBccPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsBccPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsBccPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsBccPropertyIterator) IsTootEmoji() bool {
@ -1722,6 +1747,8 @@ func (this ActivityStreamsBccPropertyIterator) JSONLDContext() map[string]string
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1906,60 +1933,63 @@ func (this ActivityStreamsBccPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2065,6 +2095,8 @@ func (this ActivityStreamsBccPropertyIterator) LessThan(o vocab.ActivityStreamsB
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2560,6 +2592,13 @@ func (this *ActivityStreamsBccPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsBccPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsBccPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsBccPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2753,6 +2792,10 @@ func (this *ActivityStreamsBccPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2876,6 +2919,7 @@ func (this *ActivityStreamsBccPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2991,6 +3035,8 @@ func (this ActivityStreamsBccPropertyIterator) serialize() (interface{}, error)
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3769,6 +3815,17 @@ func (this *ActivityStreamsBccProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "bcc". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsBccProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "bcc". Invalidates iterators that are traversing using Prev. // "bcc". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsBccProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsBccProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4873,6 +4930,23 @@ func (this *ActivityStreamsBccProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "bcc". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsBccProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsBccPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "bcc". Existing elements at that index and higher are shifted back once. // "bcc". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5145,74 +5219,78 @@ func (this ActivityStreamsBccProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6110,6 +6188,20 @@ func (this *ActivityStreamsBccProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "bcc". Invalidates all iterators.
func (this *ActivityStreamsBccProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsBccPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "bcc". Invalidates all iterators. // "bcc". Invalidates all iterators.
func (this *ActivityStreamsBccProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsBccProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6981,6 +7073,19 @@ func (this *ActivityStreamsBccProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "bcc". Panics if the index is out of bounds. Invalidates
// all iterators.
func (this *ActivityStreamsBccProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsBccPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "bcc". Panics if the index is out of bounds. Invalidates all iterators. // "bcc". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsBccProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsBccProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsBtoPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -372,6 +373,12 @@ func deserializeActivityStreamsBtoPropertyIterator(i interface{}, aliasMap map[s
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsBtoPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsBtoPropertyIterator{ this := &ActivityStreamsBtoPropertyIterator{
alias: alias, alias: alias,
@ -911,6 +918,13 @@ func (this ActivityStreamsBtoPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsBtoPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsBtoPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsBtoPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1059,6 +1073,9 @@ func (this ActivityStreamsBtoPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1163,6 +1180,7 @@ func (this ActivityStreamsBtoPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1615,6 +1633,13 @@ func (this ActivityStreamsBtoPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsBtoPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsBtoPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsBtoPropertyIterator) IsTootEmoji() bool {
@ -1722,6 +1747,8 @@ func (this ActivityStreamsBtoPropertyIterator) JSONLDContext() map[string]string
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1906,60 +1933,63 @@ func (this ActivityStreamsBtoPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2065,6 +2095,8 @@ func (this ActivityStreamsBtoPropertyIterator) LessThan(o vocab.ActivityStreamsB
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2560,6 +2592,13 @@ func (this *ActivityStreamsBtoPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsBtoPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsBtoPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsBtoPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2753,6 +2792,10 @@ func (this *ActivityStreamsBtoPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2876,6 +2919,7 @@ func (this *ActivityStreamsBtoPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2991,6 +3035,8 @@ func (this ActivityStreamsBtoPropertyIterator) serialize() (interface{}, error)
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3769,6 +3815,17 @@ func (this *ActivityStreamsBtoProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "bto". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsBtoProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "bto". Invalidates iterators that are traversing using Prev. // "bto". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsBtoProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsBtoProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4873,6 +4930,23 @@ func (this *ActivityStreamsBtoProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "bto". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsBtoProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsBtoPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "bto". Existing elements at that index and higher are shifted back once. // "bto". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5145,74 +5219,78 @@ func (this ActivityStreamsBtoProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6110,6 +6188,20 @@ func (this *ActivityStreamsBtoProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "bto". Invalidates all iterators.
func (this *ActivityStreamsBtoProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsBtoPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "bto". Invalidates all iterators. // "bto". Invalidates all iterators.
func (this *ActivityStreamsBtoProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsBtoProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6981,6 +7073,19 @@ func (this *ActivityStreamsBtoProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "bto". Panics if the index is out of bounds. Invalidates
// all iterators.
func (this *ActivityStreamsBtoProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "bto". Panics if the index is out of bounds. Invalidates all iterators. // "bto". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsBtoProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsBtoProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsCcPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -372,6 +373,12 @@ func deserializeActivityStreamsCcPropertyIterator(i interface{}, aliasMap map[st
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsCcPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsCcPropertyIterator{ this := &ActivityStreamsCcPropertyIterator{
alias: alias, alias: alias,
@ -911,6 +918,13 @@ func (this ActivityStreamsCcPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsCcPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsCcPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsCcPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1059,6 +1073,9 @@ func (this ActivityStreamsCcPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1163,6 +1180,7 @@ func (this ActivityStreamsCcPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1615,6 +1633,13 @@ func (this ActivityStreamsCcPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsCcPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsCcPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsCcPropertyIterator) IsTootEmoji() bool {
@ -1722,6 +1747,8 @@ func (this ActivityStreamsCcPropertyIterator) JSONLDContext() map[string]string
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1906,60 +1933,63 @@ func (this ActivityStreamsCcPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2065,6 +2095,8 @@ func (this ActivityStreamsCcPropertyIterator) LessThan(o vocab.ActivityStreamsCc
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2560,6 +2592,13 @@ func (this *ActivityStreamsCcPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsCcPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsCcPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsCcPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2753,6 +2792,10 @@ func (this *ActivityStreamsCcPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2876,6 +2919,7 @@ func (this *ActivityStreamsCcPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2991,6 +3035,8 @@ func (this ActivityStreamsCcPropertyIterator) serialize() (interface{}, error) {
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3769,6 +3815,17 @@ func (this *ActivityStreamsCcProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "cc". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsCcProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "cc". Invalidates iterators that are traversing using Prev. // "cc". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsCcProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsCcProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4873,6 +4930,23 @@ func (this *ActivityStreamsCcProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "cc". Existing elements at that index and higher are shifted
// back once. Invalidates all iterators.
func (this *ActivityStreamsCcProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsCcPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "cc". Existing elements at that index and higher are shifted back once. // "cc". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5145,74 +5219,78 @@ func (this ActivityStreamsCcProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6110,6 +6188,20 @@ func (this *ActivityStreamsCcProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "cc". Invalidates all iterators.
func (this *ActivityStreamsCcProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsCcPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "cc". Invalidates all iterators. // "cc". Invalidates all iterators.
func (this *ActivityStreamsCcProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsCcProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6981,6 +7073,19 @@ func (this *ActivityStreamsCcProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "cc". Panics if the index is out of bounds. Invalidates
// all iterators.
func (this *ActivityStreamsCcProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsCcPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "cc". Panics if the index is out of bounds. Invalidates all iterators. // "cc". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsCcProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsCcProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -65,6 +65,7 @@ type ActivityStreamsClosedPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -380,6 +381,12 @@ func deserializeActivityStreamsClosedPropertyIterator(i interface{}, aliasMap ma
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsClosedPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsClosedPropertyIterator{ this := &ActivityStreamsClosedPropertyIterator{
alias: alias, alias: alias,
@ -934,6 +941,13 @@ func (this ActivityStreamsClosedPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsClosedPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsClosedPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsClosedPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1082,6 +1096,9 @@ func (this ActivityStreamsClosedPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1201,6 +1218,7 @@ func (this ActivityStreamsClosedPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1653,6 +1671,13 @@ func (this ActivityStreamsClosedPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsClosedPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsClosedPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsClosedPropertyIterator) IsTootEmoji() bool {
@ -1774,6 +1799,8 @@ func (this ActivityStreamsClosedPropertyIterator) JSONLDContext() map[string]str
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1964,60 +1991,63 @@ func (this ActivityStreamsClosedPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 45 return 45
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 46 return 46
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 47 return 47
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 48 return 48
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 49 return 49
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 50 return 50
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 51 return 51
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 52 return 52
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 53 return 53
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 54 return 54
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 55 return 55
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 56 return 56
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 57 return 57
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 58 return 58
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 59 return 59
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 60 return 60
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 61 return 61
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 62 return 62
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 63 return 63
} }
if this.IsActivityStreamsView() {
return 64
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2127,6 +2157,8 @@ func (this ActivityStreamsClosedPropertyIterator) LessThan(o vocab.ActivityStrea
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2622,6 +2654,13 @@ func (this *ActivityStreamsClosedPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsClosedPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsClosedPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsClosedPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2815,6 +2854,10 @@ func (this *ActivityStreamsClosedPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2956,6 +2999,7 @@ func (this *ActivityStreamsClosedPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -3075,6 +3119,8 @@ func (this ActivityStreamsClosedPropertyIterator) serialize() (interface{}, erro
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3854,6 +3900,18 @@ func (this *ActivityStreamsClosedProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "closed". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsClosedProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "closed". Invalidates iterators that are traversing using Prev. // "closed". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsClosedProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsClosedProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4982,6 +5040,23 @@ func (this *ActivityStreamsClosedProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "closed". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsClosedProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsClosedPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "closed". Existing elements at that index and higher are shifted back once. // "closed". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5298,74 +5373,78 @@ func (this ActivityStreamsClosedProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 46 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 47 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 62 { } else if idx1 == 63 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 63 { } else if idx1 == 64 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6264,6 +6343,20 @@ func (this *ActivityStreamsClosedProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "closed". Invalidates all iterators.
func (this *ActivityStreamsClosedProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsClosedPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "closed". Invalidates all iterators. // "closed". Invalidates all iterators.
func (this *ActivityStreamsClosedProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsClosedProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -7165,6 +7258,19 @@ func (this *ActivityStreamsClosedProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "closed". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsClosedProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "closed". Panics if the index is out of bounds. Invalidates all iterators. // "closed". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsClosedProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsClosedProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsContextPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsContextPropertyIterator(i interface{}, aliasMap m
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsContextPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsContextPropertyIterator{ this := &ActivityStreamsContextPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsContextPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsContextPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsContextPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsContextPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsContextPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsContextPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsContextPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsContextPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsContextPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsContextPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsContextPropertyIterator) JSONLDContext() map[string]st
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsContextPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsContextPropertyIterator) LessThan(o vocab.ActivityStre
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsContextPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsContextPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsContextPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsContextPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsContextPropertyIterator) SetType(t vocab.Type) error
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsContextPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsContextPropertyIterator) serialize() (interface{}, err
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3781,6 +3827,18 @@ func (this *ActivityStreamsContextProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "context". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsContextProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "context". Invalidates iterators that are traversing using Prev. // "context". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsContextProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsContextProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4886,6 +4944,23 @@ func (this *ActivityStreamsContextProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "context". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsContextProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsContextPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "context". Existing elements at that index and higher are shifted back // "context". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5158,74 +5233,78 @@ func (this ActivityStreamsContextProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6124,6 +6203,20 @@ func (this *ActivityStreamsContextProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "context". Invalidates all iterators.
func (this *ActivityStreamsContextProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsContextPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "context". Invalidates all iterators. // "context". Invalidates all iterators.
func (this *ActivityStreamsContextProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsContextProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6995,6 +7088,19 @@ func (this *ActivityStreamsContextProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "context". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsContextProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsContextPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "context". Panics if the index is out of bounds. Invalidates all iterators. // "context". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsContextProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsContextProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -177,6 +177,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -56,6 +56,7 @@ type ActivityStreamsDescribesProperty struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -359,6 +360,12 @@ func DeserializeDescribesProperty(m map[string]interface{}, aliasMap map[string]
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsDescribesProperty{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsDescribesProperty{ this := &ActivityStreamsDescribesProperty{
alias: alias, alias: alias,
@ -528,6 +535,7 @@ func (this *ActivityStreamsDescribesProperty) Clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -958,6 +966,13 @@ func (this ActivityStreamsDescribesProperty) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsDescribesProperty) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsDescribesProperty) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsDescribesProperty) GetTootEmoji() vocab.TootEmoji {
@ -1100,6 +1115,9 @@ func (this ActivityStreamsDescribesProperty) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1202,6 +1220,7 @@ func (this ActivityStreamsDescribesProperty) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1640,6 +1659,13 @@ func (this ActivityStreamsDescribesProperty) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsDescribesProperty) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsDescribesProperty) IsTootEmoji() bool { func (this ActivityStreamsDescribesProperty) IsTootEmoji() bool {
@ -1743,6 +1769,8 @@ func (this ActivityStreamsDescribesProperty) JSONLDContext() map[string]string {
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1921,60 +1949,63 @@ func (this ActivityStreamsDescribesProperty) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 41 return 41
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 42 return 42
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 43 return 43
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 44 return 44
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 45 return 45
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 46 return 46
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 47 return 47
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 48 return 48
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 49 return 49
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 50 return 50
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 51 return 51
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 52 return 52
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 53 return 53
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 54 return 54
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 55 return 55
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 56 return 56
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 57 return 57
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 58 return 58
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 59 return 59
} }
if this.IsActivityStreamsView() {
return 60
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2076,6 +2107,8 @@ func (this ActivityStreamsDescribesProperty) LessThan(o vocab.ActivityStreamsDes
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2216,6 +2249,8 @@ func (this ActivityStreamsDescribesProperty) Serialize() (interface{}, error) {
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2670,6 +2705,13 @@ func (this *ActivityStreamsDescribesProperty) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsDescribesProperty) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.Clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsDescribesProperty) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsDescribesProperty) SetTootEmoji(v vocab.TootEmoji) {
@ -2855,6 +2897,10 @@ func (this *ActivityStreamsDescribesProperty) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil

View file

@ -177,6 +177,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -59,6 +59,7 @@ type ActivityStreamsFormerTypePropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -362,6 +363,12 @@ func deserializeActivityStreamsFormerTypePropertyIterator(i interface{}, aliasMa
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsFormerTypePropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsFormerTypePropertyIterator{ this := &ActivityStreamsFormerTypePropertyIterator{
alias: alias, alias: alias,
@ -895,6 +902,13 @@ func (this ActivityStreamsFormerTypePropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsFormerTypePropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsFormerTypePropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsFormerTypePropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1037,6 +1051,9 @@ func (this ActivityStreamsFormerTypePropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1146,6 +1163,7 @@ func (this ActivityStreamsFormerTypePropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1584,6 +1602,13 @@ func (this ActivityStreamsFormerTypePropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsFormerTypePropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsFormerTypePropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsFormerTypePropertyIterator) IsTootEmoji() bool {
@ -1694,6 +1719,8 @@ func (this ActivityStreamsFormerTypePropertyIterator) JSONLDContext() map[string
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1875,60 +1902,63 @@ func (this ActivityStreamsFormerTypePropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 42 return 42
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 43 return 43
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 44 return 44
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 45 return 45
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 46 return 46
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 47 return 47
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 48 return 48
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 49 return 49
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 50 return 50
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 52 return 52
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 53 return 53
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 54 return 54
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 55 return 55
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 56 return 56
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 57 return 57
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 58 return 58
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 59 return 59
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 60 return 60
} }
if this.IsActivityStreamsView() {
return 61
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2032,6 +2062,8 @@ func (this ActivityStreamsFormerTypePropertyIterator) LessThan(o vocab.ActivityS
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2513,6 +2545,13 @@ func (this *ActivityStreamsFormerTypePropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsFormerTypePropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsFormerTypePropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsFormerTypePropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2698,6 +2737,10 @@ func (this *ActivityStreamsFormerTypePropertyIterator) SetType(t vocab.Type) err
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2828,6 +2871,7 @@ func (this *ActivityStreamsFormerTypePropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2941,6 +2985,8 @@ func (this ActivityStreamsFormerTypePropertyIterator) serialize() (interface{},
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3708,6 +3754,18 @@ func (this *ActivityStreamsFormerTypeProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "formerType". Invalidates iterators that are traversing
// using Prev.
func (this *ActivityStreamsFormerTypeProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "formerType". Invalidates iterators that are traversing using Prev. // "formerType". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsFormerTypeProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsFormerTypeProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4792,6 +4850,23 @@ func (this *ActivityStreamsFormerTypeProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "formerType". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsFormerTypeProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "formerType". Existing elements at that index and higher are shifted back // "formerType". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5078,74 +5153,78 @@ func (this ActivityStreamsFormerTypeProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 43 { } else if idx1 == 43 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 44 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 45 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6016,6 +6095,20 @@ func (this *ActivityStreamsFormerTypeProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "formerType". Invalidates all iterators.
func (this *ActivityStreamsFormerTypeProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "formerType". Invalidates all iterators. // "formerType". Invalidates all iterators.
func (this *ActivityStreamsFormerTypeProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsFormerTypeProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6877,6 +6970,19 @@ func (this *ActivityStreamsFormerTypeProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "formerType". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsFormerTypeProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "formerType". Panics if the index is out of bounds. Invalidates all // "formerType". Panics if the index is out of bounds. Invalidates all
// iterators. // iterators.

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsGeneratorPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsGeneratorPropertyIterator(i interface{}, aliasMap
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsGeneratorPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsGeneratorPropertyIterator{ this := &ActivityStreamsGeneratorPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsGeneratorPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsGeneratorPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsGeneratorPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsGeneratorPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsGeneratorPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsGeneratorPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsGeneratorPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsGeneratorPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsGeneratorPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsGeneratorPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsGeneratorPropertyIterator) JSONLDContext() map[string]
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsGeneratorPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsGeneratorPropertyIterator) LessThan(o vocab.ActivitySt
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsGeneratorPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsGeneratorPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsGeneratorPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsGeneratorPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsGeneratorPropertyIterator) SetType(t vocab.Type) erro
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsGeneratorPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsGeneratorPropertyIterator) serialize() (interface{}, e
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3781,6 +3827,18 @@ func (this *ActivityStreamsGeneratorProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "generator". Invalidates iterators that are traversing
// using Prev.
func (this *ActivityStreamsGeneratorProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "generator". Invalidates iterators that are traversing using Prev. // "generator". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsGeneratorProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsGeneratorProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4886,6 +4944,23 @@ func (this *ActivityStreamsGeneratorProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "generator". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsGeneratorProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "generator". Existing elements at that index and higher are shifted back // "generator". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5158,74 +5233,78 @@ func (this ActivityStreamsGeneratorProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6124,6 +6203,20 @@ func (this *ActivityStreamsGeneratorProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "generator". Invalidates all iterators.
func (this *ActivityStreamsGeneratorProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "generator". Invalidates all iterators. // "generator". Invalidates all iterators.
func (this *ActivityStreamsGeneratorProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsGeneratorProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6996,6 +7089,19 @@ func (this *ActivityStreamsGeneratorProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "generator". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsGeneratorProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "generator". Panics if the index is out of bounds. Invalidates all // "generator". Panics if the index is out of bounds. Invalidates all
// iterators. // iterators.

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsInReplyToPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsInReplyToPropertyIterator(i interface{}, aliasMap
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsInReplyToPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsInReplyToPropertyIterator{ this := &ActivityStreamsInReplyToPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsInReplyToPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsInReplyToPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsInReplyToPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsInReplyToPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsInReplyToPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsInReplyToPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsInReplyToPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsInReplyToPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsInReplyToPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsInReplyToPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsInReplyToPropertyIterator) JSONLDContext() map[string]
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsInReplyToPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsInReplyToPropertyIterator) LessThan(o vocab.ActivitySt
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsInReplyToPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsInReplyToPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsInReplyToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsInReplyToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsInReplyToPropertyIterator) SetType(t vocab.Type) erro
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsInReplyToPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsInReplyToPropertyIterator) serialize() (interface{}, e
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3781,6 +3827,18 @@ func (this *ActivityStreamsInReplyToProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "inReplyTo". Invalidates iterators that are traversing
// using Prev.
func (this *ActivityStreamsInReplyToProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "inReplyTo". Invalidates iterators that are traversing using Prev. // "inReplyTo". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsInReplyToProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsInReplyToProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4886,6 +4944,23 @@ func (this *ActivityStreamsInReplyToProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "inReplyTo". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsInReplyToProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "inReplyTo". Existing elements at that index and higher are shifted back // "inReplyTo". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5158,74 +5233,78 @@ func (this ActivityStreamsInReplyToProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6124,6 +6203,20 @@ func (this *ActivityStreamsInReplyToProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "inReplyTo". Invalidates all iterators.
func (this *ActivityStreamsInReplyToProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "inReplyTo". Invalidates all iterators. // "inReplyTo". Invalidates all iterators.
func (this *ActivityStreamsInReplyToProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsInReplyToProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6996,6 +7089,19 @@ func (this *ActivityStreamsInReplyToProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "inReplyTo". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsInReplyToProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "inReplyTo". Panics if the index is out of bounds. Invalidates all // "inReplyTo". Panics if the index is out of bounds. Invalidates all
// iterators. // iterators.

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsInstrumentPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsInstrumentPropertyIterator(i interface{}, aliasMa
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsInstrumentPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsInstrumentPropertyIterator{ this := &ActivityStreamsInstrumentPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsInstrumentPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsInstrumentPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsInstrumentPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsInstrumentPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsInstrumentPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsInstrumentPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsInstrumentPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsInstrumentPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsInstrumentPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsInstrumentPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsInstrumentPropertyIterator) JSONLDContext() map[string
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsInstrumentPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsInstrumentPropertyIterator) LessThan(o vocab.ActivityS
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsInstrumentPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsInstrumentPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsInstrumentPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsInstrumentPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsInstrumentPropertyIterator) SetType(t vocab.Type) err
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsInstrumentPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsInstrumentPropertyIterator) serialize() (interface{},
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3782,6 +3828,18 @@ func (this *ActivityStreamsInstrumentProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "instrument". Invalidates iterators that are traversing
// using Prev.
func (this *ActivityStreamsInstrumentProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "instrument". Invalidates iterators that are traversing using Prev. // "instrument". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsInstrumentProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsInstrumentProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4888,6 +4946,23 @@ func (this *ActivityStreamsInstrumentProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "instrument". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsInstrumentProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "instrument". Existing elements at that index and higher are shifted back // "instrument". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5160,74 +5235,78 @@ func (this ActivityStreamsInstrumentProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6126,6 +6205,20 @@ func (this *ActivityStreamsInstrumentProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "instrument". Invalidates all iterators.
func (this *ActivityStreamsInstrumentProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "instrument". Invalidates all iterators. // "instrument". Invalidates all iterators.
func (this *ActivityStreamsInstrumentProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsInstrumentProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6998,6 +7091,19 @@ func (this *ActivityStreamsInstrumentProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "instrument". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsInstrumentProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "instrument". Panics if the index is out of bounds. Invalidates all // "instrument". Panics if the index is out of bounds. Invalidates all
// iterators. // iterators.

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsItemsPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsItemsPropertyIterator(i interface{}, aliasMap map
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsItemsPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsItemsPropertyIterator{ this := &ActivityStreamsItemsPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsItemsPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsItemsPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsItemsPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsItemsPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsItemsPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsItemsPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsItemsPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsItemsPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsItemsPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsItemsPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsItemsPropertyIterator) JSONLDContext() map[string]stri
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsItemsPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsItemsPropertyIterator) LessThan(o vocab.ActivityStream
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsItemsPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsItemsPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsItemsPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsItemsPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsItemsPropertyIterator) SetType(t vocab.Type) error {
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsItemsPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsItemsPropertyIterator) serialize() (interface{}, error
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3771,6 +3817,18 @@ func (this *ActivityStreamsItemsProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "items". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsItemsProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "items". Invalidates iterators that are traversing using Prev. // "items". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsItemsProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsItemsProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4875,6 +4933,23 @@ func (this *ActivityStreamsItemsProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "items". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsItemsProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsItemsPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "items". Existing elements at that index and higher are shifted back once. // "items". Existing elements at that index and higher are shifted back once.
// Invalidates all iterators. // Invalidates all iterators.
@ -5147,74 +5222,78 @@ func (this ActivityStreamsItemsProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6112,6 +6191,20 @@ func (this *ActivityStreamsItemsProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "items". Invalidates all iterators.
func (this *ActivityStreamsItemsProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsItemsPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "items". Invalidates all iterators. // "items". Invalidates all iterators.
func (this *ActivityStreamsItemsProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsItemsProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6983,6 +7076,19 @@ func (this *ActivityStreamsItemsProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "items". Panics if the index is out of bounds. Invalidates
// all iterators.
func (this *ActivityStreamsItemsProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "items". Panics if the index is out of bounds. Invalidates all iterators. // "items". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsItemsProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsItemsProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

View file

@ -185,6 +185,10 @@ type privateManager interface {
// for the "ActivityStreamsProfile" non-functional property in the // for the "ActivityStreamsProfile" non-functional property in the
// vocabulary "ActivityStreams" // vocabulary "ActivityStreams"
DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error)
// DeserializePropertyValueSchema returns the deserialization method for
// the "SchemaPropertyValue" non-functional property in the vocabulary
// "Schema"
DeserializePropertyValueSchema() func(map[string]interface{}, map[string]string) (vocab.SchemaPropertyValue, error)
// DeserializePushForgeFed returns the deserialization method for the // DeserializePushForgeFed returns the deserialization method for the
// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed"
DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error)

View file

@ -58,6 +58,7 @@ type ActivityStreamsLocationPropertyIterator struct {
activitystreamsPersonMember vocab.ActivityStreamsPerson activitystreamsPersonMember vocab.ActivityStreamsPerson
activitystreamsPlaceMember vocab.ActivityStreamsPlace activitystreamsPlaceMember vocab.ActivityStreamsPlace
activitystreamsProfileMember vocab.ActivityStreamsProfile activitystreamsProfileMember vocab.ActivityStreamsProfile
schemaPropertyValueMember vocab.SchemaPropertyValue
forgefedPushMember vocab.ForgeFedPush forgefedPushMember vocab.ForgeFedPush
activitystreamsQuestionMember vocab.ActivityStreamsQuestion activitystreamsQuestionMember vocab.ActivityStreamsQuestion
activitystreamsReadMember vocab.ActivityStreamsRead activitystreamsReadMember vocab.ActivityStreamsRead
@ -373,6 +374,12 @@ func deserializeActivityStreamsLocationPropertyIterator(i interface{}, aliasMap
alias: alias, alias: alias,
} }
return this, nil return this, nil
} else if v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap); err == nil {
this := &ActivityStreamsLocationPropertyIterator{
alias: alias,
schemaPropertyValueMember: v,
}
return this, nil
} else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil {
this := &ActivityStreamsLocationPropertyIterator{ this := &ActivityStreamsLocationPropertyIterator{
alias: alias, alias: alias,
@ -912,6 +919,13 @@ func (this ActivityStreamsLocationPropertyIterator) GetIRI() *url.URL {
return this.iri return this.iri
} }
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
func (this ActivityStreamsLocationPropertyIterator) GetSchemaPropertyValue() vocab.SchemaPropertyValue {
return this.schemaPropertyValueMember
}
// GetTootEmoji returns the value of this property. When IsTootEmoji returns // GetTootEmoji returns the value of this property. When IsTootEmoji returns
// false, GetTootEmoji will return an arbitrary value. // false, GetTootEmoji will return an arbitrary value.
func (this ActivityStreamsLocationPropertyIterator) GetTootEmoji() vocab.TootEmoji { func (this ActivityStreamsLocationPropertyIterator) GetTootEmoji() vocab.TootEmoji {
@ -1060,6 +1074,9 @@ func (this ActivityStreamsLocationPropertyIterator) GetType() vocab.Type {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile() return this.GetActivityStreamsProfile()
} }
if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue()
}
if this.IsForgeFedPush() { if this.IsForgeFedPush() {
return this.GetForgeFedPush() return this.GetForgeFedPush()
} }
@ -1164,6 +1181,7 @@ func (this ActivityStreamsLocationPropertyIterator) HasAny() bool {
this.IsActivityStreamsPerson() || this.IsActivityStreamsPerson() ||
this.IsActivityStreamsPlace() || this.IsActivityStreamsPlace() ||
this.IsActivityStreamsProfile() || this.IsActivityStreamsProfile() ||
this.IsSchemaPropertyValue() ||
this.IsForgeFedPush() || this.IsForgeFedPush() ||
this.IsActivityStreamsQuestion() || this.IsActivityStreamsQuestion() ||
this.IsActivityStreamsRead() || this.IsActivityStreamsRead() ||
@ -1616,6 +1634,13 @@ func (this ActivityStreamsLocationPropertyIterator) IsIRI() bool {
return this.iri != nil return this.iri != nil
} }
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
func (this ActivityStreamsLocationPropertyIterator) IsSchemaPropertyValue() bool {
return this.schemaPropertyValueMember != nil
}
// IsTootEmoji returns true if this property has a type of "Emoji". When true, use // IsTootEmoji returns true if this property has a type of "Emoji". When true, use
// the GetTootEmoji and SetTootEmoji methods to access and set this property. // the GetTootEmoji and SetTootEmoji methods to access and set this property.
func (this ActivityStreamsLocationPropertyIterator) IsTootEmoji() bool { func (this ActivityStreamsLocationPropertyIterator) IsTootEmoji() bool {
@ -1723,6 +1748,8 @@ func (this ActivityStreamsLocationPropertyIterator) JSONLDContext() map[string]s
child = this.GetActivityStreamsPlace().JSONLDContext() child = this.GetActivityStreamsPlace().JSONLDContext()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
child = this.GetActivityStreamsProfile().JSONLDContext() child = this.GetActivityStreamsProfile().JSONLDContext()
} else if this.IsSchemaPropertyValue() {
child = this.GetSchemaPropertyValue().JSONLDContext()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
child = this.GetForgeFedPush().JSONLDContext() child = this.GetForgeFedPush().JSONLDContext()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -1907,60 +1934,63 @@ func (this ActivityStreamsLocationPropertyIterator) KindIndex() int {
if this.IsActivityStreamsProfile() { if this.IsActivityStreamsProfile() {
return 43 return 43
} }
if this.IsForgeFedPush() { if this.IsSchemaPropertyValue() {
return 44 return 44
} }
if this.IsActivityStreamsQuestion() { if this.IsForgeFedPush() {
return 45 return 45
} }
if this.IsActivityStreamsRead() { if this.IsActivityStreamsQuestion() {
return 46 return 46
} }
if this.IsActivityStreamsReject() { if this.IsActivityStreamsRead() {
return 47 return 47
} }
if this.IsActivityStreamsRelationship() { if this.IsActivityStreamsReject() {
return 48 return 48
} }
if this.IsActivityStreamsRemove() { if this.IsActivityStreamsRelationship() {
return 49 return 49
} }
if this.IsForgeFedRepository() { if this.IsActivityStreamsRemove() {
return 50 return 50
} }
if this.IsActivityStreamsService() { if this.IsForgeFedRepository() {
return 51 return 51
} }
if this.IsActivityStreamsTentativeAccept() { if this.IsActivityStreamsService() {
return 52 return 52
} }
if this.IsActivityStreamsTentativeReject() { if this.IsActivityStreamsTentativeAccept() {
return 53 return 53
} }
if this.IsForgeFedTicket() { if this.IsActivityStreamsTentativeReject() {
return 54 return 54
} }
if this.IsForgeFedTicketDependency() { if this.IsForgeFedTicket() {
return 55 return 55
} }
if this.IsActivityStreamsTombstone() { if this.IsForgeFedTicketDependency() {
return 56 return 56
} }
if this.IsActivityStreamsTravel() { if this.IsActivityStreamsTombstone() {
return 57 return 57
} }
if this.IsActivityStreamsUndo() { if this.IsActivityStreamsTravel() {
return 58 return 58
} }
if this.IsActivityStreamsUpdate() { if this.IsActivityStreamsUndo() {
return 59 return 59
} }
if this.IsActivityStreamsVideo() { if this.IsActivityStreamsUpdate() {
return 60 return 60
} }
if this.IsActivityStreamsView() { if this.IsActivityStreamsVideo() {
return 61 return 61
} }
if this.IsActivityStreamsView() {
return 62
}
if this.IsIRI() { if this.IsIRI() {
return -2 return -2
} }
@ -2066,6 +2096,8 @@ func (this ActivityStreamsLocationPropertyIterator) LessThan(o vocab.ActivityStr
return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace())
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile())
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().LessThan(o.GetSchemaPropertyValue())
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) return this.GetForgeFedPush().LessThan(o.GetForgeFedPush())
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -2561,6 +2593,13 @@ func (this *ActivityStreamsLocationPropertyIterator) SetIRI(v *url.URL) {
this.iri = v this.iri = v
} }
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsLocationPropertyIterator) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.clear()
this.schemaPropertyValueMember = v
}
// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards // SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards
// returns true. // returns true.
func (this *ActivityStreamsLocationPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsLocationPropertyIterator) SetTootEmoji(v vocab.TootEmoji) {
@ -2754,6 +2793,10 @@ func (this *ActivityStreamsLocationPropertyIterator) SetType(t vocab.Type) error
this.SetActivityStreamsProfile(v) this.SetActivityStreamsProfile(v)
return nil return nil
} }
if v, ok := t.(vocab.SchemaPropertyValue); ok {
this.SetSchemaPropertyValue(v)
return nil
}
if v, ok := t.(vocab.ForgeFedPush); ok { if v, ok := t.(vocab.ForgeFedPush); ok {
this.SetForgeFedPush(v) this.SetForgeFedPush(v)
return nil return nil
@ -2877,6 +2920,7 @@ func (this *ActivityStreamsLocationPropertyIterator) clear() {
this.activitystreamsPersonMember = nil this.activitystreamsPersonMember = nil
this.activitystreamsPlaceMember = nil this.activitystreamsPlaceMember = nil
this.activitystreamsProfileMember = nil this.activitystreamsProfileMember = nil
this.schemaPropertyValueMember = nil
this.forgefedPushMember = nil this.forgefedPushMember = nil
this.activitystreamsQuestionMember = nil this.activitystreamsQuestionMember = nil
this.activitystreamsReadMember = nil this.activitystreamsReadMember = nil
@ -2992,6 +3036,8 @@ func (this ActivityStreamsLocationPropertyIterator) serialize() (interface{}, er
return this.GetActivityStreamsPlace().Serialize() return this.GetActivityStreamsPlace().Serialize()
} else if this.IsActivityStreamsProfile() { } else if this.IsActivityStreamsProfile() {
return this.GetActivityStreamsProfile().Serialize() return this.GetActivityStreamsProfile().Serialize()
} else if this.IsSchemaPropertyValue() {
return this.GetSchemaPropertyValue().Serialize()
} else if this.IsForgeFedPush() { } else if this.IsForgeFedPush() {
return this.GetForgeFedPush().Serialize() return this.GetForgeFedPush().Serialize()
} else if this.IsActivityStreamsQuestion() { } else if this.IsActivityStreamsQuestion() {
@ -3781,6 +3827,18 @@ func (this *ActivityStreamsLocationProperty) AppendIRI(v *url.URL) {
}) })
} }
// AppendSchemaPropertyValue appends a PropertyValue value to the back of a list
// of the property "location". Invalidates iterators that are traversing using
// Prev.
func (this *ActivityStreamsLocationProperty) AppendSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{
alias: this.alias,
myIdx: this.Len(),
parent: this,
schemaPropertyValueMember: v,
})
}
// AppendTootEmoji appends a Emoji value to the back of a list of the property // AppendTootEmoji appends a Emoji value to the back of a list of the property
// "location". Invalidates iterators that are traversing using Prev. // "location". Invalidates iterators that are traversing using Prev.
func (this *ActivityStreamsLocationProperty) AppendTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsLocationProperty) AppendTootEmoji(v vocab.TootEmoji) {
@ -4886,6 +4944,23 @@ func (this *ActivityStreamsLocationProperty) InsertIRI(idx int, v *url.URL) {
} }
} }
// InsertSchemaPropertyValue inserts a PropertyValue value at the specified index
// for a property "location". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
func (this *ActivityStreamsLocationProperty) InsertSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
this.properties = append(this.properties, nil)
copy(this.properties[idx+1:], this.properties[idx:])
this.properties[idx] = &ActivityStreamsLocationPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
for i := idx; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// InsertTootEmoji inserts a Emoji value at the specified index for a property // InsertTootEmoji inserts a Emoji value at the specified index for a property
// "location". Existing elements at that index and higher are shifted back // "location". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators. // once. Invalidates all iterators.
@ -5158,74 +5233,78 @@ func (this ActivityStreamsLocationProperty) Less(i, j int) bool {
rhs := this.properties[j].GetActivityStreamsProfile() rhs := this.properties[j].GetActivityStreamsProfile()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 44 { } else if idx1 == 44 {
lhs := this.properties[i].GetSchemaPropertyValue()
rhs := this.properties[j].GetSchemaPropertyValue()
return lhs.LessThan(rhs)
} else if idx1 == 45 {
lhs := this.properties[i].GetForgeFedPush() lhs := this.properties[i].GetForgeFedPush()
rhs := this.properties[j].GetForgeFedPush() rhs := this.properties[j].GetForgeFedPush()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 45 { } else if idx1 == 46 {
lhs := this.properties[i].GetActivityStreamsQuestion() lhs := this.properties[i].GetActivityStreamsQuestion()
rhs := this.properties[j].GetActivityStreamsQuestion() rhs := this.properties[j].GetActivityStreamsQuestion()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 46 { } else if idx1 == 47 {
lhs := this.properties[i].GetActivityStreamsRead() lhs := this.properties[i].GetActivityStreamsRead()
rhs := this.properties[j].GetActivityStreamsRead() rhs := this.properties[j].GetActivityStreamsRead()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 47 { } else if idx1 == 48 {
lhs := this.properties[i].GetActivityStreamsReject() lhs := this.properties[i].GetActivityStreamsReject()
rhs := this.properties[j].GetActivityStreamsReject() rhs := this.properties[j].GetActivityStreamsReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 48 { } else if idx1 == 49 {
lhs := this.properties[i].GetActivityStreamsRelationship() lhs := this.properties[i].GetActivityStreamsRelationship()
rhs := this.properties[j].GetActivityStreamsRelationship() rhs := this.properties[j].GetActivityStreamsRelationship()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 49 { } else if idx1 == 50 {
lhs := this.properties[i].GetActivityStreamsRemove() lhs := this.properties[i].GetActivityStreamsRemove()
rhs := this.properties[j].GetActivityStreamsRemove() rhs := this.properties[j].GetActivityStreamsRemove()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 50 { } else if idx1 == 51 {
lhs := this.properties[i].GetForgeFedRepository() lhs := this.properties[i].GetForgeFedRepository()
rhs := this.properties[j].GetForgeFedRepository() rhs := this.properties[j].GetForgeFedRepository()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 51 { } else if idx1 == 52 {
lhs := this.properties[i].GetActivityStreamsService() lhs := this.properties[i].GetActivityStreamsService()
rhs := this.properties[j].GetActivityStreamsService() rhs := this.properties[j].GetActivityStreamsService()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 52 { } else if idx1 == 53 {
lhs := this.properties[i].GetActivityStreamsTentativeAccept() lhs := this.properties[i].GetActivityStreamsTentativeAccept()
rhs := this.properties[j].GetActivityStreamsTentativeAccept() rhs := this.properties[j].GetActivityStreamsTentativeAccept()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 53 { } else if idx1 == 54 {
lhs := this.properties[i].GetActivityStreamsTentativeReject() lhs := this.properties[i].GetActivityStreamsTentativeReject()
rhs := this.properties[j].GetActivityStreamsTentativeReject() rhs := this.properties[j].GetActivityStreamsTentativeReject()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 54 { } else if idx1 == 55 {
lhs := this.properties[i].GetForgeFedTicket() lhs := this.properties[i].GetForgeFedTicket()
rhs := this.properties[j].GetForgeFedTicket() rhs := this.properties[j].GetForgeFedTicket()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 55 { } else if idx1 == 56 {
lhs := this.properties[i].GetForgeFedTicketDependency() lhs := this.properties[i].GetForgeFedTicketDependency()
rhs := this.properties[j].GetForgeFedTicketDependency() rhs := this.properties[j].GetForgeFedTicketDependency()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 56 { } else if idx1 == 57 {
lhs := this.properties[i].GetActivityStreamsTombstone() lhs := this.properties[i].GetActivityStreamsTombstone()
rhs := this.properties[j].GetActivityStreamsTombstone() rhs := this.properties[j].GetActivityStreamsTombstone()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 57 { } else if idx1 == 58 {
lhs := this.properties[i].GetActivityStreamsTravel() lhs := this.properties[i].GetActivityStreamsTravel()
rhs := this.properties[j].GetActivityStreamsTravel() rhs := this.properties[j].GetActivityStreamsTravel()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 58 { } else if idx1 == 59 {
lhs := this.properties[i].GetActivityStreamsUndo() lhs := this.properties[i].GetActivityStreamsUndo()
rhs := this.properties[j].GetActivityStreamsUndo() rhs := this.properties[j].GetActivityStreamsUndo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 59 { } else if idx1 == 60 {
lhs := this.properties[i].GetActivityStreamsUpdate() lhs := this.properties[i].GetActivityStreamsUpdate()
rhs := this.properties[j].GetActivityStreamsUpdate() rhs := this.properties[j].GetActivityStreamsUpdate()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 60 { } else if idx1 == 61 {
lhs := this.properties[i].GetActivityStreamsVideo() lhs := this.properties[i].GetActivityStreamsVideo()
rhs := this.properties[j].GetActivityStreamsVideo() rhs := this.properties[j].GetActivityStreamsVideo()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
} else if idx1 == 61 { } else if idx1 == 62 {
lhs := this.properties[i].GetActivityStreamsView() lhs := this.properties[i].GetActivityStreamsView()
rhs := this.properties[j].GetActivityStreamsView() rhs := this.properties[j].GetActivityStreamsView()
return lhs.LessThan(rhs) return lhs.LessThan(rhs)
@ -6124,6 +6203,20 @@ func (this *ActivityStreamsLocationProperty) PrependIRI(v *url.URL) {
} }
} }
// PrependSchemaPropertyValue prepends a PropertyValue value to the front of a
// list of the property "location". Invalidates all iterators.
func (this *ActivityStreamsLocationProperty) PrependSchemaPropertyValue(v vocab.SchemaPropertyValue) {
this.properties = append([]*ActivityStreamsLocationPropertyIterator{{
alias: this.alias,
myIdx: 0,
parent: this,
schemaPropertyValueMember: v,
}}, this.properties...)
for i := 1; i < this.Len(); i++ {
(this.properties)[i].myIdx = i
}
}
// PrependTootEmoji prepends a Emoji value to the front of a list of the property // PrependTootEmoji prepends a Emoji value to the front of a list of the property
// "location". Invalidates all iterators. // "location". Invalidates all iterators.
func (this *ActivityStreamsLocationProperty) PrependTootEmoji(v vocab.TootEmoji) { func (this *ActivityStreamsLocationProperty) PrependTootEmoji(v vocab.TootEmoji) {
@ -6995,6 +7088,19 @@ func (this *ActivityStreamsLocationProperty) SetIRI(idx int, v *url.URL) {
} }
} }
// SetSchemaPropertyValue sets a PropertyValue value to be at the specified index
// for the property "location". Panics if the index is out of bounds.
// Invalidates all iterators.
func (this *ActivityStreamsLocationProperty) SetSchemaPropertyValue(idx int, v vocab.SchemaPropertyValue) {
(this.properties)[idx].parent = nil
(this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{
alias: this.alias,
myIdx: idx,
parent: this,
schemaPropertyValueMember: v,
}
}
// SetTootEmoji sets a Emoji value to be at the specified index for the property // SetTootEmoji sets a Emoji value to be at the specified index for the property
// "location". Panics if the index is out of bounds. Invalidates all iterators. // "location". Panics if the index is out of bounds. Invalidates all iterators.
func (this *ActivityStreamsLocationProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { func (this *ActivityStreamsLocationProperty) SetTootEmoji(idx int, v vocab.TootEmoji) {

Some files were not shown because too many files have changed in this diff Show more