Compare commits

..

2 commits

8 changed files with 199 additions and 8 deletions

View file

@ -1,3 +1,8 @@
- v2.0.0:
- Update module name to sync up with host change
- Added parser from base AP object to Mastodon person
- Bug fix:
- ASAlsoKnownAs is now the correct type
- v1.1.0:
- More attributes added:
- Activitystreams#first
@ -11,4 +16,4 @@
- Fedibird#quoteUri
- Bug fixes:
- A few Attributes were returning the wrong struct due to copy paste mistakes
- v1.0.0: Release
- v1.0.0: Release

View file

@ -163,3 +163,8 @@ func PersonFromChain(base goap.BaseApChain) (*Person, error) {
Url: url.Id,
}, nil
}
func (p *Person) ToChain() goap.BaseApChain {
var x goap.BaseApChain = &goap.EmptyBaseObject{}
panic("not implemented") // TODO: Implement me
}

View file

@ -27,6 +27,10 @@ func ParseASActorData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASActorData{FullIdType: *id}, nil
}
func AppendASActorData(base BaseApChain, id string) BaseApChain {
return &ASActorData{FullIdType{base, id}}
}
type ASAlsoKnownAsData struct {
FullIdType
}
@ -47,6 +51,10 @@ func ParseASAlsoKnownAsData(raw map[string]any, next BaseApChain) (BaseApChain,
return &ASAlsoKnownAsData{FullIdType: *id}, nil
}
func AppendASAlsoKnownAsData(base BaseApChain, id string) BaseApChain {
return &ASAlsoKnownAsData{FullIdType{base, id}}
}
type ASAttachmentsData struct {
Next BaseApChain
Attachments []Attachment
@ -96,6 +104,10 @@ func ParseASAttachmentsData(raw map[string]any, next BaseApChain) (BaseApChain,
}, nil
}
func AppendASAttachmentsData(base BaseApChain, attachments ...Attachment) BaseApChain {
return &ASAttachmentsData{base, attachments}
}
type ASAttributedToData struct {
FullIdType
}
@ -116,6 +128,10 @@ func ParseASAttributedToData(raw map[string]any, next BaseApChain) (BaseApChain,
return &ASAttributedToData{FullIdType: *id}, nil
}
func AppendASAttributedToData(base BaseApChain, id string) BaseApChain {
return &ASAttributedToData{FullIdType{base, id}}
}
type ASCCData struct {
Next BaseApChain
Targets []string
@ -167,6 +183,10 @@ func ParseASCCData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil
}
func AppendASCCData(base BaseApChain, targets ...string) BaseApChain {
return &ASCCData{base, targets}
}
// Content is an array of string value types due to some servers including the content in multiple languages or with different metadata attached
type ASContentData struct {
Next BaseApChain
@ -215,6 +235,10 @@ func ParseASContentData(raw map[string]any, next BaseApChain) (BaseApChain, erro
}, nil
}
func AppendASContentData(base BaseApChain, entries ...ValueValue[string]) BaseApChain {
return &ASContentData{base, entries}
}
type ASEndpointsData struct {
Next BaseApChain
Endpoints map[string]string
@ -279,6 +303,10 @@ func ParseASEndpointsData(raw map[string]any, next BaseApChain) (BaseApChain, er
}, nil
}
func AppendASEndpointsData(base BaseApChain, endpoints map[string]string) BaseApChain {
return &ASEndpointsData{base, endpoints}
}
type ASFollowersData struct {
FullIdType
}
@ -299,6 +327,10 @@ func ParseASFollowersData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASFollowersData{FullIdType: *id}, nil
}
func AppendASFollowersData(base BaseApChain, id string) BaseApChain {
return &ASActorData{FullIdType{base, id}}
}
type ASFollowingData struct {
FullIdType
}
@ -319,6 +351,10 @@ func ParseASFollowingData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASFollowingData{FullIdType: *id}, nil
}
func AppendASFollowingData(base BaseApChain, id string) BaseApChain {
return &ASFollowingData{FullIdType{base, id}}
}
type ASHrefData struct {
FullIdType
}
@ -339,6 +375,10 @@ func ParseASHrefData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASHrefData{FullIdType: *id}, nil
}
func AppendASHrefData(base BaseApChain, id string) BaseApChain {
return &ASHrefData{FullIdType{base, id}}
}
type ASIconData struct {
Next BaseApChain
Media Media
@ -379,6 +419,10 @@ func ParseASIconData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}, nil
}
func AppendASIconData(base BaseApChain, media Media) BaseApChain {
return &ASIconData{base, media}
}
type ASImageData struct {
Next BaseApChain
Media Media
@ -423,6 +467,10 @@ func ParseASImageData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}, nil
}
func AppendASImageData(base BaseApChain, media Media) BaseApChain {
return &ASImageData{base, media}
}
type ASMediaTypeData struct {
FullValueType[string]
}
@ -443,6 +491,10 @@ func ParseASMediaTypeData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASMediaTypeData{*tmp}, nil
}
func AppendASMediaTypeData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASMediaTypeData{FullValueType[string]{base, data}}
}
type ASNameData struct {
FullValueType[string]
}
@ -463,6 +515,10 @@ func ParseASNameData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASNameData{*tmp}, nil
}
func AppendASNameData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASNameData{FullValueType[string]{base, data}}
}
type ASOutboxData struct {
FullIdType
}
@ -483,6 +539,10 @@ func ParseASOutboxData(raw map[string]any, next BaseApChain) (BaseApChain, error
return &ASOutboxData{FullIdType: *id}, nil
}
func AppendASOutboxData(base BaseApChain, id string) BaseApChain {
return &ASOutboxData{FullIdType{base, id}}
}
type ASObjectData struct {
Next BaseApChain
// Unparsed objects. Please parse yourself. Go doesn't like the recursion if the parser for this attribute was calling Unmarshal
@ -509,6 +569,10 @@ func ParseASObjectData(raw map[string]any, next BaseApChain) (BaseApChain, error
return &ASObjectData{Next: next, Objects: data}, nil
}
func AppendASObjectData(base BaseApChain, rawObjects []map[string]any) BaseApChain {
return &ASObjectData{base, rawObjects}
}
type ASPreferredNameData struct {
FullValueType[string]
}
@ -529,6 +593,10 @@ func ParseASPreferredNameData(raw map[string]any, next BaseApChain) (BaseApChain
return &ASPreferredNameData{*tmp}, nil
}
func AppendASPreferredNameData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASPreferredNameData{FullValueType[string]{base, data}}
}
type ASPublishedData struct {
Next BaseApChain
Timestamp time.Time
@ -576,6 +644,10 @@ func ParseASPublishedData(raw map[string]any, next BaseApChain) (BaseApChain, er
}, nil
}
func AppendASPublishedData(base BaseApChain, timestamp time.Time) BaseApChain {
return &ASPublishedData{base, timestamp}
}
type ASRestrictedFollowData struct {
FullValueType[bool]
}
@ -596,6 +668,10 @@ func ParseASRestrictedData(raw map[string]any, next BaseApChain) (BaseApChain, e
return &ASRestrictedFollowData{*tmp}, nil
}
func AppendASRestrictedFollowData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &ASRestrictedFollowData{FullValueType[bool]{base, data}}
}
type ASRepliesData struct {
FullIdType
}
@ -616,6 +692,10 @@ func ParseASRepliesData(raw map[string]any, next BaseApChain) (BaseApChain, erro
return &ASRepliesData{FullIdType: *id}, nil
}
func AppendASRepliesData(base BaseApChain, id string) BaseApChain {
return &ASRepliesData{FullIdType{base, id}}
}
type ASSharedInboxData struct {
FullIdType
}
@ -636,6 +716,10 @@ func ParseASSharedInboxData(raw map[string]any, next BaseApChain) (BaseApChain,
return &ASSharedInboxData{FullIdType: *id}, nil
}
func AppendASSharedInboxData(base BaseApChain, id string) BaseApChain {
return &ASSharedInboxData{FullIdType{base, id}}
}
type ASSummaryData struct {
FullValueType[string]
}
@ -656,6 +740,10 @@ func ParseASSummaryData(raw map[string]any, next BaseApChain) (BaseApChain, erro
return &ASSummaryData{*tmp}, nil
}
func AppendASSummaryData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASSummaryData{FullValueType[string]{base, data}}
}
type ASSensitiveData struct {
FullValueType[bool]
}
@ -676,6 +764,10 @@ func ParseASSensitiveData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASSensitiveData{*tmp}, nil
}
func AppendASSensitiveData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &ASSensitiveData{FullValueType[bool]{base, data}}
}
type ASTagData struct {
Next BaseApChain
Tags []Tag
@ -719,6 +811,10 @@ func ParseASTagData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil
}
func AppendASTagData(base BaseApChain, tags []Tag) BaseApChain {
return &ASTagData{base, tags}
}
type ASToData struct {
Next BaseApChain
Targets []string
@ -767,6 +863,10 @@ func ParseASToData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil
}
func AppendASToData(base BaseApChain, targets ...string) BaseApChain {
return &ASToData{base, targets}
}
type ASUrlData struct {
FullIdType
}
@ -787,6 +887,10 @@ func ParseASUrlData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
return &ASUrlData{FullIdType: *id}, nil
}
func AppendASUrlData(base BaseApChain, id string) BaseApChain {
return &ASUrlData{FullIdType{base, id}}
}
type ASUpdatedData struct {
Next BaseApChain
Timestamp time.Time
@ -834,6 +938,10 @@ func ParseASUpdatedData(raw map[string]any, next BaseApChain) (BaseApChain, erro
}, nil
}
func AppendASUpdatedData(base BaseApChain, timestamp time.Time) BaseApChain {
return &ASUpdatedData{base, timestamp}
}
type ASFirstData struct {
Next BaseApChain
// Technically the object is decodable into BaseApChain as well
@ -873,6 +981,10 @@ func ParseASFirstData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}, nil
}
func AppendASFirstData(base BaseApChain, rawObject map[string]any) BaseApChain {
return &ASFirstData{base, rawObject}
}
type ASItemsData struct {
Next BaseApChain
// Items are all AP objects, but can't preparse since Go doesn't like the potential recursion
@ -899,6 +1011,10 @@ func ParseASItemsData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASItemsData{Next: next, Items: data}, nil
}
func AppendASItemsData(base BaseApChain, rawObjects ...map[string]any) BaseApChain {
return &ASItemsData{base, rawObjects}
}
type ASNextData struct {
FullIdType
}
@ -919,6 +1035,10 @@ func ParseASNextData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASNextData{FullIdType: *id}, nil
}
func AppendASNextData(base BaseApChain, id string) BaseApChain {
return &ASNextData{FullIdType{base, id}}
}
type ASPartOfData struct {
FullIdType
}
@ -939,15 +1059,19 @@ func ParseASPartOfData(raw map[string]any, next BaseApChain) (BaseApChain, error
return &ASPartOfData{FullIdType: *id}, nil
}
type ASInReplyTo struct {
func AppendASPartOfData(base BaseApChain, id string) BaseApChain {
return &ASPartOfData{FullIdType{base, id}}
}
type ASInReplyToData struct {
FullIdType
}
func (a *ASInReplyTo) GetSelfOrBase() (BaseApChain, bool) {
func (a *ASInReplyToData) GetSelfOrBase() (BaseApChain, bool) {
return a.Next, true
}
func (a *ASInReplyTo) MarshalToMap() map[string]any {
func (a *ASInReplyToData) MarshalToMap() map[string]any {
return a.MarshalToMapWithName(KEY_ACTIVITYSTREAMS_INREPLYTO)
}
@ -956,7 +1080,11 @@ func ParseASInReplyToData(raw map[string]any, next BaseApChain) (BaseApChain, er
if err != nil {
return nil, err
}
return &ASInReplyTo{*id}, nil
return &ASInReplyToData{*id}, nil
}
func AppendASInReplyToData(base BaseApChain, id string) BaseApChain {
return &ASInReplyToData{FullIdType{base, id}}
}
type ASQuoteUrlData struct {
@ -978,3 +1106,7 @@ func ParseASQuoteUrlData(raw map[string]any, next BaseApChain) (BaseApChain, err
}
return &ASQuoteUrlData{*tmp}, nil
}
func AppendASQuoteUrlData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASQuoteUrlData{FullValueType[string]{base, data}}
}

View file

@ -19,3 +19,7 @@ func ParseFedibirdQuoteUriData(raw map[string]any, next BaseApChain) (BaseApChai
}
return &FedibirdQuoteUriData{*v}, nil
}
func AppendFedibirdQuoteUriData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &FedibirdQuoteUriData{FullValueType[string]{base, data}}
}

