Added DislikeActivityNew convenience func

This commit is contained in:
Marius Orcsik 2018-09-06 21:53:43 +02:00
parent ccfaa7b470
commit e4c5a7ca10
No known key found for this signature in database
GPG key ID: 889CE8E4FB2D877A
2 changed files with 38 additions and 0 deletions

View file

@ -768,6 +768,13 @@ func (l *Like) RecipientsDeduplication() {
recipientsDeduplication(&dedupObjects, &l.To, &l.Bto, &l.CC, &l.BCC)
}
func (d *Dislike) RecipientsDeduplication() {
var dedupObjects ObjectsArr
dedupObjects.Append(d.Actor)
dedupObjects.Append(d.Object)
recipientsDeduplication(&dedupObjects, &d.To, &d.Bto, &d.CC, &d.BCC)
}
// GetType
func (i IntransitiveActivity) GetType() ActivityVocabularyType {
return i.Type

View file

@ -10,6 +10,14 @@ type LikeActivity struct {
CC ObjectsArr `jsonld:"cc,omitempty,collapsible"`
}
// DislikeActivity is the type for a create activity message
type DislikeActivity struct {
Activity *Dislike `jsonld:"activity"`
Published time.Time `jsonld:"published"`
To ObjectsArr `jsonld:"to,omitempty,collapsible"`
CC ObjectsArr `jsonld:"cc,omitempty,collapsible"`
}
func loadActorWithLikedObject(a ObjectOrLink, o ObjectOrLink) ObjectOrLink {
typ := a.GetType()
switch typ {
@ -83,6 +91,29 @@ func LikeActivityNew(id ObjectID, a ObjectOrLink, o ObjectOrLink) LikeActivity {
return c
}
// DislikeActivityNew initializes a new LikeActivity message
func DislikeActivityNew(id ObjectID, a ObjectOrLink, o ObjectOrLink) DislikeActivity {
act := DislikeNew(id, o)
if a != nil {
if a.IsObject() {
act.Actor = loadActorWithLikedObject(a, o)
}
if a.IsLink() {
act.Actor = a
}
}
act.RecipientsDeduplication()
d := DislikeActivity{
Activity: act,
Published: time.Now(),
}
return d
}
// UnmarshalJSON
func (l *Like) UnmarshalJSON(data []byte) error {
a := Activity(*l)