diff options
Diffstat (limited to 'views')
-rw-r--r-- | views/outbox.go | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/views/outbox.go b/views/outbox.go index 88f88c2..7ea4ace 100644 --- a/views/outbox.go +++ b/views/outbox.go @@ -1,6 +1,8 @@ package views import ( + "net/url" + "git.capotej.com/capotej/communique/models" "git.capotej.com/capotej/communique/urls" "github.com/go-fed/activity/streams" @@ -8,7 +10,7 @@ import ( // RenderOutboxCollection takes a page of ActivityStream objects as JSON strings and concatenates them together to return an // ActivtyStreamsOrderedCollection -func RenderOutboxCollection(name, domain string, page []models.PersisterResult) (map[string]interface{}, error) { +func RenderOutboxCollection(name, domain string, page []models.OutboxItem) (map[string]interface{}, error) { id, err := urls.UrlOutboxPage(name, domain) if err != nil { return nil, err @@ -18,11 +20,12 @@ func RenderOutboxCollection(name, domain string, page []models.PersisterResult) if err != nil { return nil, err } - - result := make(map[string]interface{}) - result["id"] = id.String() - result["partOf"] = partOf.String() - result["orderedItems"] = page + publicUrl, err := url.Parse("https://www.w3.org/ns/activitystreams#Public") + if err != nil { + return nil, err + } + toProp := streams.NewActivityStreamsToProperty() + toProp.AppendIRI(publicUrl) oc := streams.NewActivityStreamsOrderedCollectionPage() @@ -33,6 +36,7 @@ func RenderOutboxCollection(name, domain string, page []models.PersisterResult) partOfProp := streams.NewActivityStreamsPartOfProperty() partOfProp.SetIRI(partOf) oc.SetActivityStreamsPartOf(partOfProp) + oc.SetActivityStreamsTo(toProp) itemsProp := streams.NewActivityStreamsOrderedItemsProperty() @@ -43,8 +47,12 @@ func RenderOutboxCollection(name, domain string, page []models.PersisterResult) note := streams.NewActivityStreamsNote() contentProp := streams.NewActivityStreamsContentProperty() - contentProp.AppendXMLSchemaString(string(v.Value)) + contentProp.AppendXMLSchemaString(string(v.Content)) note.SetActivityStreamsContent(contentProp) + + note.SetActivityStreamsTo(toProp) + // publishedProp := streams.NewActivityStreamsPublishedProperty() + // note.SetActivityStreamsPublished() obj.AppendActivityStreamsNote(note) itemsProp.AppendActivityStreamsCreate(crea) |