summaryrefslogtreecommitdiff
path: root/internal/db/media.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2023-03-03 23:02:23 +0000
committerLibravatar GitHub <noreply@github.com>2023-03-03 23:02:23 +0000
commita8e6bdfa33f3232ebc8f241b9c90e4da9191a627 (patch)
tree087eca372fb13093f39837683682ca9e11b96188 /internal/db/media.go
parent[bugfix] Federate status delete using just the URI (#1584) (diff)
downloadgotosocial-a8e6bdfa33f3232ebc8f241b9c90e4da9191a627.tar.xz
[performance] cache media attachments (#1525)
* replace concurrency worker pools with base models in State.Workers, update code and tests accordingly * add media attachment caching, slightly tweak default cache config * further tweak default cache config values * replace other media attachment db calls to go through cache * update envparsing test * fix delete media attachment sql * fix media sql query * invalidate cached media entries during status create / update * fix envparsing test * fix typo in panic log message... * add 'updated_at' column during UpdateAttachment * remove unused func --------- Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/db/media.go')
-rw-r--r--internal/db/media.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/internal/db/media.go b/internal/db/media.go
index 3756bd58f..131d0ab08 100644
--- a/internal/db/media.go
+++ b/internal/db/media.go
@@ -27,9 +27,18 @@ import (
// Media contains functions related to creating/getting/removing media attachments.
type Media interface {
- // GetAttachmentByID gets a single attachment by its ID
+ // GetAttachmentByID gets a single attachment by its ID.
GetAttachmentByID(ctx context.Context, id string) (*gtsmodel.MediaAttachment, Error)
+ // PutAttachment inserts the given attachment into the database.
+ PutAttachment(ctx context.Context, media *gtsmodel.MediaAttachment) error
+
+ // UpdateAttachment will update the given attachment in the database.
+ UpdateAttachment(ctx context.Context, media *gtsmodel.MediaAttachment, columns ...string) error
+
+ // DeleteAttachment deletes the attachment with given ID from the database.
+ DeleteAttachment(ctx context.Context, id string) error
+
// GetRemoteOlderThan gets limit n remote media attachments (including avatars and headers) older than the given
// olderThan time. These will be returned in order of attachment.created_at descending (newest to oldest in other words).
//