Monorepo for Tangled
tangled.org
1package db
2
3import (
4 "encoding/json"
5 "fmt"
6
7 "tangled.org/core/eventstream"
8 "tangled.org/core/notifier"
9 "tangled.org/core/tid"
10)
11
12func (d *DB) InsertEvent(event eventstream.Event, n *notifier.Notifier) error {
13 return eventstream.Insert(d.db, event, n)
14}
15
16func (d *DB) EmitDIDAssign(n *notifier.Notifier, ownerDid, repoName, repoDid string) error {
17 payload := RepoDIDAssign{
18 OwnerDid: ownerDid,
19 RepoName: repoName,
20 RepoDid: repoDid,
21 }
22
23 eventJson, err := json.Marshal(payload)
24 if err != nil {
25 return fmt.Errorf("marshal didAssign event: %w", err)
26 }
27
28 return d.InsertEvent(eventstream.Event{
29 Rkey: tid.TID(),
30 Nsid: RepoDIDAssignNSID,
31 EventJson: eventJson,
32 }, n)
33}
34
35func (d *DB) GetEvents(cursor int64, limit int) ([]eventstream.Event, error) {
36 return eventstream.List(d.db, cursor, limit)
37}