Added DislikeActivityNew convenience func
This commit is contained in:
parent
ccfaa7b470
commit
e4c5a7ca10
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Reference in a new issue