Change treegetter to treemanager and return BuildObjectTreeFunc

This commit is contained in:
mcrakhman 2023-04-18 00:34:14 +02:00 committed by Mikhail Iudin
parent 520c9717ca
commit 07b16554cd
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
20 changed files with 248 additions and 220 deletions

View File

@ -4,20 +4,20 @@ import (
"context" "context"
"github.com/anytypeio/any-sync/commonspace/object/syncobjectgetter" "github.com/anytypeio/any-sync/commonspace/object/syncobjectgetter"
"github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"sync/atomic" "sync/atomic"
) )
type commonGetter struct { type commonGetter struct {
treegetter.TreeGetter treemanager.TreeManager
spaceId string spaceId string
reservedObjects []syncobjectgetter.SyncObject reservedObjects []syncobjectgetter.SyncObject
spaceIsClosed *atomic.Bool spaceIsClosed *atomic.Bool
} }
func newCommonGetter(spaceId string, getter treegetter.TreeGetter, spaceIsClosed *atomic.Bool) *commonGetter { func newCommonGetter(spaceId string, getter treemanager.TreeManager, spaceIsClosed *atomic.Bool) *commonGetter {
return &commonGetter{ return &commonGetter{
TreeGetter: getter, TreeManager: getter,
spaceId: spaceId, spaceId: spaceId,
spaceIsClosed: spaceIsClosed, spaceIsClosed: spaceIsClosed,
} }
@ -34,7 +34,7 @@ func (c *commonGetter) GetTree(ctx context.Context, spaceId, treeId string) (obj
if obj := c.getReservedObject(treeId); obj != nil { if obj := c.getReservedObject(treeId); obj != nil {
return obj.(objecttree.ObjectTree), nil return obj.(objecttree.ObjectTree), nil
} }
return c.TreeGetter.GetTree(ctx, spaceId, treeId) return c.TreeManager.GetTree(ctx, spaceId, treeId)
} }
func (c *commonGetter) getReservedObject(id string) syncobjectgetter.SyncObject { func (c *commonGetter) getReservedObject(id string) syncobjectgetter.SyncObject {
@ -53,7 +53,7 @@ func (c *commonGetter) GetObject(ctx context.Context, objectId string) (obj sync
if obj := c.getReservedObject(objectId); obj != nil { if obj := c.getReservedObject(objectId); obj != nil {
return obj, nil return obj, nil
} }
t, err := c.TreeGetter.GetTree(ctx, c.spaceId, objectId) t, err := c.TreeManager.GetTree(ctx, c.spaceId, objectId)
if err != nil { if err != nil {
return return
} }

View File

@ -7,7 +7,7 @@ import (
"github.com/anytypeio/any-sync/app/logger" "github.com/anytypeio/any-sync/app/logger"
"github.com/anytypeio/any-sync/commonspace/credentialprovider" "github.com/anytypeio/any-sync/commonspace/credentialprovider"
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree" "github.com/anytypeio/any-sync/commonspace/object/tree/synctree"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"github.com/anytypeio/any-sync/commonspace/peermanager" "github.com/anytypeio/any-sync/commonspace/peermanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/commonspace/spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage"
@ -30,7 +30,7 @@ func newDiffSyncer(
spaceId string, spaceId string,
diff ldiff.Diff, diff ldiff.Diff,
peerManager peermanager.PeerManager, peerManager peermanager.PeerManager,
cache treegetter.TreeGetter, cache treemanager.TreeManager,
storage spacestorage.SpaceStorage, storage spacestorage.SpaceStorage,
clientFactory spacesyncproto.ClientFactory, clientFactory spacesyncproto.ClientFactory,
syncStatus syncstatus.StatusUpdater, syncStatus syncstatus.StatusUpdater,
@ -53,7 +53,7 @@ type diffSyncer struct {
spaceId string spaceId string
diff ldiff.Diff diff ldiff.Diff
peerManager peermanager.PeerManager peerManager peermanager.PeerManager
cache treegetter.TreeGetter cache treemanager.TreeManager
storage spacestorage.SpaceStorage storage spacestorage.SpaceStorage
clientFactory spacesyncproto.ClientFactory clientFactory spacesyncproto.ClientFactory
log logger.CtxLogger log logger.CtxLogger

View File

@ -12,7 +12,7 @@ import (
"github.com/anytypeio/any-sync/commonspace/object/acl/liststorage/mock_liststorage" "github.com/anytypeio/any-sync/commonspace/object/acl/liststorage/mock_liststorage"
"github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto"
mock_treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage/mock_treestorage" mock_treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage/mock_treestorage"
"github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager/mock_treemanager"
"github.com/anytypeio/any-sync/commonspace/peermanager/mock_peermanager" "github.com/anytypeio/any-sync/commonspace/peermanager/mock_peermanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate"
"github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage"
@ -109,7 +109,7 @@ func TestDiffSyncer_Sync(t *testing.T) {
diffMock := mock_ldiff.NewMockDiff(ctrl) diffMock := mock_ldiff.NewMockDiff(ctrl)
peerManagerMock := mock_peermanager.NewMockPeerManager(ctrl) peerManagerMock := mock_peermanager.NewMockPeerManager(ctrl)
cacheMock := mock_treegetter.NewMockTreeGetter(ctrl) cacheMock := mock_treemanager.NewMockTreeManager(ctrl)
stMock := mock_spacestorage.NewMockSpaceStorage(ctrl) stMock := mock_spacestorage.NewMockSpaceStorage(ctrl)
clientMock := mock_spacesyncproto.NewMockDRPCSpaceSyncClient(ctrl) clientMock := mock_spacesyncproto.NewMockDRPCSpaceSyncClient(ctrl)
factory := spacesyncproto.ClientFactoryFunc(func(cc drpc.Conn) spacesyncproto.DRPCSpaceSyncClient { factory := spacesyncproto.ClientFactoryFunc(func(cc drpc.Conn) spacesyncproto.DRPCSpaceSyncClient {

View File

@ -6,7 +6,7 @@ import (
"github.com/anytypeio/any-sync/app/ldiff" "github.com/anytypeio/any-sync/app/ldiff"
"github.com/anytypeio/any-sync/app/logger" "github.com/anytypeio/any-sync/app/logger"
"github.com/anytypeio/any-sync/commonspace/credentialprovider" "github.com/anytypeio/any-sync/commonspace/credentialprovider"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"github.com/anytypeio/any-sync/commonspace/peermanager" "github.com/anytypeio/any-sync/commonspace/peermanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/commonspace/spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage"
@ -59,7 +59,7 @@ func NewHeadSync(
configuration nodeconf.Configuration, configuration nodeconf.Configuration,
storage spacestorage.SpaceStorage, storage spacestorage.SpaceStorage,
peerManager peermanager.PeerManager, peerManager peermanager.PeerManager,
cache treegetter.TreeGetter, cache treemanager.TreeManager,
syncStatus syncstatus.StatusUpdater, syncStatus syncstatus.StatusUpdater,
credentialProvider credentialprovider.CredentialProvider, credentialProvider credentialprovider.CredentialProvider,
log logger.CtxLogger) HeadSync { log logger.CtxLogger) HeadSync {

View File

@ -84,7 +84,7 @@ func NewEmptyDataBuilder(keys crypto.KeyStorage, rootChange *treechangeproto.Raw
rootChange: rootChange, rootChange: rootChange,
keys: keys, keys: keys,
newChange: func(id string, identity crypto.PubKey, ch *treechangeproto.TreeChange, signature []byte) *Change { newChange: func(id string, identity crypto.PubKey, ch *treechangeproto.TreeChange, signature []byte) *Change {
c := NewChange(id, identity, ch, signature) c := NewChange(id, identity, ch, nil)
c.Data = nil c.Data = nil
return c return c
}, },

View File

@ -33,6 +33,8 @@ type objectTreeDeps struct {
aclList list.AclList aclList list.AclList
} }
type BuildObjectTreeFunc = func(treeStorage treestorage.TreeStorage, aclList list.AclList) (ObjectTree, error)
var defaultObjectTreeDeps = verifiableTreeDeps var defaultObjectTreeDeps = verifiableTreeDeps
func verifiableTreeDeps( func verifiableTreeDeps(

View File

@ -54,7 +54,6 @@ type syncTree struct {
var log = logger.NewNamed("common.commonspace.synctree") var log = logger.NewNamed("common.commonspace.synctree")
var buildObjectTree = objecttree.BuildObjectTree
var createSyncClient = newSyncClient var createSyncClient = newSyncClient
type ResponsiblePeersGetter interface { type ResponsiblePeersGetter interface {
@ -73,6 +72,7 @@ type BuildDeps struct {
OnClose func(id string) OnClose func(id string)
SyncStatus syncstatus.StatusUpdater SyncStatus syncstatus.StatusUpdater
PeerGetter ResponsiblePeersGetter PeerGetter ResponsiblePeersGetter
BuildObjectTree objecttree.BuildObjectTreeFunc
WaitTreeRemoteSync bool WaitTreeRemoteSync bool
} }
@ -94,7 +94,7 @@ func PutSyncTree(ctx context.Context, payload treestorage.TreeStorageCreatePaylo
} }
func buildSyncTree(ctx context.Context, isFirstBuild bool, deps BuildDeps) (t SyncTree, err error) { func buildSyncTree(ctx context.Context, isFirstBuild bool, deps BuildDeps) (t SyncTree, err error) {
objTree, err := buildObjectTree(deps.TreeStorage, deps.AclList) objTree, err := deps.BuildObjectTree(deps.TreeStorage, deps.AclList)
if err != nil { if err != nil {
return return
} }

View File

@ -82,7 +82,6 @@ func (s *syncTreeHandler) handleHeadUpdate(
isEmptyUpdate = len(update.Changes) == 0 isEmptyUpdate = len(update.Changes) == 0
objTree = s.objTree objTree = s.objTree
) )
log := log.With( log := log.With(
zap.Strings("update heads", update.Heads), zap.Strings("update heads", update.Heads),
zap.String("treeId", objTree.Id()), zap.String("treeId", objTree.Id()),

View File

@ -89,6 +89,13 @@ func (fx *syncHandlerFixture) stop() {
func TestSyncHandler_HandleHeadUpdate(t *testing.T) { func TestSyncHandler_HandleHeadUpdate(t *testing.T) {
ctx := context.Background() ctx := context.Background()
log = logger.CtxLogger{Logger: zap.NewNop()} log = logger.CtxLogger{Logger: zap.NewNop()}
fullRequest := &treechangeproto.TreeSyncMessage{
Content: &treechangeproto.TreeSyncContentValue{
Value: &treechangeproto.TreeSyncContentValue_FullSyncRequest{
FullSyncRequest: &treechangeproto.TreeFullSyncRequest{},
},
},
}
t.Run("head update non empty all heads added", func(t *testing.T) { t.Run("head update non empty all heads added", func(t *testing.T) {
fx := newSyncHandlerFixture(t) fx := newSyncHandlerFixture(t)
@ -113,7 +120,6 @@ func TestSyncHandler_HandleHeadUpdate(t *testing.T) {
RawChanges: []*treechangeproto.RawTreeChangeWithId{chWithId}, RawChanges: []*treechangeproto.RawTreeChangeWithId{chWithId},
})). })).
Return(objecttree.AddResult{}, nil) Return(objecttree.AddResult{}, nil)
fx.objectTreeMock.EXPECT().Heads().Return([]string{"h2", "h1"})
fx.objectTreeMock.EXPECT().HasChanges(gomock.Eq([]string{"h1"})).Return(true) fx.objectTreeMock.EXPECT().HasChanges(gomock.Eq([]string{"h1"})).Return(true)
err := fx.syncHandler.HandleMessage(ctx, senderId, objectMsg) err := fx.syncHandler.HandleMessage(ctx, senderId, objectMsg)
@ -133,7 +139,6 @@ func TestSyncHandler_HandleHeadUpdate(t *testing.T) {
} }
treeMsg := treechangeproto.WrapHeadUpdate(headUpdate, chWithId) treeMsg := treechangeproto.WrapHeadUpdate(headUpdate, chWithId)
objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "") objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "")
fullRequest := &treechangeproto.TreeSyncMessage{}
fx.objectTreeMock.EXPECT().Id().AnyTimes().Return(treeId) fx.objectTreeMock.EXPECT().Id().AnyTimes().Return(treeId)
fx.objectTreeMock.EXPECT().Heads().Return([]string{"h2"}).AnyTimes() fx.objectTreeMock.EXPECT().Heads().Return([]string{"h2"}).AnyTimes()
@ -188,7 +193,6 @@ func TestSyncHandler_HandleHeadUpdate(t *testing.T) {
} }
treeMsg := treechangeproto.WrapHeadUpdate(headUpdate, chWithId) treeMsg := treechangeproto.WrapHeadUpdate(headUpdate, chWithId)
objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "") objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "")
fullRequest := &treechangeproto.TreeSyncMessage{}
fx.objectTreeMock.EXPECT().Id().AnyTimes().Return(treeId) fx.objectTreeMock.EXPECT().Id().AnyTimes().Return(treeId)
fx.objectTreeMock.EXPECT().Heads().Return([]string{"h2"}).AnyTimes() fx.objectTreeMock.EXPECT().Heads().Return([]string{"h2"}).AnyTimes()
@ -226,6 +230,13 @@ func TestSyncHandler_HandleHeadUpdate(t *testing.T) {
func TestSyncHandler_HandleFullSyncRequest(t *testing.T) { func TestSyncHandler_HandleFullSyncRequest(t *testing.T) {
ctx := context.Background() ctx := context.Background()
log = logger.CtxLogger{Logger: zap.NewNop()} log = logger.CtxLogger{Logger: zap.NewNop()}
fullResponse := &treechangeproto.TreeSyncMessage{
Content: &treechangeproto.TreeSyncContentValue{
Value: &treechangeproto.TreeSyncContentValue_FullSyncResponse{
FullSyncResponse: &treechangeproto.TreeFullSyncResponse{},
},
},
}
t.Run("full sync request with change", func(t *testing.T) { t.Run("full sync request with change", func(t *testing.T) {
fx := newSyncHandlerFixture(t) fx := newSyncHandlerFixture(t)
@ -240,7 +251,6 @@ func TestSyncHandler_HandleFullSyncRequest(t *testing.T) {
} }
treeMsg := treechangeproto.WrapFullRequest(fullSyncRequest, chWithId) treeMsg := treechangeproto.WrapFullRequest(fullSyncRequest, chWithId)
objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "") objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "")
fullResponse := &treechangeproto.TreeSyncMessage{}
fx.objectTreeMock.EXPECT().Id().AnyTimes().Return(treeId) fx.objectTreeMock.EXPECT().Id().AnyTimes().Return(treeId)
fx.objectTreeMock.EXPECT().Header().Return(nil) fx.objectTreeMock.EXPECT().Header().Return(nil)
@ -274,7 +284,6 @@ func TestSyncHandler_HandleFullSyncRequest(t *testing.T) {
} }
treeMsg := treechangeproto.WrapFullRequest(fullSyncRequest, chWithId) treeMsg := treechangeproto.WrapFullRequest(fullSyncRequest, chWithId)
objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "") objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "")
fullResponse := &treechangeproto.TreeSyncMessage{}
fx.objectTreeMock.EXPECT(). fx.objectTreeMock.EXPECT().
Id().AnyTimes().Return(treeId) Id().AnyTimes().Return(treeId)
@ -305,7 +314,6 @@ func TestSyncHandler_HandleFullSyncRequest(t *testing.T) {
treeMsg := treechangeproto.WrapFullRequest(fullSyncRequest, chWithId) treeMsg := treechangeproto.WrapFullRequest(fullSyncRequest, chWithId)
objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "") objectMsg, _ := marshallTreeMessage(treeMsg, "spaceId", treeId, "")
objectMsg.RequestId = replyId objectMsg.RequestId = replyId
fullResponse := &treechangeproto.TreeSyncMessage{}
fx.objectTreeMock.EXPECT(). fx.objectTreeMock.EXPECT().
Id().AnyTimes().Return(treeId) Id().AnyTimes().Return(treeId)

View File

@ -1,136 +0,0 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/anytypeio/any-sync/commonspace/object/treegetter (interfaces: TreeGetter)
// Package mock_treegetter is a generated GoMock package.
package mock_treegetter
import (
context "context"
reflect "reflect"
app "github.com/anytypeio/any-sync/app"
objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree"
gomock "github.com/golang/mock/gomock"
)
// MockTreeGetter is a mock of TreeGetter interface.
type MockTreeGetter struct {
ctrl *gomock.Controller
recorder *MockTreeGetterMockRecorder
}
// MockTreeGetterMockRecorder is the mock recorder for MockTreeGetter.
type MockTreeGetterMockRecorder struct {
mock *MockTreeGetter
}
// NewMockTreeGetter creates a new mock instance.
func NewMockTreeGetter(ctrl *gomock.Controller) *MockTreeGetter {
mock := &MockTreeGetter{ctrl: ctrl}
mock.recorder = &MockTreeGetterMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockTreeGetter) EXPECT() *MockTreeGetterMockRecorder {
return m.recorder
}
// Close mocks base method.
func (m *MockTreeGetter) Close(arg0 context.Context) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Close", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Close indicates an expected call of Close.
func (mr *MockTreeGetterMockRecorder) Close(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockTreeGetter)(nil).Close), arg0)
}
// DeleteSpace mocks base method.
func (m *MockTreeGetter) DeleteSpace(arg0 context.Context, arg1 string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteSpace", arg0, arg1)
ret0, _ := ret[0].(error)
return ret0
}
// DeleteSpace indicates an expected call of DeleteSpace.
func (mr *MockTreeGetterMockRecorder) DeleteSpace(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSpace", reflect.TypeOf((*MockTreeGetter)(nil).DeleteSpace), arg0, arg1)
}
// DeleteTree mocks base method.
func (m *MockTreeGetter) DeleteTree(arg0 context.Context, arg1, arg2 string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteTree", arg0, arg1, arg2)
ret0, _ := ret[0].(error)
return ret0
}
// DeleteTree indicates an expected call of DeleteTree.
func (mr *MockTreeGetterMockRecorder) DeleteTree(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTree", reflect.TypeOf((*MockTreeGetter)(nil).DeleteTree), arg0, arg1, arg2)
}
// GetTree mocks base method.
func (m *MockTreeGetter) GetTree(arg0 context.Context, arg1, arg2 string) (objecttree.ObjectTree, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetTree", arg0, arg1, arg2)
ret0, _ := ret[0].(objecttree.ObjectTree)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetTree indicates an expected call of GetTree.
func (mr *MockTreeGetterMockRecorder) GetTree(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTree", reflect.TypeOf((*MockTreeGetter)(nil).GetTree), arg0, arg1, arg2)
}
// Init mocks base method.
func (m *MockTreeGetter) 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 *MockTreeGetterMockRecorder) Init(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockTreeGetter)(nil).Init), arg0)
}
// Name mocks base method.
func (m *MockTreeGetter) 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 *MockTreeGetterMockRecorder) Name() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockTreeGetter)(nil).Name))
}
// Run mocks base method.
func (m *MockTreeGetter) Run(arg0 context.Context) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Run", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Run indicates an expected call of Run.
func (mr *MockTreeGetterMockRecorder) Run(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockTreeGetter)(nil).Run), arg0)
}

View File

@ -0,0 +1,152 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/anytypeio/any-sync/commonspace/object/treemanager (interfaces: TreeManager)
// Package mock_treemanager is a generated GoMock package.
package mock_treemanager
import (
context "context"
reflect "reflect"
app "github.com/anytypeio/any-sync/app"
list "github.com/anytypeio/any-sync/commonspace/object/acl/list"
objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree"
treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage"
gomock "github.com/golang/mock/gomock"
)
// MockTreeManager is a mock of TreeManager interface.
type MockTreeManager struct {
ctrl *gomock.Controller
recorder *MockTreeManagerMockRecorder
}
// MockTreeManagerMockRecorder is the mock recorder for MockTreeManager.
type MockTreeManagerMockRecorder struct {
mock *MockTreeManager
}
// NewMockTreeManager creates a new mock instance.
func NewMockTreeManager(ctrl *gomock.Controller) *MockTreeManager {
mock := &MockTreeManager{ctrl: ctrl}
mock.recorder = &MockTreeManagerMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockTreeManager) EXPECT() *MockTreeManagerMockRecorder {
return m.recorder
}
// Close mocks base method.
func (m *MockTreeManager) Close(arg0 context.Context) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Close", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Close indicates an expected call of Close.
func (mr *MockTreeManagerMockRecorder) Close(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockTreeManager)(nil).Close), arg0)
}
// DeleteSpace mocks base method.
func (m *MockTreeManager) DeleteSpace(arg0 context.Context, arg1 string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteSpace", arg0, arg1)
ret0, _ := ret[0].(error)
return ret0
}
// DeleteSpace indicates an expected call of DeleteSpace.
func (mr *MockTreeManagerMockRecorder) DeleteSpace(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSpace", reflect.TypeOf((*MockTreeManager)(nil).DeleteSpace), arg0, arg1)
}
// DeleteTree mocks base method.
func (m *MockTreeManager) DeleteTree(arg0 context.Context, arg1, arg2 string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteTree", arg0, arg1, arg2)
ret0, _ := ret[0].(error)
return ret0
}
// DeleteTree indicates an expected call of DeleteTree.
func (mr *MockTreeManagerMockRecorder) DeleteTree(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTree", reflect.TypeOf((*MockTreeManager)(nil).DeleteTree), arg0, arg1, arg2)
}
// GetTree mocks base method.
func (m *MockTreeManager) GetTree(arg0 context.Context, arg1, arg2 string) (objecttree.ObjectTree, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetTree", arg0, arg1, arg2)
ret0, _ := ret[0].(objecttree.ObjectTree)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetTree indicates an expected call of GetTree.
func (mr *MockTreeManagerMockRecorder) GetTree(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTree", reflect.TypeOf((*MockTreeManager)(nil).GetTree), arg0, arg1, arg2)
}
// Init mocks base method.
func (m *MockTreeManager) 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 *MockTreeManagerMockRecorder) Init(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockTreeManager)(nil).Init), arg0)
}
// Name mocks base method.
func (m *MockTreeManager) 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 *MockTreeManagerMockRecorder) Name() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockTreeManager)(nil).Name))
}
// ObjectTreeBuilder mocks base method.
func (m *MockTreeManager) ObjectTreeBuilder() func(treestorage.TreeStorage, list.AclList) (objecttree.ObjectTree, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ObjectTreeBuilder")
ret0, _ := ret[0].(func(treestorage.TreeStorage, list.AclList) (objecttree.ObjectTree, error))
return ret0
}
// ObjectTreeBuilder indicates an expected call of ObjectTreeBuilder.
func (mr *MockTreeManagerMockRecorder) ObjectTreeBuilder() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ObjectTreeBuilder", reflect.TypeOf((*MockTreeManager)(nil).ObjectTreeBuilder))
}
// Run mocks base method.
func (m *MockTreeManager) Run(arg0 context.Context) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Run", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Run indicates an expected call of Run.
func (mr *MockTreeManagerMockRecorder) Run(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockTreeManager)(nil).Run), arg0)
}

