diff options
author | 2022-11-24 08:35:46 +0000 | |
---|---|---|
committer | 2022-11-24 09:35:46 +0100 | |
commit | fcb9c0bb8bed51ffb856b8e47f4e047ddd75eb67 (patch) | |
tree | 933c9e1ed2b37e3ca2ee371c0b53f2c1ac561cc5 /internal/media | |
parent | [feature/performance] Fail fast when doing remote transport calls inside inco... (diff) | |
download | gotosocial-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.go | 4 | ||||
-rw-r--r-- | internal/media/manager_test.go | 13 | ||||
-rw-r--r-- | internal/media/media_test.go | 2 | ||||
-rw-r--r-- | internal/media/processingemoji.go | 2 | ||||
-rw-r--r-- | internal/media/processingmedia.go | 2 | ||||
-rw-r--r-- | internal/media/util.go | 2 |
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, >sstorage.Local{KVStore: diskStorage}) + storage := >sstorage.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) } |