Ensure Updated field will be omitted when nil or zero

This commit is contained in:
Matt Baer
2023-10-02 21:30:47 -04:00
parent adbbafe3ee
commit d81124d454
+10 -8
View File
@@ -17,12 +17,12 @@ var Extensions = map[string]string{}
// process of occurring, or may occur in the future. // process of occurring, or may occur in the future.
type Activity struct { type Activity struct {
BaseObject BaseObject
Actor string `json:"actor"` Actor string `json:"actor"`
Published time.Time `json:"published,omitempty"` Published time.Time `json:"published,omitempty"`
Updated time.Time `json:"updated,omitempty"` Updated *time.Time `json:"updated,omitempty"`
To []string `json:"to,omitempty"` To []string `json:"to,omitempty"`
CC []string `json:"cc,omitempty"` CC []string `json:"cc,omitempty"`
Object *Object `json:"object"` Object *Object `json:"object"`
} }
type FollowActivity struct { type FollowActivity struct {
@@ -68,7 +68,9 @@ func NewUpdateActivity(o *Object) *Activity {
Actor: o.AttributedTo, Actor: o.AttributedTo,
Object: o, Object: o,
Published: o.Published, Published: o.Published,
Updated: o.Updated, }
if o.Updated != nil && !o.Updated.IsZero() {
a.Updated = o.Updated
} }
return &a return &a
} }
@@ -109,7 +111,7 @@ func NewFollowActivity(actorIRI, followeeIRI string) *FollowActivity {
type Object struct { type Object struct {
BaseObject BaseObject
Published time.Time `json:"published,omitempty"` Published time.Time `json:"published,omitempty"`
Updated time.Time `json:"updated,omitempty"` Updated *time.Time `json:"updated,omitempty"`
Summary *string `json:"summary,omitempty"` Summary *string `json:"summary,omitempty"`
InReplyTo *string `json:"inReplyTo,omitempty"` InReplyTo *string `json:"inReplyTo,omitempty"`
URL string `json:"url"` URL string `json:"url"`