summaryrefslogtreecommitdiff
path: root/internal/federation/federatingdb/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/federation/federatingdb/db.go')
-rw-r--r--internal/federation/federatingdb/db.go29
1 files changed, 19 insertions, 10 deletions
diff --git a/internal/federation/federatingdb/db.go b/internal/federation/federatingdb/db.go
index 230098073..d76e5a42c 100644
--- a/internal/federation/federatingdb/db.go
+++ b/internal/federation/federatingdb/db.go
@@ -24,6 +24,7 @@ import (
"codeberg.org/gruf/go-cache/v3/simple"
"github.com/superseriousbusiness/activity/pub"
"github.com/superseriousbusiness/activity/streams/vocab"
+ "github.com/superseriousbusiness/gotosocial/internal/ap"
"github.com/superseriousbusiness/gotosocial/internal/filter/interaction"
"github.com/superseriousbusiness/gotosocial/internal/filter/spam"
"github.com/superseriousbusiness/gotosocial/internal/filter/visibility"
@@ -34,18 +35,20 @@ import (
// DB wraps the pub.Database interface with
// a couple of custom functions for GoToSocial.
type DB interface {
- // Default functionality.
+ // Default
+ // functionality.
pub.Database
- /*
- Overridden functionality for calling from federatingProtocol.
- */
-
- Undo(ctx context.Context, undo vocab.ActivityStreamsUndo) error
- Accept(ctx context.Context, accept vocab.ActivityStreamsAccept) error
- Reject(ctx context.Context, reject vocab.ActivityStreamsReject) error
- Announce(ctx context.Context, announce vocab.ActivityStreamsAnnounce) error
- Move(ctx context.Context, move vocab.ActivityStreamsMove) error
+ // Federating protocol overridden callback functionality.
+ Like(context.Context, vocab.ActivityStreamsLike) error
+ Block(context.Context, vocab.ActivityStreamsBlock) error
+ Follow(context.Context, vocab.ActivityStreamsFollow) error
+ Undo(context.Context, vocab.ActivityStreamsUndo) error
+ Accept(context.Context, vocab.ActivityStreamsAccept) error
+ Reject(context.Context, vocab.ActivityStreamsReject) error
+ Announce(context.Context, vocab.ActivityStreamsAnnounce) error
+ Move(context.Context, vocab.ActivityStreamsMove) error
+ Flag(context.Context, vocab.ActivityStreamsFlag) error
/*
Extra/convenience functionality.
@@ -87,3 +90,9 @@ func New(
fdb.activityIDs.Init(0, 2048)
return &fdb
}
+
+// storeActivityID stores an entry in the .activityIDs cache for this
+// type's JSON-LD ID, for later checks in Exist() to mark it as seen.
+func (f *federatingDB) storeActivityID(asType vocab.Type) {
+ f.activityIDs.Set(ap.GetJSONLDId(asType).String(), struct{}{})
+}