summaryrefslogtreecommitdiff
path: root/internal/media
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2022-11-24 08:35:46 +0000
committerLibravatar GitHub <noreply@github.com>2022-11-24 09:35:46 +0100
commitfcb9c0bb8bed51ffb856b8e47f4e047ddd75eb67 (patch)
tree933c9e1ed2b37e3ca2ee371c0b53f2c1ac561cc5 /internal/media
parent[feature/performance] Fail fast when doing remote transport calls inside inco... (diff)
downloadgotosocial-fcb9c0bb8bed51ffb856b8e47f4e047ddd75eb67.tar.xz
[chore] cleanup storage implementation, no need for multiple interface types (#1131)
Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/media')
-rw-r--r--internal/media/manager.go4
-rw-r--r--internal/media/manager_test.go13
-rw-r--r--internal/media/media_test.go2
-rw-r--r--internal/media/processingemoji.go2
-rw-r--r--internal/media/processingmedia.go2
-rw-r--r--internal/media/util.go2
6 files changed, 15 insertions, 10 deletions
diff --git a/internal/media/manager.go b/internal/media/manager.go
index 62998156e..d04f161d4 100644
--- a/internal/media/manager.go
+++ b/internal/media/manager.go
@@ -100,7 +100,7 @@ type Manager interface {
type manager struct {
db db.DB
- storage storage.Driver
+ storage *storage.Driver
emojiWorker *concurrency.WorkerPool[*ProcessingEmoji]
mediaWorker *concurrency.WorkerPool[*ProcessingMedia]
stopCronJobs func() error
@@ -112,7 +112,7 @@ type manager struct {
// a limited number of media will be processed in parallel. The numbers of workers
// is determined from the $GOMAXPROCS environment variable (usually no. CPU cores).
// See internal/concurrency.NewWorkerPool() documentation for further information.
-func NewManager(database db.DB, storage storage.Driver) (Manager, error) {
+func NewManager(database db.DB, storage *storage.Driver) (Manager, error) {
m := &manager{
db: database,
storage: storage,
diff --git a/internal/media/manager_test.go b/internal/media/manager_test.go
index 3955c1b63..659740af6 100644
--- a/internal/media/manager_test.go
+++ b/internal/media/manager_test.go
@@ -927,14 +927,19 @@ func (suite *ManagerTestSuite) TestSimpleJpegProcessBlockingWithDiskStorage() {
temp := fmt.Sprintf("%s/gotosocial-test", os.TempDir())
defer os.RemoveAll(temp)
- diskStorage, err := kv.OpenDisk(temp, &storage.DiskConfig{
+ disk, err := storage.OpenDisk(temp, &storage.DiskConfig{
LockFile: path.Join(temp, "store.lock"),
})
if err != nil {
panic(err)
}
- diskManager, err := media.NewManager(suite.db, &gtsstorage.Local{KVStore: diskStorage})
+ storage := &gtsstorage.Driver{
+ KVStore: kv.New(disk),
+ Storage: disk,
+ }
+
+ diskManager, err := media.NewManager(suite.db, storage)
if err != nil {
panic(err)
}
@@ -974,7 +979,7 @@ func (suite *ManagerTestSuite) TestSimpleJpegProcessBlockingWithDiskStorage() {
suite.NotNil(dbAttachment)
// make sure the processed file is in storage
- processedFullBytes, err := diskStorage.Get(ctx, attachment.File.Path)
+ processedFullBytes, err := storage.Get(ctx, attachment.File.Path)
suite.NoError(err)
suite.NotEmpty(processedFullBytes)
@@ -987,7 +992,7 @@ func (suite *ManagerTestSuite) TestSimpleJpegProcessBlockingWithDiskStorage() {
suite.Equal(processedFullBytesExpected, processedFullBytes)
// now do the same for the thumbnail and make sure it's what we expected
- processedThumbnailBytes, err := diskStorage.Get(ctx, attachment.Thumbnail.Path)
+ processedThumbnailBytes, err := storage.Get(ctx, attachment.Thumbnail.Path)
suite.NoError(err)
suite.NotEmpty(processedThumbnailBytes)
diff --git a/internal/media/media_test.go b/internal/media/media_test.go
index e2c3914a3..435994073 100644
--- a/internal/media/media_test.go
+++ b/internal/media/media_test.go
@@ -31,7 +31,7 @@ type MediaStandardTestSuite struct {
suite.Suite
db db.DB
- storage storage.Driver
+ storage *storage.Driver
manager media.Manager
testAttachments map[string]*gtsmodel.MediaAttachment
testAccounts map[string]*gtsmodel.Account
diff --git a/internal/media/processingemoji.go b/internal/media/processingemoji.go
index 2ae403931..a660ad775 100644
--- a/internal/media/processingemoji.go
+++ b/internal/media/processingemoji.go
@@ -68,7 +68,7 @@ type ProcessingEmoji struct {
*/
database db.DB
- storage storage.Driver
+ storage *storage.Driver
err error // error created during processing, if any
diff --git a/internal/media/processingmedia.go b/internal/media/processingmedia.go
index c724de849..81eef2f84 100644
--- a/internal/media/processingmedia.go
+++ b/internal/media/processingmedia.go
@@ -62,7 +62,7 @@ type ProcessingMedia struct {
*/
database db.DB
- storage storage.Driver
+ storage *storage.Driver
err error // error created during processing, if any
diff --git a/internal/media/util.go b/internal/media/util.go
index 2968ca2f6..316d63dec 100644
--- a/internal/media/util.go
+++ b/internal/media/util.go
@@ -163,7 +163,7 @@ func (r *lengthReader) Read(b []byte) (int, error) {
// putStream either puts a file with a known fileSize into storage directly, and returns the
// fileSize unchanged, or it wraps the reader with a lengthReader and returns the discovered
// fileSize.
-func putStream(ctx context.Context, storage storage.Driver, key string, r io.Reader, fileSize int64) (int64, error) {
+func putStream(ctx context.Context, storage *storage.Driver, key string, r io.Reader, fileSize int64) (int64, error) {
if fileSize > 0 {
return fileSize, storage.PutStream(ctx, key, r)
}