From e99650615d65c614339918c86a7c93efe1ed1ccc Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Thu, 29 Sep 2022 16:22:56 +0200 Subject: [PATCH] Fix circular deps etc --- common/commonspace/cache/treecache.go | 4 ++-- common/commonspace/space.go | 13 +++++++------ common/commonspace/spacesyncproto/errors.go | 2 +- common/commonspace/synctree/synctree.go | 16 ++++++---------- .../synctree/updatelistener/updatelistener.go | 8 ++++++++ common/net/rpc/rpcerr/registry.go | 2 +- common/nodeconf/service.go | 2 +- 7 files changed, 26 insertions(+), 21 deletions(-) create mode 100644 common/commonspace/synctree/updatelistener/updatelistener.go diff --git a/common/commonspace/cache/treecache.go b/common/commonspace/cache/treecache.go index cd47f1c3..9983231f 100644 --- a/common/commonspace/cache/treecache.go +++ b/common/commonspace/cache/treecache.go @@ -4,7 +4,7 @@ import ( "context" "errors" "github.com/anytypeio/go-anytype-infrastructure-experiments/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree/updatelistener" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree" ) @@ -21,7 +21,7 @@ type TreeResult struct { TreeContainer TreeContainer } -type BuildFunc = func(ctx context.Context, id string, listener synctree.UpdateListener) (tree.ObjectTree, error) +type BuildFunc = func(ctx context.Context, id string, listener updatelistener.UpdateListener) (tree.ObjectTree, error) type TreeCache interface { app.ComponentRunnable diff --git a/common/commonspace/space.go b/common/commonspace/space.go index 83be2504..46099da3 100644 --- a/common/commonspace/space.go +++ b/common/commonspace/space.go @@ -9,6 +9,7 @@ import ( "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncservice" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree/updatelistener" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/list" treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/storage" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree" @@ -41,9 +42,9 @@ type Space interface { SpaceSyncRpc() RpcHandler - DeriveTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener synctree.UpdateListener) (tree.ObjectTree, error) - CreateTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener synctree.UpdateListener) (tree.ObjectTree, error) - BuildTree(ctx context.Context, id string, listener synctree.UpdateListener) (tree.ObjectTree, error) + DeriveTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener updatelistener.UpdateListener) (tree.ObjectTree, error) + CreateTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener updatelistener.UpdateListener) (tree.ObjectTree, error) + BuildTree(ctx context.Context, id string, listener updatelistener.UpdateListener) (tree.ObjectTree, error) Close() error } @@ -88,15 +89,15 @@ func (s *space) DiffService() diffservice.DiffService { return s.diffService } -func (s *space) DeriveTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener synctree.UpdateListener) (tree.ObjectTree, error) { +func (s *space) DeriveTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener updatelistener.UpdateListener) (tree.ObjectTree, error) { return synctree.DeriveSyncTree(ctx, payload, s.syncService, listener, s.aclList, s.storage.CreateTreeStorage) } -func (s *space) CreateTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener synctree.UpdateListener) (tree.ObjectTree, error) { +func (s *space) CreateTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener updatelistener.UpdateListener) (tree.ObjectTree, error) { return synctree.CreateSyncTree(ctx, payload, s.syncService, listener, s.aclList, s.storage.CreateTreeStorage) } -func (s *space) BuildTree(ctx context.Context, id string, listener synctree.UpdateListener) (t tree.ObjectTree, err error) { +func (s *space) BuildTree(ctx context.Context, id string, listener updatelistener.UpdateListener) (t tree.ObjectTree, err error) { getTreeRemote := func() (*spacesyncproto.ObjectSyncMessage, error) { // TODO: add empty context handling (when this is not happening due to head update) peerId, err := syncservice.GetPeerIdFromStreamContext(ctx) diff --git a/common/commonspace/spacesyncproto/errors.go b/common/commonspace/spacesyncproto/errors.go index 9b7b3559..44034ccb 100644 --- a/common/commonspace/spacesyncproto/errors.go +++ b/common/commonspace/spacesyncproto/errors.go @@ -10,5 +10,5 @@ var ( ErrUnexpected = errGroup.Register(errors.New("unexpected error"), uint64(ErrCodes_Unexpected)) ErrSpaceMissing = errGroup.Register(errors.New("space is missing"), uint64(ErrCodes_SpaceMissing)) - ErrSpaceExists = errGroup.Register(errors.New("space exists"), uint64(ErrCodes_SpaceMissing)) + ErrSpaceExists = errGroup.Register(errors.New("space exists"), uint64(ErrCodes_SpaceExists)) ) diff --git a/common/commonspace/synctree/synctree.go b/common/commonspace/synctree/synctree.go index a339b6fb..f3075825 100644 --- a/common/commonspace/synctree/synctree.go +++ b/common/commonspace/synctree/synctree.go @@ -4,29 +4,25 @@ import ( "context" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncservice" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree/updatelistener" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/list" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/storage" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treechangeproto" ) -type UpdateListener interface { - Update(tree tree.ObjectTree) - Rebuild(tree tree.ObjectTree) -} - // SyncTree sends head updates to sync service and also sends new changes to update listener type SyncTree struct { tree.ObjectTree syncService syncservice.SyncService - listener UpdateListener + listener updatelistener.UpdateListener } func DeriveSyncTree( ctx context.Context, payload tree.ObjectTreeCreatePayload, syncService syncservice.SyncService, - listener UpdateListener, + listener updatelistener.UpdateListener, aclList list.ACLList, createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) { t, err = tree.CreateDerivedObjectTree(payload, aclList, createStorage) @@ -50,7 +46,7 @@ func CreateSyncTree( ctx context.Context, payload tree.ObjectTreeCreatePayload, syncService syncservice.SyncService, - listener UpdateListener, + listener updatelistener.UpdateListener, aclList list.ACLList, createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) { t, err = tree.CreateObjectTree(payload, aclList, createStorage) @@ -74,7 +70,7 @@ func BuildSyncTree( ctx context.Context, syncService syncservice.SyncService, treeStorage storage.TreeStorage, - listener UpdateListener, + listener updatelistener.UpdateListener, aclList list.ACLList) (t tree.ObjectTree, err error) { return buildSyncTree(ctx, syncService, treeStorage, listener, aclList) } @@ -83,7 +79,7 @@ func buildSyncTree( ctx context.Context, syncService syncservice.SyncService, treeStorage storage.TreeStorage, - listener UpdateListener, + listener updatelistener.UpdateListener, aclList list.ACLList) (t tree.ObjectTree, err error) { t, err = tree.BuildObjectTree(treeStorage, aclList) if err != nil { diff --git a/common/commonspace/synctree/updatelistener/updatelistener.go b/common/commonspace/synctree/updatelistener/updatelistener.go new file mode 100644 index 00000000..0a1a6659 --- /dev/null +++ b/common/commonspace/synctree/updatelistener/updatelistener.go @@ -0,0 +1,8 @@ +package updatelistener + +import "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree" + +type UpdateListener interface { + Update(tree tree.ObjectTree) + Rebuild(tree tree.ObjectTree) +} diff --git a/common/net/rpc/rpcerr/registry.go b/common/net/rpc/rpcerr/registry.go index 872c0fd9..5160fec3 100644 --- a/common/net/rpc/rpcerr/registry.go +++ b/common/net/rpc/rpcerr/registry.go @@ -17,7 +17,7 @@ var ( func RegisterErr(err error, code uint64) error { if e, ok := errsMap[code]; ok { - panic(fmt.Errorf("attempt to register error with exiswting code: %d; registered error: %v", code, e)) + panic(fmt.Errorf("attempt to register error with existing code: %d; registered error: %v", code, e)) } errWithCode := drpcerr.WithCode(err, code) errsMap[code] = errWithCode diff --git a/common/nodeconf/service.go b/common/nodeconf/service.go index a70fe4a1..d78aab4d 100644 --- a/common/nodeconf/service.go +++ b/common/nodeconf/service.go @@ -108,7 +108,7 @@ func nodeFromConfigNode( } decodedEncryptionKey, err := keys.DecodeKeyFromString( - n.SigningKey, + n.EncryptionKey, encryptionkey.NewEncryptionRsaPrivKeyFromBytes, nil) if err != nil {