summaryrefslogtreecommitdiff
path: root/internal/db/statusbookmark.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-06-06 10:44:43 +0000
committerLibravatar GitHub <noreply@github.com>2024-06-06 11:44:43 +0100
commit5dcc954072ca0a27107ed3fdc6806986f61df7d0 (patch)
tree7a6380bf39e99dbcfee4fbe1434697706637d2bc /internal/db/statusbookmark.go
parent[bugfix] Don't nil emojis + fields on blocked accounts (#2968) (diff)
downloadgotosocial-5dcc954072ca0a27107ed3fdc6806986f61df7d0.tar.xz
[feature] do not uncache status / emoji media if attached status is bookmarked (#2956)
* do not uncache status / emoji media if attached status is bookmarked * add status bookmark and bookmark IDs caches * update status bookmark tests * move IsStatusBookmarkedBy() to StatusBookmark{} interface, rely on cache * fix envparsing.sh test
Diffstat (limited to 'internal/db/statusbookmark.go')
-rw-r--r--internal/db/statusbookmark.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/internal/db/statusbookmark.go b/internal/db/statusbookmark.go
index 542e49f17..d16bbcd7c 100644
--- a/internal/db/statusbookmark.go
+++ b/internal/db/statusbookmark.go
@@ -25,11 +25,16 @@ import (
type StatusBookmark interface {
// GetStatusBookmark gets one status bookmark with the given ID.
- GetStatusBookmark(ctx context.Context, id string) (*gtsmodel.StatusBookmark, error)
+ GetStatusBookmarkByID(ctx context.Context, id string) (*gtsmodel.StatusBookmark, error)
- // GetStatusBookmarkID is a shortcut function for returning just the database ID
- // of a status bookmark created by the given accountID, targeting the given statusID.
- GetStatusBookmarkID(ctx context.Context, accountID string, statusID string) (string, error)
+ // GetStatusBookmark fetches a status bookmark by the given account ID on the given status ID, if it exists.
+ GetStatusBookmark(ctx context.Context, accountID string, statusID string) (*gtsmodel.StatusBookmark, error)
+
+ // IsStatusBookmarked returns whether status has been bookmarked by any account.
+ IsStatusBookmarked(ctx context.Context, statusID string) (bool, error)
+
+ // IsStatusBookmarkedBy returns whether status ID is bookmarked by the given account ID.
+ IsStatusBookmarkedBy(ctx context.Context, accountID string, statusID string) (bool, error)
// GetStatusBookmarks retrieves status bookmarks created by the given accountID,
// and using the provided parameters. If limit is < 0 then no limit will be set.
@@ -42,7 +47,7 @@ type StatusBookmark interface {
PutStatusBookmark(ctx context.Context, statusBookmark *gtsmodel.StatusBookmark) error
// DeleteStatusBookmark deletes one status bookmark with the given ID.
- DeleteStatusBookmark(ctx context.Context, id string) error
+ DeleteStatusBookmarkByID(ctx context.Context, id string) error
// DeleteStatusBookmarks mass deletes status bookmarks targeting targetAccountID
// and/or originating from originAccountID and/or bookmarking statusID.