View File

@ -1,5 +1,5 @@
//go:generate mockgen -destination mock_treegetter/mock_treegetter.go github.com/anytypeio/any-sync/commonspace/object/treegetter TreeGetter //go:generate mockgen -destination mock_treemanager/mock_treemanager.go github.com/anytypeio/any-sync/commonspace/object/treemanager TreeManager
package treegetter package treemanager
import ( import (
"context" "context"
@ -7,11 +7,12 @@ import (
"github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree"
) )
const CName = "common.object.treegetter" const CName = "common.object.treemanager"
type TreeGetter interface { type TreeManager interface {
app.ComponentRunnable app.ComponentRunnable
GetTree(ctx context.Context, spaceId, treeId string) (objecttree.ObjectTree, error) GetTree(ctx context.Context, spaceId, treeId string) (objecttree.ObjectTree, error)
DeleteTree(ctx context.Context, spaceId, treeId string) error DeleteTree(ctx context.Context, spaceId, treeId string) error
DeleteSpace(ctx context.Context, spaceId string) error DeleteSpace(ctx context.Context, spaceId string) error
ObjectTreeBuilder() objecttree.BuildObjectTreeFunc
} }

View File

@ -2,7 +2,7 @@ package settings
import ( import (
"context" "context"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/commonspace/spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage"
"go.uber.org/zap" "go.uber.org/zap"
@ -15,10 +15,10 @@ type Deleter interface {
type deleter struct { type deleter struct {
st spacestorage.SpaceStorage st spacestorage.SpaceStorage
state settingsstate.ObjectDeletionState state settingsstate.ObjectDeletionState
getter treegetter.TreeGetter getter treemanager.TreeManager
} }
func newDeleter(st spacestorage.SpaceStorage, state settingsstate.ObjectDeletionState, getter treegetter.TreeGetter) Deleter { func newDeleter(st spacestorage.SpaceStorage, state settingsstate.ObjectDeletionState, getter treemanager.TreeManager) Deleter {
return &deleter{st, state, getter} return &deleter{st, state, getter}
} }

View File

@ -2,7 +2,7 @@ package settings
import ( import (
"fmt" "fmt"
"github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager/mock_treemanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate"
"github.com/anytypeio/any-sync/commonspace/spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage"
"github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage"
@ -12,18 +12,18 @@ import (
func TestDeleter_Delete(t *testing.T) { func TestDeleter_Delete(t *testing.T) {
ctrl := gomock.NewController(t) ctrl := gomock.NewController(t)
treeGetter := mock_treegetter.NewMockTreeGetter(ctrl) treeManager := mock_treemanager.NewMockTreeManager(ctrl)
st := mock_spacestorage.NewMockSpaceStorage(ctrl) st := mock_spacestorage.NewMockSpaceStorage(ctrl)
delState := mock_settingsstate.NewMockObjectDeletionState(ctrl) delState := mock_settingsstate.NewMockObjectDeletionState(ctrl)
deleter := newDeleter(st, delState, treeGetter) deleter := newDeleter(st, delState, treeManager)
t.Run("deleter delete queued", func(t *testing.T) { t.Run("deleter delete queued", func(t *testing.T) {
id := "id" id := "id"
spaceId := "spaceId" spaceId := "spaceId"
delState.EXPECT().GetQueued().Return([]string{id}) delState.EXPECT().GetQueued().Return([]string{id})
st.EXPECT().Id().Return(spaceId) st.EXPECT().Id().Return(spaceId)
treeGetter.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(nil) treeManager.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(nil)
delState.EXPECT().Delete(id).Return(nil) delState.EXPECT().Delete(id).Return(nil)
deleter.Delete() deleter.Delete()
@ -34,7 +34,7 @@ func TestDeleter_Delete(t *testing.T) {
spaceId := "spaceId" spaceId := "spaceId"
delState.EXPECT().GetQueued().Return([]string{id}) delState.EXPECT().GetQueued().Return([]string{id})
st.EXPECT().Id().Return(spaceId) st.EXPECT().Id().Return(spaceId)
treeGetter.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(spacestorage.ErrTreeStorageAlreadyDeleted) treeManager.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(spacestorage.ErrTreeStorageAlreadyDeleted)
delState.EXPECT().Delete(id).Return(nil) delState.EXPECT().Delete(id).Return(nil)
deleter.Delete() deleter.Delete()
@ -45,7 +45,7 @@ func TestDeleter_Delete(t *testing.T) {
spaceId := "spaceId" spaceId := "spaceId"
delState.EXPECT().GetQueued().Return([]string{id}) delState.EXPECT().GetQueued().Return([]string{id})
st.EXPECT().Id().Return(spaceId) st.EXPECT().Id().Return(spaceId)
treeGetter.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(fmt.Errorf("some error")) treeManager.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(fmt.Errorf("some error"))
deleter.Delete() deleter.Delete()
}) })

View File

@ -2,7 +2,7 @@ package settings
import ( import (
"context" "context"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/util/slice" "github.com/anytypeio/any-sync/util/slice"
"go.uber.org/zap" "go.uber.org/zap"
@ -20,12 +20,12 @@ func newDeletionManager(
spaceId string, spaceId string,
settingsId string, settingsId string,
isResponsible bool, isResponsible bool,
treeGetter treegetter.TreeGetter, treeManager treemanager.TreeManager,
deletionState settingsstate.ObjectDeletionState, deletionState settingsstate.ObjectDeletionState,
provider SpaceIdsProvider, provider SpaceIdsProvider,
onSpaceDelete func()) DeletionManager { onSpaceDelete func()) DeletionManager {
return &deletionManager{ return &deletionManager{
treeGetter: treeGetter, treeManager: treeManager,
isResponsible: isResponsible, isResponsible: isResponsible,
spaceId: spaceId, spaceId: spaceId,
settingsId: settingsId, settingsId: settingsId,
@ -38,7 +38,7 @@ func newDeletionManager(
type deletionManager struct { type deletionManager struct {
deletionState settingsstate.ObjectDeletionState deletionState settingsstate.ObjectDeletionState
provider SpaceIdsProvider provider SpaceIdsProvider
treeGetter treegetter.TreeGetter treeManager treemanager.TreeManager
spaceId string spaceId string
settingsId string settingsId string
isResponsible bool isResponsible bool
@ -55,7 +55,7 @@ func (d *deletionManager) UpdateState(ctx context.Context, state *settingsstate.
return nil return nil
} }
log.Debug("deleting space") log.Debug("deleting space")
err = d.treeGetter.DeleteSpace(ctx, d.spaceId) err = d.treeManager.DeleteSpace(ctx, d.spaceId)
if err != nil { if err != nil {
log.Debug("failed to notify on space deletion", zap.Error(err)) log.Debug("failed to notify on space deletion", zap.Error(err))
} }

View File

@ -2,7 +2,7 @@ package settings
import ( import (
"context" "context"
"github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager/mock_treemanager"
"github.com/anytypeio/any-sync/commonspace/settings/mock_settings" "github.com/anytypeio/any-sync/commonspace/settings/mock_settings"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate"
@ -27,15 +27,15 @@ func TestDeletionManager_UpdateState_NotResponsible(t *testing.T) {
deleted = true deleted = true
} }
delState := mock_settingsstate.NewMockObjectDeletionState(ctrl) delState := mock_settingsstate.NewMockObjectDeletionState(ctrl)
treeGetter := mock_treegetter.NewMockTreeGetter(ctrl) treeManager := mock_treemanager.NewMockTreeManager(ctrl)
delState.EXPECT().Add(state.DeletedIds).Return(nil) delState.EXPECT().Add(state.DeletedIds).Return(nil)
treeGetter.EXPECT().DeleteSpace(ctx, spaceId).Return(nil) treeManager.EXPECT().DeleteSpace(ctx, spaceId).Return(nil)
delManager := newDeletionManager(spaceId, delManager := newDeletionManager(spaceId,
settingsId, settingsId,
false, false,
treeGetter, treeManager,
delState, delState,
nil, nil,
onDeleted) onDeleted)
@ -60,17 +60,17 @@ func TestDeletionManager_UpdateState_Responsible(t *testing.T) {
deleted = true deleted = true
} }
delState := mock_settingsstate.NewMockObjectDeletionState(ctrl) delState := mock_settingsstate.NewMockObjectDeletionState(ctrl)
treeGetter := mock_treegetter.NewMockTreeGetter(ctrl) treeManager := mock_treemanager.NewMockTreeManager(ctrl)
provider := mock_settings.NewMockSpaceIdsProvider(ctrl) provider := mock_settings.NewMockSpaceIdsProvider(ctrl)
delState.EXPECT().Add(state.DeletedIds).Return(nil) delState.EXPECT().Add(state.DeletedIds).Return(nil)
treeGetter.EXPECT().DeleteSpace(ctx, spaceId).Return(nil) treeManager.EXPECT().DeleteSpace(ctx, spaceId).Return(nil)
provider.EXPECT().AllIds().Return([]string{"id", "otherId", settingsId}) provider.EXPECT().AllIds().Return([]string{"id", "otherId", settingsId})
delState.EXPECT().Add([]string{"id", "otherId"}).Return(nil) delState.EXPECT().Add([]string{"id", "otherId"}).Return(nil)
delManager := newDeletionManager(spaceId, delManager := newDeletionManager(spaceId,
settingsId, settingsId,
true, true,
treeGetter, treeManager,
delState, delState,
provider, provider,
onDeleted) onDeleted)

View File

@ -13,7 +13,7 @@ import (
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree" "github.com/anytypeio/any-sync/commonspace/object/tree/synctree"
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener"
"github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/commonspace/spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage"
"github.com/anytypeio/any-sync/commonspace/spacesyncproto" "github.com/anytypeio/any-sync/commonspace/spacesyncproto"
@ -47,7 +47,7 @@ type BuildTreeFunc func(ctx context.Context, id string, listener updatelistener.
type Deps struct { type Deps struct {
BuildFunc BuildTreeFunc BuildFunc BuildTreeFunc
Account accountservice.Service Account accountservice.Service
TreeGetter treegetter.TreeGetter TreeManager treemanager.TreeManager
Store spacestorage.SpaceStorage Store spacestorage.SpaceStorage
Configuration nodeconf.Configuration Configuration nodeconf.Configuration
DeletionState settingsstate.ObjectDeletionState DeletionState settingsstate.ObjectDeletionState
@ -62,13 +62,13 @@ type Deps struct {
type settingsObject struct { type settingsObject struct {
synctree.SyncTree synctree.SyncTree
account accountservice.Service account accountservice.Service
spaceId string spaceId string
treeGetter treegetter.TreeGetter treeManager treemanager.TreeManager
store spacestorage.SpaceStorage store spacestorage.SpaceStorage
builder settingsstate.StateBuilder builder settingsstate.StateBuilder
buildFunc BuildTreeFunc buildFunc BuildTreeFunc
loop *deleteLoop loop *deleteLoop
state *settingsstate.State state *settingsstate.State
deletionState settingsstate.ObjectDeletionState deletionState settingsstate.ObjectDeletionState
@ -84,7 +84,7 @@ func NewSettingsObject(deps Deps, spaceId string) (obj SettingsObject) {
changeFactory settingsstate.ChangeFactory changeFactory settingsstate.ChangeFactory
) )
if deps.del == nil { if deps.del == nil {
deleter = newDeleter(deps.Store, deps.DeletionState, deps.TreeGetter) deleter = newDeleter(deps.Store, deps.DeletionState, deps.TreeManager)
} else { } else {
deleter = deps.del deleter = deps.del
} }
@ -93,7 +93,7 @@ func NewSettingsObject(deps Deps, spaceId string) (obj SettingsObject) {
spaceId, spaceId,
deps.Store.SpaceSettingsId(), deps.Store.SpaceSettingsId(),
deps.Configuration.IsResponsible(spaceId), deps.Configuration.IsResponsible(spaceId),
deps.TreeGetter, deps.TreeManager,
deps.DeletionState, deps.DeletionState,
deps.Provider, deps.Provider,
deps.OnSpaceDelete) deps.OnSpaceDelete)
@ -123,7 +123,7 @@ func NewSettingsObject(deps Deps, spaceId string) (obj SettingsObject) {
spaceId: spaceId, spaceId: spaceId,
account: deps.Account, account: deps.Account,
deletionState: deps.DeletionState, deletionState: deps.DeletionState,
treeGetter: deps.TreeGetter, treeManager: deps.TreeManager,
store: deps.Store, store: deps.Store,
buildFunc: deps.BuildFunc, buildFunc: deps.BuildFunc,
builder: builder, builder: builder,

View File

@ -9,7 +9,7 @@ import (
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree/mock_synctree" "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/mock_synctree"
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener"
"github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto"
"github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager/mock_treemanager"
"github.com/anytypeio/any-sync/commonspace/settings/mock_settings" "github.com/anytypeio/any-sync/commonspace/settings/mock_settings"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate/mock_settingsstate"
@ -45,7 +45,7 @@ type settingsFixture struct {
docId string docId string
doc *settingsObject doc *settingsObject
ctrl *gomock.Controller ctrl *gomock.Controller
treeGetter *mock_treegetter.MockTreeGetter treeManager *mock_treemanager.MockTreeManager
spaceStorage *mock_spacestorage.MockSpaceStorage spaceStorage *mock_spacestorage.MockSpaceStorage
stateBuilder *mock_settingsstate.MockStateBuilder stateBuilder *mock_settingsstate.MockStateBuilder
deletionManager *mock_settings.MockDeletionManager deletionManager *mock_settings.MockDeletionManager
@ -62,7 +62,7 @@ func newSettingsFixture(t *testing.T) *settingsFixture {
ctrl := gomock.NewController(t) ctrl := gomock.NewController(t)
acc := mock_accountservice.NewMockService(ctrl) acc := mock_accountservice.NewMockService(ctrl)
treeGetter := mock_treegetter.NewMockTreeGetter(ctrl) treeManager := mock_treemanager.NewMockTreeManager(ctrl)
st := mock_spacestorage.NewMockSpaceStorage(ctrl) st := mock_spacestorage.NewMockSpaceStorage(ctrl)
delState := mock_settingsstate.NewMockObjectDeletionState(ctrl) delState := mock_settingsstate.NewMockObjectDeletionState(ctrl)
delManager := mock_settings.NewMockDeletionManager(ctrl) delManager := mock_settings.NewMockDeletionManager(ctrl)
@ -81,7 +81,7 @@ func newSettingsFixture(t *testing.T) *settingsFixture {
deps := Deps{ deps := Deps{
BuildFunc: buildFunc, BuildFunc: buildFunc,
Account: acc, Account: acc,
TreeGetter: treeGetter, TreeManager: treeManager,
Store: st, Store: st,
DeletionState: delState, DeletionState: delState,
delManager: delManager, delManager: delManager,
@ -95,7 +95,7 @@ func newSettingsFixture(t *testing.T) *settingsFixture {
docId: objectId, docId: objectId,
doc: doc, doc: doc,
ctrl: ctrl, ctrl: ctrl,
treeGetter: treeGetter, treeManager: treeManager,
spaceStorage: st, spaceStorage: st,
stateBuilder: stateBuilder, stateBuilder: stateBuilder,
changeFactory: changeFactory, changeFactory: changeFactory,

View File

@ -118,7 +118,7 @@ type space struct {
headSync headsync.HeadSync headSync headsync.HeadSync
syncStatus syncstatus.StatusUpdater syncStatus syncstatus.StatusUpdater
storage spacestorage.SpaceStorage storage spacestorage.SpaceStorage
cache *commonGetter treeManager *commonGetter
account accountservice.Service account accountservice.Service
aclList *syncacl.SyncAcl aclList *syncacl.SyncAcl
configuration nodeconf.Configuration configuration nodeconf.Configuration
@ -179,7 +179,7 @@ func (s *space) Init(ctx context.Context) (err error) {
return return
} }
s.aclList = syncacl.NewSyncAcl(aclList, s.objectSync.MessagePool()) s.aclList = syncacl.NewSyncAcl(aclList, s.objectSync.MessagePool())
s.cache.AddObject(s.aclList) s.treeManager.AddObject(s.aclList)
deletionState := settingsstate.NewObjectDeletionState(s.storage) deletionState := settingsstate.NewObjectDeletionState(s.storage)
deps := settings.Deps{ deps := settings.Deps{
@ -196,7 +196,7 @@ func (s *space) Init(ctx context.Context) (err error) {
return return
}, },
Account: s.account, Account: s.account,
TreeGetter: s.cache, TreeManager: s.treeManager,
Store: s.storage, Store: s.storage,
DeletionState: deletionState, DeletionState: deletionState,
Provider: s.headSync, Provider: s.headSync,
@ -210,7 +210,7 @@ func (s *space) Init(ctx context.Context) (err error) {
if err != nil { if err != nil {
return return
} }
s.cache.AddObject(s.settingsObject) s.treeManager.AddObject(s.settingsObject)
s.syncStatus.Run() s.syncStatus.Run()
s.handleQueue = multiqueue.New[HandleMessage](s.handleMessage, 100) s.handleQueue = multiqueue.New[HandleMessage](s.handleMessage, 100)
return nil return nil
@ -283,16 +283,17 @@ func (s *space) PutTree(ctx context.Context, payload treestorage.TreeStorageCrea
return return
} }
deps := synctree.BuildDeps{ deps := synctree.BuildDeps{
SpaceId: s.id, SpaceId: s.id,
ObjectSync: s.objectSync, ObjectSync: s.objectSync,
Configuration: s.configuration, Configuration: s.configuration,
HeadNotifiable: s.headSync, HeadNotifiable: s.headSync,
Listener: listener, Listener: listener,
AclList: s.aclList, AclList: s.aclList,
SpaceStorage: s.storage, SpaceStorage: s.storage,
OnClose: s.onObjectClose, OnClose: s.onObjectClose,
SyncStatus: s.syncStatus, SyncStatus: s.syncStatus,
PeerGetter: s.peerManager, PeerGetter: s.peerManager,
BuildObjectTree: s.treeManager.ObjectTreeBuilder(),
} }
t, err = synctree.PutSyncTree(ctx, payload, deps) t, err = synctree.PutSyncTree(ctx, payload, deps)
if err != nil { if err != nil {
@ -331,6 +332,7 @@ func (s *space) BuildTree(ctx context.Context, id string, opts BuildTreeOpts) (t
SyncStatus: s.syncStatus, SyncStatus: s.syncStatus,
WaitTreeRemoteSync: opts.WaitTreeRemoteSync, WaitTreeRemoteSync: opts.WaitTreeRemoteSync,
PeerGetter: s.peerManager, PeerGetter: s.peerManager,
BuildObjectTree: s.treeManager.ObjectTreeBuilder(),
} }
if t, err = synctree.BuildSyncTreeOrGetRemote(ctx, id, deps); err != nil { if t, err = synctree.BuildSyncTreeOrGetRemote(ctx, id, deps); err != nil {
return nil, err return nil, err

View File

@ -9,7 +9,7 @@ import (
"github.com/anytypeio/any-sync/commonspace/headsync" "github.com/anytypeio/any-sync/commonspace/headsync"
"github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto"
"github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto"
"github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/object/treemanager"
"github.com/anytypeio/any-sync/commonspace/objectsync" "github.com/anytypeio/any-sync/commonspace/objectsync"
"github.com/anytypeio/any-sync/commonspace/peermanager" "github.com/anytypeio/any-sync/commonspace/peermanager"
"github.com/anytypeio/any-sync/commonspace/spacestorage" "github.com/anytypeio/any-sync/commonspace/spacestorage"
@ -49,7 +49,7 @@ type spaceService struct {
storageProvider spacestorage.SpaceStorageProvider storageProvider spacestorage.SpaceStorageProvider
peermanagerProvider peermanager.PeerManagerProvider peermanagerProvider peermanager.PeerManagerProvider
credentialProvider credentialprovider.CredentialProvider credentialProvider credentialprovider.CredentialProvider
treeGetter treegetter.TreeGetter treeManager treemanager.TreeManager
pool pool.Pool pool pool.Pool
} }
@ -58,7 +58,7 @@ func (s *spaceService) Init(a *app.App) (err error) {
s.account = a.MustComponent(accountservice.CName).(accountservice.Service) s.account = a.MustComponent(accountservice.CName).(accountservice.Service)
s.storageProvider = a.MustComponent(spacestorage.CName).(spacestorage.SpaceStorageProvider) s.storageProvider = a.MustComponent(spacestorage.CName).(spacestorage.SpaceStorageProvider)
s.configurationService = a.MustComponent(nodeconf.CName).(nodeconf.Service) s.configurationService = a.MustComponent(nodeconf.CName).(nodeconf.Service)
s.treeGetter = a.MustComponent(treegetter.CName).(treegetter.TreeGetter) s.treeManager = a.MustComponent(treemanager.CName).(treemanager.TreeManager)
s.peermanagerProvider = a.MustComponent(peermanager.CName).(peermanager.PeerManagerProvider) s.peermanagerProvider = a.MustComponent(peermanager.CName).(peermanager.PeerManagerProvider)
credProvider := a.Component(credentialprovider.CName) credProvider := a.Component(credentialprovider.CName)
if credProvider != nil { if credProvider != nil {
@ -145,7 +145,7 @@ func (s *spaceService) NewSpace(ctx context.Context, id string) (Space, error) {
return nil, err return nil, err
} }
spaceIsDeleted.Swap(isDeleted) spaceIsDeleted.Swap(isDeleted)
getter := newCommonGetter(st.Id(), s.treeGetter, spaceIsClosed) getter := newCommonGetter(st.Id(), s.treeManager, spaceIsClosed)
syncStatus := syncstatus.NewNoOpSyncStatus() syncStatus := syncstatus.NewNoOpSyncStatus()
// this will work only for clients, not the best solution, but... // this will work only for clients, not the best solution, but...
if !lastConfiguration.IsResponsible(st.Id()) { if !lastConfiguration.IsResponsible(st.Id()) {
@ -165,7 +165,7 @@ func (s *spaceService) NewSpace(ctx context.Context, id string) (Space, error) {
objectSync: objectSync, objectSync: objectSync,
headSync: headSync, headSync: headSync,
syncStatus: syncStatus, syncStatus: syncStatus,
cache: getter, treeManager: getter,
account: s.account, account: s.account,
configuration: lastConfiguration, configuration: lastConfiguration,
peerManager: peerManager, peerManager: peerManager,