diff --git a/compose/service/service.go b/compose/service/service.go index 14a7316e1..bed1bfdd7 100644 --- a/compose/service/service.go +++ b/compose/service/service.go @@ -13,6 +13,7 @@ import ( "github.com/cortezaproject/corteza-server/pkg/cli/options" "github.com/cortezaproject/corteza-server/pkg/permissions" "github.com/cortezaproject/corteza-server/pkg/store" + "github.com/cortezaproject/corteza-server/pkg/store/plain" systemProto "github.com/cortezaproject/corteza-server/system/proto" ) @@ -77,7 +78,7 @@ func Init(ctx context.Context, log *zap.Logger, c Config) (err error) { DefaultLogger = log.Named("service") if DefaultStore == nil { - DefaultStore, err = store.New(c.Storage.Path) + DefaultStore, err = plain.New(c.Storage.Path) log.Info("initializing store", zap.String("path", c.Storage.Path), zap.Error(err)) if err != nil { return err diff --git a/messaging/service/service.go b/messaging/service/service.go index 41ad6d297..dca096e70 100644 --- a/messaging/service/service.go +++ b/messaging/service/service.go @@ -11,6 +11,7 @@ import ( "github.com/cortezaproject/corteza-server/pkg/http" "github.com/cortezaproject/corteza-server/pkg/permissions" "github.com/cortezaproject/corteza-server/pkg/store" + "github.com/cortezaproject/corteza-server/pkg/store/plain" ) type ( @@ -48,7 +49,7 @@ func Init(ctx context.Context, log *zap.Logger, c Config) (err error) { DefaultLogger = log.Named("service") if DefaultStore == nil { - DefaultStore, err = store.New(c.Storage.Path) + DefaultStore, err = plain.New(c.Storage.Path) log.Info("initializing store", zap.String("path", c.Storage.Path), zap.Error(err)) if err != nil { return err diff --git a/pkg/store/interfaces.go b/pkg/store/interfaces.go new file mode 100644 index 000000000..05b72ce50 --- /dev/null +++ b/pkg/store/interfaces.go @@ -0,0 +1,22 @@ +package store + +import ( + "io" +) + +type Store interface { + // Original returns URL to the original file + Original(id uint64, ext string) string + + // Preview returns URL to the preview (of the original) file + Preview(id uint64, ext string) string + + // Save stores the file + Save(filename string, f io.Reader) error + + // Remove deletes the file + Remove(filename string) error + + // Open returns file handle + Open(filename string) (io.ReadSeeker, error) +} diff --git a/pkg/store/store.go b/pkg/store/plain/store.go similarity index 83% rename from pkg/store/store.go rename to pkg/store/plain/store.go index 4f0f08e9e..161f91831 100644 --- a/pkg/store/store.go +++ b/pkg/store/plain/store.go @@ -1,4 +1,4 @@ -package store +package plain import ( "fmt" @@ -18,17 +18,6 @@ type ( originalFn func(id uint64, ext string) string previewFn func(id uint64, ext string) string } - - Store interface { - Namespace() string - - Original(id uint64, ext string) string - Preview(id uint64, ext string) string - - Save(filename string, contents io.Reader) error - Remove(filename string) error - Open(filename string) (afero.File, error) - } ) var ( @@ -55,10 +44,6 @@ func NewWithAfero(fs afero.Fs, namespace string) (*store, error) { }, nil } -func (s *store) Namespace() string { - return s.namespace -} - func (s *store) check(filename string) error { if len(filename) == 0 { return errors.Errorf("Invalid filename when trying to store file: '%s' (for %s)", filename, s.namespace) @@ -103,7 +88,7 @@ func (s *store) Remove(filename string) error { return s.fs.Remove(filename) } -func (s *store) Open(filename string) (afero.File, error) { +func (s *store) Open(filename string) (io.ReadSeeker, error) { // check filename for validity if err := s.check(filename); err != nil { return nil, err diff --git a/pkg/store/store_test.go b/pkg/store/plain/store_test.go similarity index 94% rename from pkg/store/store_test.go rename to pkg/store/plain/store_test.go index bec75f635..60b03ae27 100644 --- a/pkg/store/store_test.go +++ b/pkg/store/plain/store_test.go @@ -1,4 +1,4 @@ -package store +package plain import ( "bytes" @@ -20,7 +20,6 @@ func TestStore(t *testing.T) { require.True(t, err == nil, "Unexpected error when creating store: %+v", err) require.True(t, store != nil, "Expected non-nil return for new store") - require.True(t, store.Namespace() == "test", "Unexpected store namespace: test != %s", store.Namespace()) { fn := store.Original(123, "jpg") diff --git a/tests/compose/main_test.go b/tests/compose/main_test.go index 7cc6104ef..fc000b9bf 100644 --- a/tests/compose/main_test.go +++ b/tests/compose/main_test.go @@ -25,7 +25,7 @@ import ( "github.com/cortezaproject/corteza-server/pkg/logger" "github.com/cortezaproject/corteza-server/pkg/permissions" "github.com/cortezaproject/corteza-server/pkg/rand" - "github.com/cortezaproject/corteza-server/pkg/store" + "github.com/cortezaproject/corteza-server/pkg/store/plain" sysTypes "github.com/cortezaproject/corteza-server/system/types" "github.com/cortezaproject/corteza-server/tests/helpers" ) @@ -87,7 +87,7 @@ func InitConfig() { logger.SetDefault(log) service.DefaultPermissions = p - if service.DefaultStore, err = store.NewWithAfero(afero.NewMemMapFs(), "test"); err != nil { + if service.DefaultStore, err = plain.NewWithAfero(afero.NewMemMapFs(), "test"); err != nil { panic(err) } diff --git a/tests/messaging/main_test.go b/tests/messaging/main_test.go index e14482e64..e04add3d1 100644 --- a/tests/messaging/main_test.go +++ b/tests/messaging/main_test.go @@ -25,7 +25,7 @@ import ( "github.com/cortezaproject/corteza-server/pkg/logger" "github.com/cortezaproject/corteza-server/pkg/permissions" "github.com/cortezaproject/corteza-server/pkg/rand" - "github.com/cortezaproject/corteza-server/pkg/store" + "github.com/cortezaproject/corteza-server/pkg/store/plain" sysTypes "github.com/cortezaproject/corteza-server/system/types" "github.com/cortezaproject/corteza-server/tests/helpers" ) @@ -77,7 +77,7 @@ func InitConfig() { logger.SetDefault(log) service.DefaultPermissions = p - if service.DefaultStore, err = store.NewWithAfero(afero.NewMemMapFs(), "test"); err != nil { + if service.DefaultStore, err = plain.NewWithAfero(afero.NewMemMapFs(), "test"); err != nil { panic(err) }