mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 10:02:24 -05:00
[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>
This commit is contained in:
parent
c9d893fec1
commit
fcb9c0bb8b
35 changed files with 129 additions and 178 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ type ProcessingEmoji struct {
|
|||
*/
|
||||
|
||||
database db.DB
|
||||
storage storage.Driver
|
||||
storage *storage.Driver
|
||||
|
||||
err error // error created during processing, if any
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ type ProcessingMedia struct {
|
|||
*/
|
||||
|
||||
database db.DB
|
||||
storage storage.Driver
|
||||
storage *storage.Driver
|
||||
|
||||
err error // error created during processing, if any
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue