From b3f22c698739bdd57dab77af45a0b8a43da72ca4 Mon Sep 17 00:00:00 2001 From: Julio Capote Date: Sun, 1 Jan 2023 16:48:37 -0500 Subject: working ids and activity lookups --- views/activity.go | 20 ++++++++++++++++++++ views/outbox.go | 17 +++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 views/activity.go (limited to 'views') diff --git a/views/activity.go b/views/activity.go new file mode 100644 index 0000000..cd34b6c --- /dev/null +++ b/views/activity.go @@ -0,0 +1,20 @@ +package views + +import ( + "net/url" + + "git.capotej.com/capotej/communique/models" + "github.com/go-fed/activity/streams" +) + +func RenderActivity(name, domain string, item models.OutboxItem) (map[string]interface{}, error) { + publicUrl, err := url.Parse("https://www.w3.org/ns/activitystreams#Public") + if err != nil { + return nil, err + } + toProp := streams.NewActivityStreamsToProperty() + toProp.AppendIRI(publicUrl) + crea := streams.NewActivityStreamsCreate() + crea.SetActivityStreamsTo(toProp) + return streams.Serialize(crea) +} diff --git a/views/outbox.go b/views/outbox.go index bfe225a..ee28842 100644 --- a/views/outbox.go +++ b/views/outbox.go @@ -44,11 +44,28 @@ func RenderOutboxCollection(name, domain string, page []models.OutboxItem) (map[ publishedProp.Set(v.CreatedAt) crea := streams.NewActivityStreamsCreate() obj := streams.NewActivityStreamsObjectProperty() + + creaIdProp := streams.NewJSONLDIdProperty() + activityUrl, err := urls.UrlActivity(name, domain, string(v.Id)) + if err != nil { + return nil, err + } + creaIdProp.Set(activityUrl) + crea.SetJSONLDId(creaIdProp) + crea.SetActivityStreamsObject(obj) crea.SetActivityStreamsTo(toProp) crea.SetActivityStreamsPublished(publishedProp) + noteUrl, err := urls.UrlNote(name, domain, string(v.Id)) + if err != nil { + return nil, err + } + note := streams.NewActivityStreamsNote() + noteIdProp := streams.NewJSONLDIdProperty() + noteIdProp.Set(noteUrl) + note.SetJSONLDId(noteIdProp) contentProp := streams.NewActivityStreamsContentProperty() contentProp.AppendXMLSchemaString(string(v.Content)) note.SetActivityStreamsContent(contentProp) -- cgit v1.2.3