Monorepo for Tangled
Something went wrong. Try again.
1.8 kB · 75 lines
Go
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576package db
import ( "encoding/json" "fmt"
"github.com/bluesky-social/indigo/atproto/syntax" "tangled.org/core/eventstream" "tangled.org/core/notifier" "tangled.org/core/tid")
func (d *DB) InsertEvent(event eventstream.Event, n *notifier.Notifier) error { return eventstream.Insert(d.db, event, n)}
func (d *DB) EmitDIDAssign(n *notifier.Notifier, ownerDid, repoName, repoDid string) error { payload := RepoDIDAssign{ OwnerDid: ownerDid, RepoName: repoName, RepoDid: repoDid, }
eventJson, err := json.Marshal(payload) if err != nil { return fmt.Errorf("marshal didAssign event: %w", err) }
return d.InsertEvent(eventstream.Event{ Rkey: tid.TID(), Nsid: RepoDIDAssignNSID, EventJson: eventJson, }, n)}
func (d *DB) EmitKnotMemberUpdate(n *notifier.Notifier, op AclOp, subject syntax.DID) error { payload := KnotMemberUpdate{ Op: op, Subject: subject.String(), }
eventJson, err := json.Marshal(payload) if err != nil { return fmt.Errorf("marshal memberUpdate event: %w", err) }
return d.InsertEvent(eventstream.Event{ Rkey: tid.TID(), Nsid: KnotMemberUpdateNSID, EventJson: eventJson, }, n)}
func (d *DB) EmitCollaboratorUpdate(n *notifier.Notifier, op AclOp, subject, repoDid syntax.DID) error { payload := RepoCollaboratorUpdate{ Op: op, Subject: subject.String(), Repo: repoDid.String(), }
eventJson, err := json.Marshal(payload) if err != nil { return fmt.Errorf("marshal collaboratorUpdate event: %w", err) }
return d.InsertEvent(eventstream.Event{ Rkey: tid.TID(), Nsid: RepoCollaboratorUpdateNSID, EventJson: eventJson, }, n)}
func (d *DB) GetEvents(cursor int64, limit int) ([]eventstream.Event, error) { return eventstream.List(d.db, cursor, limit)}