View file

@ -32,6 +32,10 @@ func ParseLitepubCapabilitiesData(raw map[string]any, next BaseApChain) (BaseApC
}, nil
}
func AppendLitepubCapabilitiesData(base BaseApChain, rawData ...map[string]any) BaseApChain {
return &LitepubCapabilitiesData{base, rawData}
}
type LitepubOauthRegistrationEndpointData struct {
FullIdType
}
@ -56,3 +60,7 @@ func ParseLitepubOauthRegistrationEndpointData(
}
return &LitepubOauthRegistrationEndpointData{FullIdType: *id}, nil
}
func AppendLitepubOauthRegistrationEndpointsData(base BaseApChain, id string) BaseApChain {
return &LitepubOauthRegistrationEndpointData{FullIdType{base, id}}
}

View file

@ -20,6 +20,10 @@ func ParseMastoDevicesData(raw map[string]any, next BaseApChain) (BaseApChain, e
return &MastoDevicesData{FullIdType: *id}, nil
}
func AppendMastoDevicesData(base BaseApChain, id string) BaseApChain {
return &MastoDevicesData{FullIdType{base, id}}
}
type MastoDiscoverableData struct {
FullValueType[bool]
}
@ -40,6 +44,10 @@ func ParseMastoDiscoverableData(raw map[string]any, next BaseApChain) (BaseApCha
return &MastoDiscoverableData{*tmp}, nil
}
func AppendMastoDiscoverableData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MastoDiscoverableData{FullValueType[bool]{base, data}}
}
type MastoFeaturedData struct {
FullIdType
}
@ -60,6 +68,10 @@ func ParseMastoFeaturedData(raw map[string]any, next BaseApChain) (BaseApChain,
return &MastoFeaturedData{FullIdType: *id}, nil
}
func AppendMastoFeaturedData(base BaseApChain, id string) BaseApChain {
return &MastoFeaturedData{FullIdType{base, id}}
}
type MastoFeaturedTagsData struct {
FullIdType
}
@ -80,6 +92,10 @@ func ParseMastoFeaturedTagsData(raw map[string]any, next BaseApChain) (BaseApCha
return &MastoFeaturedTagsData{FullIdType: *id}, nil
}
func AppendMastoFeaturedTagsData(base BaseApChain, id string) BaseApChain {
return &MastoFeaturedTagsData{FullIdType{base, id}}
}
type MastoIndexableData struct {
FullValueType[bool]
}
@ -100,6 +116,10 @@ func ParseMastoIndexableData(raw map[string]any, next BaseApChain) (BaseApChain,
return &MastoIndexableData{*tmp}, nil
}
func AppendMastoIndexableData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MastoIndexableData{FullValueType[bool]{base, data}}
}
type MastoMemorialData struct {
FullValueType[bool]
}
@ -119,3 +139,7 @@ func ParseMastoMemorialData(raw map[string]any, next BaseApChain) (BaseApChain,
}
return &MastoMemorialData{*tmp}, nil
}
func AppendMastoMemorialData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MastoMemorialData{FullValueType[bool]{base, data}}
}

