Page MenuHomeMusing Studio

No OneTemporary

diff --git a/activitystreams/activity.go b/activitystreams/activity.go
index a94de75..dd73581 100644
--- a/activitystreams/activity.go
+++ b/activitystreams/activity.go
@@ -1,72 +1,83 @@
+// Package activitystreams provides all the basic ActivityStreams
+// implementation needed for Write.as.
package activitystreams
import (
"time"
)
const (
Namespace = "https://www.w3.org/ns/activitystreams"
toPublic = "https://www.w3.org/ns/activitystreams#Public"
)
+// Activity describes actions that have either already occurred, are in the
+// process of occurring, or may occur in the future.
type Activity struct {
BaseObject
Actor string `json:"actor"`
Published time.Time `json:"published,omitempty"`
To []string `json:"to,omitempty"`
CC []string `json:"cc,omitempty"`
Object *Object `json:"object"`
}
+// NewCreateActivity builds a basic Create activity that includes the given
+// Object and the Object's AttributedTo property as the Actor.
func NewCreateActivity(o *Object) *Activity {
a := Activity{
BaseObject: BaseObject{
Context: []interface{}{
Namespace,
},
ID: o.ID + "/activity",
Type: "Create",
},
Actor: o.AttributedTo,
Object: o,
}
return &a
}
+// Object is the primary base type for the Activity Streams vocabulary.
type Object struct {
BaseObject
Published time.Time `json:"published"`
Summary *string `json:"summary,omitempty"`
InReplyTo *string `json:"inReplyTo"`
URL string `json:"url"`
AttributedTo string `json:"attributedTo"`
To []string `json:"to"`
CC []string `json:"cc,omitempty"`
Name string `json:"name,omitempty"`
Content string `json:"content"`
ContentMap map[string]string `json:"contentMap,omitempty"`
}
+// NewNoteObject creates a basic Note object that includes the public
+// namespace in IRIs it's addressed to.
func NewNoteObject() *Object {
o := Object{
BaseObject: BaseObject{
Type: "Note",
},
To: []string{
toPublic,
},
}
return &o
}
+// NewArticleObject creates a basic Article object that includes the public
+// namespace in IRIs it's addressed to.
func NewArticleObject() *Object {
o := Object{
BaseObject: BaseObject{
Type: "Article",
},
To: []string{
toPublic,
},
}
return &o
}

File Metadata

Mime Type
text/x-diff
Expires
Wed, Jul 29, 4:46 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3785051

Event Timeline