aboutsummaryrefslogtreecommitdiff
path: root/views/outbox.go
diff options
context:
space:
mode:
authorJulio Capote <jcapote@gmail.com>2022-12-31 03:02:43 +0000
committerJulio Capote <jcapote@gmail.com>2022-12-31 03:02:43 +0000
commit9d870999909d533cc15fbeb8a5a41d7192473a49 (patch)
tree0d3809d8fb3e5217e913c5cc6752789cf1207e69 /views/outbox.go
parentc500a2be38afcbb5688537d97c7c3ee30a57dba4 (diff)
downloadcommunique-9d870999909d533cc15fbeb8a5a41d7192473a49.tar.gz
switch to storing encoded structs
Diffstat (limited to 'views/outbox.go')
-rw-r--r--views/outbox.go22
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)