Fix circular deps etc
This commit is contained in:
parent
b59edc4b6b
commit
0ef1df6dfb
4
common/commonspace/cache/treecache.go
vendored
4
common/commonspace/cache/treecache.go
vendored
@ -4,7 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app"
|
"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"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ type TreeResult struct {
|
|||||||
TreeContainer TreeContainer
|
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 {
|
type TreeCache interface {
|
||||||
app.ComponentRunnable
|
app.ComponentRunnable
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import (
|
|||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage"
|
"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/syncservice"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree"
|
"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"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/list"
|
||||||
treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/storage"
|
treestorage "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/tree"
|
||||||
@ -41,9 +42,9 @@ type Space interface {
|
|||||||
|
|
||||||
SpaceSyncRpc() RpcHandler
|
SpaceSyncRpc() RpcHandler
|
||||||
|
|
||||||
DeriveTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, 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 synctree.UpdateListener) (tree.ObjectTree, error)
|
CreateTree(ctx context.Context, payload tree.ObjectTreeCreatePayload, listener updatelistener.UpdateListener) (tree.ObjectTree, error)
|
||||||
BuildTree(ctx context.Context, id string, listener synctree.UpdateListener) (tree.ObjectTree, error)
|
BuildTree(ctx context.Context, id string, listener updatelistener.UpdateListener) (tree.ObjectTree, error)
|
||||||
|
|
||||||
Close() error
|
Close() error
|
||||||
}
|
}
|
||||||
@ -88,15 +89,15 @@ func (s *space) DiffService() diffservice.DiffService {
|
|||||||
return s.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)
|
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)
|
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) {
|
getTreeRemote := func() (*spacesyncproto.ObjectSyncMessage, error) {
|
||||||
// TODO: add empty context handling (when this is not happening due to head update)
|
// TODO: add empty context handling (when this is not happening due to head update)
|
||||||
peerId, err := syncservice.GetPeerIdFromStreamContext(ctx)
|
peerId, err := syncservice.GetPeerIdFromStreamContext(ctx)
|
||||||
|
|||||||
@ -10,5 +10,5 @@ var (
|
|||||||
|
|
||||||
ErrUnexpected = errGroup.Register(errors.New("unexpected error"), uint64(ErrCodes_Unexpected))
|
ErrUnexpected = errGroup.Register(errors.New("unexpected error"), uint64(ErrCodes_Unexpected))
|
||||||
ErrSpaceMissing = errGroup.Register(errors.New("space is missing"), uint64(ErrCodes_SpaceMissing))
|
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))
|
||||||
)
|
)
|
||||||
|
|||||||
@ -4,29 +4,25 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto"
|
"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/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/list"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/storage"
|
"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/tree"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treechangeproto"
|
"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
|
// SyncTree sends head updates to sync service and also sends new changes to update listener
|
||||||
type SyncTree struct {
|
type SyncTree struct {
|
||||||
tree.ObjectTree
|
tree.ObjectTree
|
||||||
syncService syncservice.SyncService
|
syncService syncservice.SyncService
|
||||||
listener UpdateListener
|
listener updatelistener.UpdateListener
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeriveSyncTree(
|
func DeriveSyncTree(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
payload tree.ObjectTreeCreatePayload,
|
payload tree.ObjectTreeCreatePayload,
|
||||||
syncService syncservice.SyncService,
|
syncService syncservice.SyncService,
|
||||||
listener UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList,
|
aclList list.ACLList,
|
||||||
createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) {
|
createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) {
|
||||||
t, err = tree.CreateDerivedObjectTree(payload, aclList, createStorage)
|
t, err = tree.CreateDerivedObjectTree(payload, aclList, createStorage)
|
||||||
@ -50,7 +46,7 @@ func CreateSyncTree(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
payload tree.ObjectTreeCreatePayload,
|
payload tree.ObjectTreeCreatePayload,
|
||||||
syncService syncservice.SyncService,
|
syncService syncservice.SyncService,
|
||||||
listener UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList,
|
aclList list.ACLList,
|
||||||
createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) {
|
createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) {
|
||||||
t, err = tree.CreateObjectTree(payload, aclList, createStorage)
|
t, err = tree.CreateObjectTree(payload, aclList, createStorage)
|
||||||
@ -74,7 +70,7 @@ func BuildSyncTree(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
syncService syncservice.SyncService,
|
syncService syncservice.SyncService,
|
||||||
treeStorage storage.TreeStorage,
|
treeStorage storage.TreeStorage,
|
||||||
listener UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList) (t tree.ObjectTree, err error) {
|
aclList list.ACLList) (t tree.ObjectTree, err error) {
|
||||||
return buildSyncTree(ctx, syncService, treeStorage, listener, aclList)
|
return buildSyncTree(ctx, syncService, treeStorage, listener, aclList)
|
||||||
}
|
}
|
||||||
@ -83,7 +79,7 @@ func buildSyncTree(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
syncService syncservice.SyncService,
|
syncService syncservice.SyncService,
|
||||||
treeStorage storage.TreeStorage,
|
treeStorage storage.TreeStorage,
|
||||||
listener UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList) (t tree.ObjectTree, err error) {
|
aclList list.ACLList) (t tree.ObjectTree, err error) {
|
||||||
t, err = tree.BuildObjectTree(treeStorage, aclList)
|
t, err = tree.BuildObjectTree(treeStorage, aclList)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -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)
|
||||||
|
}
|
||||||
@ -17,7 +17,7 @@ var (
|
|||||||
|
|
||||||
func RegisterErr(err error, code uint64) error {
|
func RegisterErr(err error, code uint64) error {
|
||||||
if e, ok := errsMap[code]; ok {
|
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)
|
errWithCode := drpcerr.WithCode(err, code)
|
||||||
errsMap[code] = errWithCode
|
errsMap[code] = errWithCode
|
||||||
|
|||||||
@ -108,7 +108,7 @@ func nodeFromConfigNode(
|
|||||||
}
|
}
|
||||||
|
|
||||||
decodedEncryptionKey, err := keys.DecodeKeyFromString(
|
decodedEncryptionKey, err := keys.DecodeKeyFromString(
|
||||||
n.SigningKey,
|
n.EncryptionKey,
|
||||||
encryptionkey.NewEncryptionRsaPrivKeyFromBytes,
|
encryptionkey.NewEncryptionRsaPrivKeyFromBytes,
|
||||||
nil)
|
nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user