From df57a0230feb7e9476634ed8529b527e1614af80 Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Tue, 3 Jan 2023 00:02:33 +0100 Subject: [PATCH] Refactor space storage and add tree root --- client/storage/spacestorage.go | 16 ++ .../tree/objecttree/rawtreevalidator.go | 3 +- .../object/tree/treestorage/inmemory.go | 32 --- .../object/tree/treestorage/provider.go | 23 -- .../object/tree/treestorage/treestorage.go | 17 +- .../mock_treegetter/mock_treegetter.go | 16 -- .../mock_spacestorage.go} | 115 ++------ .../mock_spacestorage/mock_storage.go | 266 ------------------ .../{storage.go => spacestorage.go} | 6 +- node/storage/spacestorage.go | 4 + 10 files changed, 57 insertions(+), 441 deletions(-) delete mode 100644 common/commonspace/object/tree/treestorage/provider.go rename common/commonspace/spacestorage/{mock_storage/mock_storage.go => mock_spacestorage/mock_spacestorage.go} (64%) delete mode 100644 common/commonspace/spacestorage/mock_spacestorage/mock_storage.go rename common/commonspace/spacestorage/{storage.go => spacestorage.go} (82%) diff --git a/client/storage/spacestorage.go b/client/storage/spacestorage.go index 83022299..c2cd581a 100644 --- a/client/storage/spacestorage.go +++ b/client/storage/spacestorage.go @@ -173,6 +173,22 @@ func (s *spaceStorage) TreeDeletedStatus(id string) (status string, err error) { return } +func (s *spaceStorage) TreeRoot(id string) (root *treechangeproto.RawTreeChangeWithId, err error) { + keys := newTreeKeys(s.spaceId, id) + err = s.objDb.View(func(txn *badger.Txn) error { + bytes, err := getTxn(txn, keys.RawChangeKey(id)) + if err != nil { + return err + } + root = &treechangeproto.RawTreeChangeWithId{ + RawChange: bytes, + Id: id, + } + return nil + }) + return +} + func (s *spaceStorage) Close() (err error) { return nil } diff --git a/common/commonspace/object/tree/objecttree/rawtreevalidator.go b/common/commonspace/object/tree/objecttree/rawtreevalidator.go index d2dcebbb..693fa642 100644 --- a/common/commonspace/object/tree/objecttree/rawtreevalidator.go +++ b/common/commonspace/object/tree/objecttree/rawtreevalidator.go @@ -6,8 +6,7 @@ import ( ) func ValidateRawTree(payload treestorage.TreeStorageCreatePayload, aclList list.AclList) (err error) { - provider := treestorage.NewInMemoryTreeStorageProvider() - treeStorage, err := provider.CreateTreeStorage(payload) + treeStorage, err := treestorage.NewInMemoryTreeStorage(payload.RootRawChange, payload.Heads, payload.Changes) if err != nil { return } diff --git a/common/commonspace/object/tree/treestorage/inmemory.go b/common/commonspace/object/tree/treestorage/inmemory.go index f0281b27..dd864683 100644 --- a/common/commonspace/object/tree/treestorage/inmemory.go +++ b/common/commonspace/object/tree/treestorage/inmemory.go @@ -89,35 +89,3 @@ func (t *inMemoryTreeStorage) GetRawChange(ctx context.Context, changeId string) func (t *inMemoryTreeStorage) Delete() error { return nil } - -type inMemoryStorageProvider struct { - objects map[string]TreeStorage - sync.RWMutex -} - -func (i *inMemoryStorageProvider) TreeStorage(id string) (TreeStorage, error) { - i.RLock() - defer i.RUnlock() - if tree, exists := i.objects[id]; exists { - return tree, nil - } - return nil, ErrUnknownTreeId -} - -func (i *inMemoryStorageProvider) CreateTreeStorage(payload TreeStorageCreatePayload) (TreeStorage, error) { - i.Lock() - defer i.Unlock() - res, err := NewInMemoryTreeStorage(payload.RootRawChange, payload.Heads, payload.Changes) - if err != nil { - return nil, err - } - - i.objects[payload.RootRawChange.Id] = res - return res, nil -} - -func NewInMemoryTreeStorageProvider() Provider { - return &inMemoryStorageProvider{ - objects: make(map[string]TreeStorage), - } -} diff --git a/common/commonspace/object/tree/treestorage/provider.go b/common/commonspace/object/tree/treestorage/provider.go deleted file mode 100644 index d1b25d17..00000000 --- a/common/commonspace/object/tree/treestorage/provider.go +++ /dev/null @@ -1,23 +0,0 @@ -package treestorage - -import ( - "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" -) - -var ( - ErrUnknownTreeId = errors.New("tree does not exist") - ErrTreeExists = errors.New("tree already exists") - ErrUnknownChange = errors.New("change doesn't exist") -) - -type TreeStorageCreatePayload struct { - RootRawChange *treechangeproto.RawTreeChangeWithId - Changes []*treechangeproto.RawTreeChangeWithId - Heads []string -} - -type Provider interface { - TreeStorage(id string) (TreeStorage, error) - CreateTreeStorage(payload TreeStorageCreatePayload) (TreeStorage, error) -} diff --git a/common/commonspace/object/tree/treestorage/treestorage.go b/common/commonspace/object/tree/treestorage/treestorage.go index 74e48656..c8167f73 100644 --- a/common/commonspace/object/tree/treestorage/treestorage.go +++ b/common/commonspace/object/tree/treestorage/treestorage.go @@ -2,9 +2,24 @@ package treestorage import ( "context" + "errors" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" ) +var ( + ErrUnknownTreeId = errors.New("tree does not exist") + ErrTreeExists = errors.New("tree already exists") + ErrUnknownChange = errors.New("change doesn't exist") +) + +type TreeStorageCreatePayload struct { + RootRawChange *treechangeproto.RawTreeChangeWithId + Changes []*treechangeproto.RawTreeChangeWithId + Heads []string +} + +type TreeStorageCreatorFunc = func(payload TreeStorageCreatePayload) (TreeStorage, error) + type TreeStorage interface { Id() string Root() (*treechangeproto.RawTreeChangeWithId, error) @@ -16,5 +31,3 @@ type TreeStorage interface { HasChange(ctx context.Context, id string) (bool, error) Delete() error } - -type TreeStorageCreatorFunc = func(payload TreeStorageCreatePayload) (TreeStorage, error) diff --git a/common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go b/common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go index 61b37b61..e64ace34 100644 --- a/common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go +++ b/common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go @@ -10,7 +10,6 @@ import ( app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" objecttree "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" gomock "github.com/golang/mock/gomock" ) @@ -108,21 +107,6 @@ func (mr *MockTreeGetterMockRecorder) Name() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockTreeGetter)(nil).Name)) } -// PutTree mocks base method. -func (m *MockTreeGetter) PutTree(arg0 context.Context, arg1 string, arg2 treestorage.TreeStorageCreatePayload) (objecttree.ObjectTree, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "PutTree", arg0, arg1, arg2) - ret0, _ := ret[0].(objecttree.ObjectTree) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// PutTree indicates an expected call of PutTree. -func (mr *MockTreeGetterMockRecorder) PutTree(arg0, arg1, arg2 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PutTree", reflect.TypeOf((*MockTreeGetter)(nil).PutTree), arg0, arg1, arg2) -} - // Run mocks base method. func (m *MockTreeGetter) Run(arg0 context.Context) error { m.ctrl.T.Helper() diff --git a/common/commonspace/spacestorage/mock_storage/mock_storage.go b/common/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go similarity index 64% rename from common/commonspace/spacestorage/mock_storage/mock_storage.go rename to common/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go index 31d386c2..451f6c6a 100644 --- a/common/commonspace/spacestorage/mock_storage/mock_storage.go +++ b/common/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage (interfaces: SpaceStorageProvider,SpaceStorage) +// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage (interfaces: SpaceStorage) // Package mock_spacestorage is a generated GoMock package. package mock_spacestorage @@ -7,109 +7,13 @@ package mock_spacestorage import ( reflect "reflect" - app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" liststorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" + treechangeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" spacesyncproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" gomock "github.com/golang/mock/gomock" ) -// MockSpaceStorageProvider is a mock of SpaceStorageProvider interface. -type MockSpaceStorageProvider struct { - ctrl *gomock.Controller - recorder *MockSpaceStorageProviderMockRecorder -} - -// MockSpaceStorageProviderMockRecorder is the mock recorder for MockSpaceStorageProvider. -type MockSpaceStorageProviderMockRecorder struct { - mock *MockSpaceStorageProvider -} - -// NewMockSpaceStorageProvider creates a new mock instance. -func NewMockSpaceStorageProvider(ctrl *gomock.Controller) *MockSpaceStorageProvider { - mock := &MockSpaceStorageProvider{ctrl: ctrl} - mock.recorder = &MockSpaceStorageProviderMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockSpaceStorageProvider) EXPECT() *MockSpaceStorageProviderMockRecorder { - return m.recorder -} - -// CreateSpaceStorage mocks base method. -func (m *MockSpaceStorageProvider) CreateSpaceStorage(arg0 spacestorage.SpaceStorageCreatePayload) (spacestorage.SpaceStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateSpaceStorage", arg0) - ret0, _ := ret[0].(spacestorage.SpaceStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// CreateSpaceStorage indicates an expected call of CreateSpaceStorage. -func (mr *MockSpaceStorageProviderMockRecorder) CreateSpaceStorage(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSpaceStorage", reflect.TypeOf((*MockSpaceStorageProvider)(nil).CreateSpaceStorage), arg0) -} - -// Init mocks base method. -func (m *MockSpaceStorageProvider) Init(arg0 *app.App) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Init", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// Init indicates an expected call of Init. -func (mr *MockSpaceStorageProviderMockRecorder) Init(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockSpaceStorageProvider)(nil).Init), arg0) -} - -// Name mocks base method. -func (m *MockSpaceStorageProvider) Name() string { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Name") - ret0, _ := ret[0].(string) - return ret0 -} - -// Name indicates an expected call of Name. -func (mr *MockSpaceStorageProviderMockRecorder) Name() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockSpaceStorageProvider)(nil).Name)) -} - -// SpaceExists mocks base method. -func (m *MockSpaceStorageProvider) SpaceExists(arg0 string) bool { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SpaceExists", arg0) - ret0, _ := ret[0].(bool) - return ret0 -} - -// SpaceExists indicates an expected call of SpaceExists. -func (mr *MockSpaceStorageProviderMockRecorder) SpaceExists(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpaceExists", reflect.TypeOf((*MockSpaceStorageProvider)(nil).SpaceExists), arg0) -} - -// SpaceStorage mocks base method. -func (m *MockSpaceStorageProvider) SpaceStorage(arg0 string) (spacestorage.SpaceStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SpaceStorage", arg0) - ret0, _ := ret[0].(spacestorage.SpaceStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// SpaceStorage indicates an expected call of SpaceStorage. -func (mr *MockSpaceStorageProviderMockRecorder) SpaceStorage(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpaceStorage", reflect.TypeOf((*MockSpaceStorageProvider)(nil).SpaceStorage), arg0) -} - // MockSpaceStorage is a mock of SpaceStorage interface. type MockSpaceStorage struct { ctrl *gomock.Controller @@ -264,6 +168,21 @@ func (mr *MockSpaceStorageMockRecorder) TreeDeletedStatus(arg0 interface{}) *gom return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TreeDeletedStatus", reflect.TypeOf((*MockSpaceStorage)(nil).TreeDeletedStatus), arg0) } +// TreeRoot mocks base method. +func (m *MockSpaceStorage) TreeRoot(arg0 string) (*treechangeproto.RawTreeChangeWithId, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TreeRoot", arg0) + ret0, _ := ret[0].(*treechangeproto.RawTreeChangeWithId) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TreeRoot indicates an expected call of TreeRoot. +func (mr *MockSpaceStorageMockRecorder) TreeRoot(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TreeRoot", reflect.TypeOf((*MockSpaceStorage)(nil).TreeRoot), arg0) +} + // TreeStorage mocks base method. func (m *MockSpaceStorage) TreeStorage(arg0 string) (treestorage.TreeStorage, error) { m.ctrl.T.Helper() diff --git a/common/commonspace/spacestorage/mock_spacestorage/mock_storage.go b/common/commonspace/spacestorage/mock_spacestorage/mock_storage.go deleted file mode 100644 index e9ed76cc..00000000 --- a/common/commonspace/spacestorage/mock_spacestorage/mock_storage.go +++ /dev/null @@ -1,266 +0,0 @@ -// Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage (interfaces: SpaceStorageProvider,SpaceStorage) - -// Package mock_storage is a generated GoMock package. -package mock_spacestorage - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - storage3 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - reflect "reflect" - - app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - storage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - spacesyncproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - gomock "github.com/golang/mock/gomock" -) - -// MockSpaceStorageProvider is a mock of SpaceStorageProvider interface. -type MockSpaceStorageProvider struct { - ctrl *gomock.Controller - recorder *MockSpaceStorageProviderMockRecorder -} - -// MockSpaceStorageProviderMockRecorder is the mock recorder for MockSpaceStorageProvider. -type MockSpaceStorageProviderMockRecorder struct { - mock *MockSpaceStorageProvider -} - -// NewMockSpaceStorageProvider creates a new mock instance. -func NewMockSpaceStorageProvider(ctrl *gomock.Controller) *MockSpaceStorageProvider { - mock := &MockSpaceStorageProvider{ctrl: ctrl} - mock.recorder = &MockSpaceStorageProviderMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockSpaceStorageProvider) EXPECT() *MockSpaceStorageProviderMockRecorder { - return m.recorder -} - -// CreateSpaceStorage mocks base method. -func (m *MockSpaceStorageProvider) CreateSpaceStorage(arg0 storage.SpaceStorageCreatePayload) (storage.SpaceStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateSpaceStorage", arg0) - ret0, _ := ret[0].(storage.SpaceStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// CreateSpaceStorage indicates an expected call of CreateSpaceStorage. -func (mr *MockSpaceStorageProviderMockRecorder) CreateSpaceStorage(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSpaceStorage", reflect.TypeOf((*MockSpaceStorageProvider)(nil).CreateSpaceStorage), arg0) -} - -// Init mocks base method. -func (m *MockSpaceStorageProvider) Init(arg0 *app.App) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Init", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// Init indicates an expected call of Init. -func (mr *MockSpaceStorageProviderMockRecorder) Init(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockSpaceStorageProvider)(nil).Init), arg0) -} - -// Name mocks base method. -func (m *MockSpaceStorageProvider) Name() string { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Name") - ret0, _ := ret[0].(string) - return ret0 -} - -// Name indicates an expected call of Name. -func (mr *MockSpaceStorageProviderMockRecorder) Name() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockSpaceStorageProvider)(nil).Name)) -} - -// SpaceStorage mocks base method. -func (m *MockSpaceStorageProvider) SpaceStorage(arg0 string) (storage.SpaceStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SpaceStorage", arg0) - ret0, _ := ret[0].(storage.SpaceStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// SpaceStorage indicates an expected call of SpaceStorage. -func (mr *MockSpaceStorageProviderMockRecorder) SpaceStorage(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpaceStorage", reflect.TypeOf((*MockSpaceStorageProvider)(nil).SpaceStorage), arg0) -} - -// MockSpaceStorage is a mock of SpaceStorage interface. -type MockSpaceStorage struct { - ctrl *gomock.Controller - recorder *MockSpaceStorageMockRecorder -} - -// MockSpaceStorageMockRecorder is the mock recorder for MockSpaceStorage. -type MockSpaceStorageMockRecorder struct { - mock *MockSpaceStorage -} - -// NewMockSpaceStorage creates a new mock instance. -func NewMockSpaceStorage(ctrl *gomock.Controller) *MockSpaceStorage { - mock := &MockSpaceStorage{ctrl: ctrl} - mock.recorder = &MockSpaceStorageMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockSpaceStorage) EXPECT() *MockSpaceStorageMockRecorder { - return m.recorder -} - -// AclStorage mocks base method. -func (m *MockSpaceStorage) AclStorage() (liststorage.ListStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AclStorage") - ret0, _ := ret[0].(liststorage.ListStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// AclStorage indicates an expected call of AclStorage. -func (mr *MockSpaceStorageMockRecorder) AclStorage() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AclStorage", reflect.TypeOf((*MockSpaceStorage)(nil).AclStorage)) -} - -// Close mocks base method. -func (m *MockSpaceStorage) Close() error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Close") - ret0, _ := ret[0].(error) - return ret0 -} - -// Close indicates an expected call of Close. -func (mr *MockSpaceStorageMockRecorder) Close() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockSpaceStorage)(nil).Close)) -} - -// CreateTreeStorage mocks base method. -func (m *MockSpaceStorage) CreateTreeStorage(arg0 storage3.TreeStorageCreatePayload) (storage3.TreeStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateTreeStorage", arg0) - ret0, _ := ret[0].(storage3.TreeStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// CreateTreeStorage indicates an expected call of CreateTreeStorage. -func (mr *MockSpaceStorageMockRecorder) CreateTreeStorage(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTreeStorage", reflect.TypeOf((*MockSpaceStorage)(nil).CreateTreeStorage), arg0) -} - -// Id mocks base method. -func (m *MockSpaceStorage) Id() string { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Id") - ret0, _ := ret[0].(string) - return ret0 -} - -// Id indicates an expected call of Id. -func (mr *MockSpaceStorageMockRecorder) Id() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Id", reflect.TypeOf((*MockSpaceStorage)(nil).Id)) -} - -// SetTreeDeletedStatus mocks base method. -func (m *MockSpaceStorage) SetTreeDeletedStatus(arg0, arg1 string) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SetTreeDeletedStatus", arg0, arg1) - ret0, _ := ret[0].(error) - return ret0 -} - -// SetTreeDeletedStatus indicates an expected call of SetTreeDeletedStatus. -func (mr *MockSpaceStorageMockRecorder) SetTreeDeletedStatus(arg0, arg1 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTreeDeletedStatus", reflect.TypeOf((*MockSpaceStorage)(nil).SetTreeDeletedStatus), arg0, arg1) -} - -// SpaceHeader mocks base method. -func (m *MockSpaceStorage) SpaceHeader() (*spacesyncproto.RawSpaceHeaderWithId, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SpaceHeader") - ret0, _ := ret[0].(*spacesyncproto.RawSpaceHeaderWithId) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// SpaceHeader indicates an expected call of SpaceHeader. -func (mr *MockSpaceStorageMockRecorder) SpaceHeader() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpaceHeader", reflect.TypeOf((*MockSpaceStorage)(nil).SpaceHeader)) -} - -// SpaceSettingsId mocks base method. -func (m *MockSpaceStorage) SpaceSettingsId() string { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SpaceSettingsId") - ret0, _ := ret[0].(string) - return ret0 -} - -// SpaceSettingsId indicates an expected call of SpaceSettingsId. -func (mr *MockSpaceStorageMockRecorder) SpaceSettingsId() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpaceSettingsId", reflect.TypeOf((*MockSpaceStorage)(nil).SpaceSettingsId)) -} - -// StoredIds mocks base method. -func (m *MockSpaceStorage) StoredIds() ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "StoredIds") - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// StoredIds indicates an expected call of StoredIds. -func (mr *MockSpaceStorageMockRecorder) StoredIds() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StoredIds", reflect.TypeOf((*MockSpaceStorage)(nil).StoredIds)) -} - -// TreeDeletedStatus mocks base method. -func (m *MockSpaceStorage) TreeDeletedStatus(arg0 string) (string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "TreeDeletedStatus", arg0) - ret0, _ := ret[0].(string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// TreeDeletedStatus indicates an expected call of TreeDeletedStatus. -func (mr *MockSpaceStorageMockRecorder) TreeDeletedStatus(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TreeDeletedStatus", reflect.TypeOf((*MockSpaceStorage)(nil).TreeDeletedStatus), arg0) -} - -// TreeStorage mocks base method. -func (m *MockSpaceStorage) TreeStorage(arg0 string) (storage3.TreeStorage, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "TreeStorage", arg0) - ret0, _ := ret[0].(storage3.TreeStorage) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// TreeStorage indicates an expected call of TreeStorage. -func (mr *MockSpaceStorageMockRecorder) TreeStorage(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TreeStorage", reflect.TypeOf((*MockSpaceStorage)(nil).TreeStorage), arg0) -} diff --git a/common/commonspace/spacestorage/storage.go b/common/commonspace/spacestorage/spacestorage.go similarity index 82% rename from common/commonspace/spacestorage/storage.go rename to common/commonspace/spacestorage/spacestorage.go index 41d3df47..ddb35bb0 100644 --- a/common/commonspace/spacestorage/storage.go +++ b/common/commonspace/spacestorage/spacestorage.go @@ -1,4 +1,4 @@ -//go:generate mockgen -destination mock_storage/mock_storage.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage SpaceStorageProvider,SpaceStorage +//go:generate mockgen -destination mock_spacestorage/mock_spacestorage.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage SpaceStorage package spacestorage import ( @@ -27,7 +27,6 @@ const ( // TODO: consider moving to some file with all common interfaces etc type SpaceStorage interface { - treestorage.Provider Id() string SetTreeDeletedStatus(id, state string) error TreeDeletedStatus(id string) (string, error) @@ -36,6 +35,9 @@ type SpaceStorage interface { SpaceHeader() (*spacesyncproto.RawSpaceHeaderWithId, error) StoredIds() ([]string, error) Close() error + TreeRoot(id string) (*treechangeproto.RawTreeChangeWithId, error) + TreeStorage(id string) (treestorage.TreeStorage, error) + CreateTreeStorage(payload treestorage.TreeStorageCreatePayload) (treestorage.TreeStorage, error) } type SpaceStorageCreatePayload struct { diff --git a/node/storage/spacestorage.go b/node/storage/spacestorage.go index c5ba6bcc..9d182186 100644 --- a/node/storage/spacestorage.go +++ b/node/storage/spacestorage.go @@ -178,6 +178,10 @@ func (s *spaceStorage) TreeStorage(id string) (treestorage.TreeStorage, error) { return newTreeStorage(s.objDb, id) } +func (s *spaceStorage) TreeRoot(id string) (*treechangeproto.RawTreeChangeWithId, error) { + panic("should not be implemented") +} + func (s *spaceStorage) CreateTreeStorage(payload treestorage.TreeStorageCreatePayload) (ts treestorage.TreeStorage, err error) { return createTreeStorage(s.objDb, payload) }