aboutsummaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorJulio Capote <jcapote@gmail.com>2022-12-29 20:08:16 +0000
committerJulio Capote <jcapote@gmail.com>2022-12-29 20:08:16 +0000
commita4288b06bf13210721c8f2fae64bc12c118f9041 (patch)
tree49808a68d61aa450c6625477e468968fd3198ded /resources
parent5a990719a02f4fd33817a2188be17b3b50498b49 (diff)
downloadcommunique-a4288b06bf13210721c8f2fae64bc12c118f9041.tar.gz
refactor
Diffstat (limited to 'resources')
-rw-r--r--resources/outbox.go111
-rw-r--r--resources/profile.go21
-rw-r--r--resources/webfinger.go32
3 files changed, 0 insertions, 164 deletions
diff --git a/resources/outbox.go b/resources/outbox.go
deleted file mode 100644
index e7004c4..0000000
--- a/resources/outbox.go
+++ /dev/null
@@ -1,111 +0,0 @@
-package resources
-
-import (
- "git.capotej.com/capotej/communique/urls"
- "github.com/dgraph-io/badger/v3"
- "github.com/go-fed/activity/streams"
-)
-
-func RenderOutboxPage(name, domain string, db *badger.DB) (map[string]interface{}, error) {
- id, err := urls.UrlOutboxPage(name, domain)
- if err != nil {
- return nil, err
- }
-
- partOf, err := urls.UrlOutbox(name, domain)
- if err != nil {
- return nil, err
- }
-
- oc := streams.NewActivityStreamsOrderedCollectionPage()
-
- idProp := streams.NewJSONLDIdProperty()
- idProp.Set(id)
- oc.SetJSONLDId(idProp)
-
- partOfProp := streams.NewActivityStreamsPartOfProperty()
- partOfProp.SetIRI(partOf)
- oc.SetActivityStreamsPartOf(partOfProp)
-
- itemsProp := streams.NewActivityStreamsOrderedItemsProperty()
-
- err = db.View(func(txn *badger.Txn) error {
- opts := badger.DefaultIteratorOptions
- opts.PrefetchValues = false
- it := txn.NewIterator(opts)
- defer it.Close()
- prefix := []byte("outbox:sample") // TODO
- for it.Seek(prefix); it.ValidForPrefix(prefix); it.Next() {
- item := it.Item()
- err := item.Value(func(v []byte) error {
- crea := streams.NewActivityStreamsCreate()
- obj := streams.NewActivityStreamsObjectProperty()
- crea.SetActivityStreamsObject(obj)
-
- note := streams.NewActivityStreamsNote()
- contentProp := streams.NewActivityStreamsContentProperty()
- contentProp.AppendXMLSchemaString(string(v))
- note.SetActivityStreamsContent(contentProp)
- obj.AppendActivityStreamsNote(note)
-
- itemsProp.AppendActivityStreamsCreate(crea)
- return nil
- })
- if err != nil {
- return err
- }
- }
- return nil
- })
- if err != nil {
- return nil, err
- }
-
- oc.SetActivityStreamsOrderedItems(itemsProp)
- return streams.Serialize(oc)
-}
-
-func RenderOutbox(name, domain string, db *badger.DB) (map[string]interface{}, error) {
- id, err := urls.UrlOutbox(name, domain)
-
- if err != nil {
- return nil, err
- }
-
- first, err := urls.UrlOutboxPage(name, domain)
- if err != nil {
- return nil, err
- }
-
- oc := streams.NewActivityStreamsOrderedCollection()
-
- idProp := streams.NewJSONLDIdProperty()
- idProp.Set(id)
- oc.SetJSONLDId(idProp)
-
- var i int
- // err = db.View(func(txn *badger.Txn) error {
- // opts := badger.DefaultIteratorOptions
- // opts.PrefetchValues = false
- // it := txn.NewIterator(opts)
- // defer it.Close()
- // prefix := []byte("outbox:sample") // TODO
- // for it.Seek(prefix); it.ValidForPrefix(prefix); it.Next() {
- // i++
- // }
- // return nil
- // })
- // if err != nil {
- // return nil, err
- // }
-
- itemsProp := streams.NewActivityStreamsTotalItemsProperty()
- itemsProp.Set(i)
- oc.SetActivityStreamsTotalItems(itemsProp)
-
- ocProp := streams.NewActivityStreamsFirstProperty()
- ocProp.SetIRI(first)
- oc.SetActivityStreamsFirst(ocProp)
-
- return streams.Serialize(oc)
-}
diff --git a/resources/profile.go b/resources/profile.go
deleted file mode 100644
index 971b11c..0000000
--- a/resources/profile.go
+++ /dev/null
@@ -1,21 +0,0 @@
-package resources
-
-import (
- "git.capotej.com/capotej/communique/urls"
- "github.com/go-fed/activity/streams"
-)
-
-func RenderProfile(name, domain string) (map[string]interface{}, error) {
- u, err := urls.UrlInbox(name, domain)
- if err != nil {
- return nil, err
- }
-
- inb := streams.NewActivityStreamsInboxProperty()
- inb.SetIRI(u)
-
- p := streams.NewActivityStreamsService()
- p.SetActivityStreamsInbox(inb)
-
- return streams.Serialize(p)
-}
diff --git a/resources/webfinger.go b/resources/webfinger.go
deleted file mode 100644
index e7c47ea..0000000
--- a/resources/webfinger.go
+++ /dev/null
@@ -1,32 +0,0 @@
-package resources
-
-import (
- "fmt"
- "path"
-)
-
-type Link struct {
- Rel string `json:"rel"`
- Type string `json:"type"`
- Href string `json:"href"`
-}
-
-type WebfingerResource struct {
- Subject string `json:"subject"`
- Aliases []string `json:"aliases"`
- Links []Link `json:"links"`
-}
-
-func RenderWebfingerResource(name, domain string) (*WebfingerResource, error) {
- rs := WebfingerResource{
- // TODO clean up
- Subject: fmt.Sprintf("acct:%s@%s", name, domain),
- Aliases: []string{},
- Links: []Link{{
- Rel: "self",
- Href: path.Join("https://", domain, "actors", name),
- Type: "application/activity+json",
- }},
- }
- return &rs, nil
-}