View file

@ -22,6 +22,10 @@ func ParseMKSummaryData(raw map[string]any, next BaseApChain) (BaseApChain, erro
return &MKSummaryData{*tmp}, nil
}
func AppendMKSummaryData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &MKSummaryData{FullValueType[string]{base, data}}
}
type MKIsCatData struct {
FullValueType[bool]
}
@ -42,6 +46,10 @@ func ParseMKIsCatData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &MKIsCatData{*tmp}, nil
}
func AppendMKIsCatData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MKIsCatData{FullValueType[bool]{base, data}}
}
type FFSpeakAsCatData struct {
FullValueType[bool]
}
@ -62,6 +70,10 @@ func ParseFFSpeakAsCatData(raw map[string]any, next BaseApChain) (BaseApChain, e
return &FFSpeakAsCatData{*tmp}, nil
}
func AppendFFSpeakAsCatData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &FFSpeakAsCatData{FullValueType[bool]{base, data}}
}
type MKQuoteData struct {
FullValueType[string]
}
@ -81,3 +93,7 @@ func ParseMKQuoteData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}
return &MKQuoteData{*tmp}, nil
}
func AppendMKQuoteData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &MKQuoteData{FullValueType[string]{base, data}}
}

View file

@ -2,10 +2,7 @@ package goap
import "time"
// go-sumtype:decl TagSum
type Tag interface {
// TagEmoji | TagMention | TagHashtag
Marshal() map[string]any
sealed()
}