Change space payload

This commit is contained in:
mcrakhman 2022-10-24 11:59:37 +02:00 committed by Mikhail Iudin
parent 453967fad8
commit 9642c11eea
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
7 changed files with 144 additions and 91 deletions

View File

@ -5,6 +5,7 @@ import (
"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/storage" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/treegetter" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/treegetter"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/aclrecordproto"
) )
type rpcHandler struct { type rpcHandler struct {
@ -23,7 +24,10 @@ func (r *rpcHandler) PushSpace(ctx context.Context, req *spacesyncproto.PushSpac
} }
payload := storage.SpaceStorageCreatePayload{ payload := storage.SpaceStorageCreatePayload{
RecWithId: req.AclRoot, RecWithId: &aclrecordproto.RawACLRecordWithId{
Payload: req.AclPayload,
Id: req.AclPayloadId,
},
SpaceHeaderWithId: req.SpaceHeader, SpaceHeaderWithId: req.SpaceHeader,
} }
st, err := r.s.spaceStorageProvider.CreateSpaceStorage(payload) st, err := r.s.spaceStorageProvider.CreateSpaceStorage(payload)

View File

@ -109,7 +109,8 @@ func (d *diffSyncer) sendPushSpaceRequest(ctx context.Context, cl spacesyncproto
_, err = cl.PushSpace(ctx, &spacesyncproto.PushSpaceRequest{ _, err = cl.PushSpace(ctx, &spacesyncproto.PushSpaceRequest{
SpaceHeader: header, SpaceHeader: header,
AclRoot: root, AclPayload: root.Payload,
AclPayloadId: root.Id,
}) })
return return
} }

View File

@ -23,7 +23,7 @@ import (
type pushSpaceRequestMatcher struct { type pushSpaceRequestMatcher struct {
spaceId string spaceId string
aclRoot *aclrecordproto.RawACLRecordWithId aclRootId string
spaceHeader *spacesyncproto.RawSpaceHeaderWithId spaceHeader *spacesyncproto.RawSpaceHeaderWithId
} }
@ -33,7 +33,7 @@ func (p pushSpaceRequestMatcher) Matches(x interface{}) bool {
return false return false
} }
return res.AclRoot == p.aclRoot && res.SpaceHeader == p.spaceHeader return res.AclPayloadId == p.aclRootId && res.SpaceHeader == p.spaceHeader
} }
func (p pushSpaceRequestMatcher) String() string { func (p pushSpaceRequestMatcher) String() string {
@ -71,11 +71,11 @@ func (m mockPeer) NewStream(ctx context.Context, rpc string, enc drpc.Encoding)
func newPushSpaceRequestMatcher( func newPushSpaceRequestMatcher(
spaceId string, spaceId string,
aclRoot *aclrecordproto.RawACLRecordWithId, aclRootId string,
spaceHeader *spacesyncproto.RawSpaceHeaderWithId) *pushSpaceRequestMatcher { spaceHeader *spacesyncproto.RawSpaceHeaderWithId) *pushSpaceRequestMatcher {
return &pushSpaceRequestMatcher{ return &pushSpaceRequestMatcher{
spaceId: spaceId, spaceId: spaceId,
aclRoot: aclRoot, aclRootId: aclRootId,
spaceHeader: spaceHeader, spaceHeader: spaceHeader,
} }
} }
@ -95,6 +95,7 @@ func TestDiffSyncer_Sync(t *testing.T) {
return clientMock return clientMock
}) })
spaceId := "spaceId" spaceId := "spaceId"
aclRootId := "aclRootId"
l := logger.NewNamed(spaceId) l := logger.NewNamed(spaceId)
diffSyncer := newDiffSyncer(spaceId, diffMock, connectorMock, cacheMock, stMock, factory, l) diffSyncer := newDiffSyncer(spaceId, diffMock, connectorMock, cacheMock, stMock, factory, l)
@ -123,7 +124,9 @@ func TestDiffSyncer_Sync(t *testing.T) {
t.Run("diff syncer sync space missing", func(t *testing.T) { t.Run("diff syncer sync space missing", func(t *testing.T) {
aclStorageMock := mock_aclstorage.NewMockListStorage(ctrl) aclStorageMock := mock_aclstorage.NewMockListStorage(ctrl)
aclRoot := &aclrecordproto.RawACLRecordWithId{} aclRoot := &aclrecordproto.RawACLRecordWithId{
Id: aclRootId,
}
spaceHeader := &spacesyncproto.RawSpaceHeaderWithId{} spaceHeader := &spacesyncproto.RawSpaceHeaderWithId{}
connectorMock.EXPECT(). connectorMock.EXPECT().
@ -142,7 +145,7 @@ func TestDiffSyncer_Sync(t *testing.T) {
Root(). Root().
Return(aclRoot, nil) Return(aclRoot, nil)
clientMock.EXPECT(). clientMock.EXPECT().
PushSpace(gomock.Any(), newPushSpaceRequestMatcher(spaceId, aclRoot, spaceHeader)). PushSpace(gomock.Any(), newPushSpaceRequestMatcher(spaceId, aclRootId, spaceHeader)).
Return(nil, nil) Return(nil, nil)
require.NoError(t, diffSyncer.Sync(ctx)) require.NoError(t, diffSyncer.Sync(ctx))

View File

@ -34,7 +34,7 @@ type service struct {
account account.Service account account.Service
configurationService nodeconf.Service configurationService nodeconf.Service
storageProvider storage.SpaceStorageProvider storageProvider storage.SpaceStorageProvider
cache treegetter.TreeGetter treeGetter treegetter.TreeGetter
pool pool.Pool pool pool.Pool
} }
@ -43,7 +43,7 @@ func (s *service) Init(a *app.App) (err error) {
s.account = a.MustComponent(account.CName).(account.Service) s.account = a.MustComponent(account.CName).(account.Service)
s.storageProvider = a.MustComponent(storage.CName).(storage.SpaceStorageProvider) s.storageProvider = a.MustComponent(storage.CName).(storage.SpaceStorageProvider)
s.configurationService = a.MustComponent(nodeconf.CName).(nodeconf.Service) s.configurationService = a.MustComponent(nodeconf.CName).(nodeconf.Service)
s.cache = a.MustComponent(treegetter.CName).(treegetter.TreeGetter) s.treeGetter = a.MustComponent(treegetter.CName).(treegetter.TreeGetter)
s.pool = a.MustComponent(pool.CName).(pool.Pool) s.pool = a.MustComponent(pool.CName).(pool.Pool)
return nil return nil
} }
@ -90,13 +90,13 @@ func (s *service) GetSpace(ctx context.Context, id string) (Space, error) {
lastConfiguration := s.configurationService.GetLast() lastConfiguration := s.configurationService.GetLast()
confConnector := nodeconf.NewConfConnector(lastConfiguration, s.pool) confConnector := nodeconf.NewConfConnector(lastConfiguration, s.pool)
diffService := diffservice.NewDiffService(id, s.config.SyncPeriod, st, confConnector, s.cache, log) diffService := diffservice.NewDiffService(id, s.config.SyncPeriod, st, confConnector, s.treeGetter, log)
syncService := syncservice.NewSyncService(id, confConnector) syncService := syncservice.NewSyncService(id, confConnector)
sp := &space{ sp := &space{
id: id, id: id,
syncService: syncService, syncService: syncService,
diffService: diffService, diffService: diffService,
cache: s.cache, cache: s.treeGetter,
account: s.account, account: s.account,
configuration: lastConfiguration, configuration: lastConfiguration,
storage: st, storage: st,

View File

@ -2,7 +2,6 @@ syntax = "proto3";
package anySpace; package anySpace;
option go_package = "commonspace/spacesyncproto"; option go_package = "commonspace/spacesyncproto";
import "pkg/acl/aclrecordproto/protos/aclrecord.proto";
enum ErrCodes { enum ErrCodes {
Unexpected = 0; Unexpected = 0;
@ -63,8 +62,9 @@ message ObjectSyncMessage {
// PushSpaceRequest is a request to add space on a node containing only one acl record // PushSpaceRequest is a request to add space on a node containing only one acl record
message PushSpaceRequest { message PushSpaceRequest {
RawSpaceHeaderWithId spaceHeader = 2; RawSpaceHeaderWithId spaceHeader = 1;
aclrecord.RawACLRecordWithId aclRoot = 3; bytes aclPayload = 2;
string aclPayloadId = 3;
} }
// PushSpaceResponse is an empty response // PushSpaceResponse is an empty response

View File

@ -5,7 +5,6 @@ package spacesyncproto
import ( import (
fmt "fmt" fmt "fmt"
aclrecordproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/aclrecordproto"
proto "github.com/gogo/protobuf/proto" proto "github.com/gogo/protobuf/proto"
io "io" io "io"
math "math" math "math"
@ -398,8 +397,9 @@ func (m *ObjectSyncMessage) GetObjectId() string {
// PushSpaceRequest is a request to add space on a node containing only one acl record // PushSpaceRequest is a request to add space on a node containing only one acl record
type PushSpaceRequest struct { type PushSpaceRequest struct {
SpaceHeader *RawSpaceHeaderWithId `protobuf:"bytes,2,opt,name=spaceHeader,proto3" json:"spaceHeader,omitempty"` SpaceHeader *RawSpaceHeaderWithId `protobuf:"bytes,1,opt,name=spaceHeader,proto3" json:"spaceHeader,omitempty"`
AclRoot *aclrecordproto.RawACLRecordWithId `protobuf:"bytes,3,opt,name=aclRoot,proto3" json:"aclRoot,omitempty"` AclPayload []byte `protobuf:"bytes,2,opt,name=aclPayload,proto3" json:"aclPayload,omitempty"`
AclPayloadId string `protobuf:"bytes,3,opt,name=aclPayloadId,proto3" json:"aclPayloadId,omitempty"`
} }
func (m *PushSpaceRequest) Reset() { *m = PushSpaceRequest{} } func (m *PushSpaceRequest) Reset() { *m = PushSpaceRequest{} }
@ -442,13 +442,20 @@ func (m *PushSpaceRequest) GetSpaceHeader() *RawSpaceHeaderWithId {
return nil return nil
} }
func (m *PushSpaceRequest) GetAclRoot() *aclrecordproto.RawACLRecordWithId { func (m *PushSpaceRequest) GetAclPayload() []byte {
if m != nil { if m != nil {
return m.AclRoot return m.AclPayload
} }
return nil return nil
} }
func (m *PushSpaceRequest) GetAclPayloadId() string {
if m != nil {
return m.AclPayloadId
}
return ""
}
// PushSpaceResponse is an empty response // PushSpaceResponse is an empty response
type PushSpaceResponse struct { type PushSpaceResponse struct {
} }
@ -687,52 +694,50 @@ func init() {
} }
var fileDescriptor_80e49f1f4ac27799 = []byte{ var fileDescriptor_80e49f1f4ac27799 = []byte{
// 717 bytes of a gzipped FileDescriptorProto // 685 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0x4f, 0x6f, 0xda, 0x48, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xcd, 0x4e, 0xdb, 0x4a,
0x14, 0xc7, 0x84, 0x24, 0xf0, 0x20, 0x84, 0xcc, 0x66, 0xb5, 0x5e, 0x76, 0x97, 0x45, 0x3e, 0xac, 0x14, 0x8e, 0x4d, 0x80, 0xe4, 0x24, 0x84, 0x30, 0x97, 0xab, 0xeb, 0x9b, 0x56, 0x6e, 0xe4, 0x45,
0xd0, 0x4a, 0x0b, 0x5b, 0x5a, 0xa9, 0x87, 0x5c, 0x9a, 0x26, 0x44, 0x45, 0x6d, 0x9a, 0x68, 0x68, 0x15, 0x75, 0x01, 0x6d, 0xda, 0x1d, 0x9b, 0xfe, 0x10, 0xd4, 0xa8, 0xa2, 0xa0, 0x49, 0xab, 0x4a,
0x55, 0xa9, 0xea, 0x65, 0x62, 0x4f, 0xc0, 0x2d, 0xf6, 0xb8, 0x33, 0x83, 0x88, 0x0f, 0xfd, 0x08, 0x55, 0x37, 0x83, 0x3d, 0x24, 0x53, 0xc5, 0x1e, 0xd7, 0x33, 0x11, 0x78, 0xd1, 0x77, 0xe8, 0xb2,
0x95, 0xfa, 0x15, 0xfa, 0x6d, 0x7a, 0xcc, 0x31, 0xc7, 0x2a, 0xf9, 0x22, 0xd5, 0x3c, 0x63, 0x0c, 0xdb, 0xbe, 0x4d, 0x97, 0x2c, 0x59, 0x56, 0xf0, 0x22, 0xd5, 0x9c, 0xd8, 0x71, 0x02, 0x81, 0xcd,
0x29, 0xc9, 0x01, 0x33, 0xef, 0xcf, 0xef, 0xbd, 0xdf, 0xfc, 0xfc, 0x9e, 0xe1, 0x81, 0x2b, 0x82, 0x64, 0xce, 0x77, 0xfe, 0xbe, 0xf9, 0x72, 0x8e, 0xe1, 0x99, 0x2f, 0xc3, 0x50, 0x46, 0x2a, 0x66,
0x40, 0x84, 0x2a, 0x62, 0x2e, 0xef, 0xe0, 0x53, 0xc5, 0xa1, 0x1b, 0x49, 0xa1, 0x45, 0x07, 0x9f, 0x3e, 0xdf, 0xc5, 0x53, 0xa5, 0x91, 0x1f, 0x27, 0x52, 0xcb, 0x5d, 0x3c, 0x55, 0x81, 0xee, 0x20,
0x2a, 0xf3, 0xb6, 0xd1, 0x41, 0x8a, 0x2c, 0x8c, 0x07, 0xc6, 0x57, 0xff, 0x2f, 0xfa, 0x30, 0xec, 0x40, 0x2a, 0x2c, 0x4a, 0x07, 0x06, 0xf3, 0xfa, 0xb0, 0xf1, 0x96, 0xb3, 0x60, 0x90, 0x46, 0x3e,
0x30, 0x77, 0x6c, 0x7e, 0x92, 0xbb, 0x42, 0x7a, 0x4b, 0xc0, 0xb9, 0x37, 0x01, 0x3a, 0x7d, 0xd8, 0x65, 0xd1, 0x90, 0x13, 0x02, 0xe5, 0xd3, 0x44, 0x86, 0x8e, 0xd5, 0xb6, 0x3a, 0x65, 0x8a, 0x77,
0x7a, 0xc6, 0x99, 0x37, 0x88, 0x43, 0x97, 0xb2, 0x70, 0xc8, 0x09, 0x81, 0xc2, 0xb9, 0x14, 0x81, 0xd2, 0x00, 0x5b, 0x4b, 0xc7, 0x46, 0xc4, 0xd6, 0x92, 0x6c, 0xc3, 0xea, 0x58, 0x84, 0x42, 0x3b,
0x6d, 0x35, 0xad, 0x56, 0x81, 0xe2, 0x99, 0x54, 0x21, 0xaf, 0x85, 0x9d, 0x47, 0x4f, 0x5e, 0x0b, 0x2b, 0x6d, 0xab, 0xb3, 0x41, 0xa7, 0x86, 0x77, 0x06, 0x8d, 0x59, 0x29, 0xae, 0x26, 0x63, 0x6d,
0xb2, 0x0b, 0xeb, 0x63, 0x3f, 0xf0, 0xb5, 0xbd, 0xd6, 0xb4, 0x5a, 0x5b, 0x34, 0x31, 0x9c, 0x29, 0x6a, 0x8d, 0x98, 0x1a, 0x61, 0xad, 0x3a, 0xc5, 0x3b, 0xd9, 0x83, 0x0a, 0x1f, 0xf3, 0x90, 0x47,
0x54, 0xe7, 0xa5, 0xb8, 0x9a, 0x8c, 0xb5, 0xa9, 0x35, 0x62, 0x6a, 0x84, 0xb5, 0x2a, 0x14, 0xcf, 0x5a, 0x39, 0x76, 0x7b, 0xa5, 0x53, 0xeb, 0x3e, 0xda, 0xc9, 0xd9, 0xec, 0x2c, 0xe6, 0xf7, 0xa6,
0x64, 0x0f, 0x8a, 0x7c, 0xcc, 0x03, 0x1e, 0x6a, 0x65, 0xe7, 0x9b, 0x6b, 0xad, 0x72, 0xf7, 0xef, 0x71, 0x74, 0x96, 0x60, 0x1a, 0xfb, 0x72, 0x12, 0xcd, 0x1a, 0xa3, 0xe1, 0xed, 0xc1, 0xbf, 0x4b,
0x76, 0x4a, 0xbe, 0xbd, 0x8c, 0xef, 0x25, 0x79, 0x74, 0x0e, 0x30, 0x8d, 0x5d, 0x31, 0x09, 0xe7, 0x13, 0x0d, 0x6f, 0x11, 0x60, 0xf7, 0x2a, 0xb5, 0x45, 0x80, 0x7c, 0x38, 0x0b, 0xf0, 0x25, 0x55,
0x8d, 0xd1, 0x70, 0xf6, 0xe0, 0xd7, 0x95, 0x40, 0xc3, 0xdb, 0xf7, 0xb0, 0x7b, 0x89, 0xe6, 0x7d, 0x8a, 0x77, 0xef, 0x0b, 0x6c, 0x16, 0xc9, 0xdf, 0x26, 0x5c, 0x69, 0xe2, 0xc0, 0x3a, 0x0a, 0xd6,
0x0f, 0xf9, 0x70, 0xe6, 0xe1, 0x4d, 0x4a, 0x14, 0xcf, 0xce, 0x3b, 0xd8, 0xce, 0xc0, 0x1f, 0x27, 0xcf, 0x73, 0x73, 0x93, 0xec, 0xc2, 0x5a, 0x62, 0x54, 0xca, 0xa9, 0xff, 0xb7, 0x84, 0xba, 0xf1,
0x5c, 0x69, 0x62, 0xc3, 0x26, 0xea, 0xdb, 0x4f, 0xb1, 0xa9, 0x49, 0x3a, 0xb0, 0x21, 0x8d, 0x4a, 0xd3, 0x2c, 0xcc, 0x3b, 0x80, 0xe6, 0x1c, 0xb5, 0x58, 0x46, 0x8a, 0x93, 0x2e, 0xac, 0x27, 0x48,
0x29, 0xf5, 0xdf, 0x56, 0x50, 0x37, 0x71, 0x3a, 0x4b, 0x73, 0x8e, 0xa0, 0xb6, 0x40, 0x2d, 0x12, 0x53, 0x39, 0x16, 0x56, 0x71, 0xee, 0x12, 0x80, 0xe6, 0x81, 0xde, 0x77, 0xd8, 0x3a, 0x3a, 0xf9,
0xa1, 0xe2, 0xa4, 0x0b, 0x9b, 0x12, 0x69, 0x2a, 0xdb, 0xc2, 0x2a, 0xf6, 0x5d, 0x02, 0xd0, 0x34, 0xca, 0x7d, 0x6d, 0x9c, 0x87, 0x5c, 0x29, 0x36, 0xe4, 0xf7, 0xf0, 0x74, 0x4c, 0x8b, 0x78, 0x9c,
0xd1, 0xf9, 0x04, 0x3b, 0x27, 0x67, 0xef, 0xb9, 0xab, 0x4d, 0xf0, 0x98, 0x2b, 0xc5, 0x86, 0xfc, 0xf6, 0xf3, 0xb7, 0xe6, 0xa6, 0xf1, 0xc4, 0x2c, 0x1d, 0x4b, 0x16, 0xa0, 0x86, 0x75, 0x9a, 0x9b,
0x1e, 0x9e, 0xb6, 0x69, 0x11, 0x8d, 0xe3, 0x7e, 0x7a, 0xd7, 0xd4, 0x34, 0x91, 0x88, 0xc5, 0x63, 0xa4, 0x05, 0x15, 0x89, 0x2d, 0xfa, 0x81, 0x53, 0xc6, 0xa4, 0x99, 0xed, 0xfd, 0xb4, 0xa0, 0x79,
0xc1, 0x3c, 0xd4, 0xb0, 0x42, 0x53, 0x93, 0xd4, 0xa1, 0x28, 0xb0, 0x45, 0xdf, 0xb3, 0x0b, 0x08, 0x3c, 0x51, 0x23, 0x24, 0x99, 0xcb, 0xf4, 0x12, 0x6a, 0xd8, 0xcf, 0x70, 0xe6, 0x09, 0x52, 0xa8,
0x9a, 0xdb, 0xce, 0x67, 0x0b, 0x6a, 0xa7, 0x13, 0x35, 0x42, 0x92, 0xa9, 0x4c, 0x4f, 0xa0, 0x8c, 0x75, 0xdd, 0xe2, 0x2d, 0x94, 0x9d, 0x0d, 0x0a, 0xff, 0x27, 0xa1, 0x47, 0xfd, 0x80, 0xce, 0xa7,
0xfd, 0x0c, 0x67, 0x2e, 0xb1, 0x51, 0xb9, 0xdb, 0xc8, 0xee, 0x42, 0xd9, 0x74, 0x90, 0xc5, 0xdf, 0x10, 0x17, 0x80, 0xf9, 0xe3, 0xe3, 0x8c, 0x8f, 0x8d, 0x7c, 0xe6, 0x10, 0xe2, 0x41, 0xbd, 0xb0,
0xf8, 0x7a, 0xd4, 0xf7, 0xe8, 0x22, 0x84, 0x3c, 0x86, 0x4d, 0xe6, 0x8e, 0xa9, 0x10, 0xc9, 0x0b, 0xfa, 0x53, 0xc6, 0x55, 0xba, 0x80, 0x79, 0xff, 0xc0, 0xd6, 0x1c, 0xb3, 0xa9, 0xc4, 0xde, 0x2f,
0x2d, 0x77, 0xff, 0x6a, 0x67, 0xf3, 0x49, 0xd9, 0x74, 0xff, 0xe0, 0x05, 0x45, 0x63, 0x06, 0x4e, 0x0b, 0x6a, 0x73, 0xbd, 0xcd, 0xdb, 0x44, 0xc0, 0x23, 0x2d, 0x74, 0x9a, 0x0d, 0xe3, 0xcc, 0x26,
0xb3, 0x9d, 0x5f, 0x60, 0x67, 0x81, 0x4e, 0xa2, 0xab, 0xf3, 0xd5, 0x82, 0xf2, 0x42, 0x43, 0x73, 0x0f, 0xa1, 0xaa, 0x45, 0xc8, 0x95, 0x66, 0x61, 0x8c, 0x1c, 0x56, 0x68, 0x01, 0x18, 0x2f, 0x32,
0x21, 0xdf, 0xe3, 0xa1, 0xf6, 0x75, 0x3c, 0x9b, 0xc0, 0xb9, 0x4d, 0xfe, 0x84, 0x92, 0xf6, 0x03, 0xfe, 0x90, 0xc6, 0x3c, 0xeb, 0x5f, 0x00, 0xe4, 0x31, 0x34, 0x8c, 0xb0, 0xc2, 0x67, 0x5a, 0xc8,
0xae, 0x34, 0x0b, 0x22, 0x64, 0xbe, 0x46, 0x33, 0x87, 0x89, 0x22, 0xcd, 0x57, 0x71, 0xc4, 0x91, 0xe8, 0x1d, 0x4f, 0x51, 0xb9, 0x32, 0xbd, 0x81, 0x9a, 0xc1, 0x53, 0x9c, 0x07, 0xce, 0xea, 0x74,
0x59, 0x89, 0x66, 0x0e, 0xf2, 0x0f, 0x54, 0x8d, 0x9a, 0xbe, 0xcb, 0xb4, 0x2f, 0xc2, 0xe7, 0x3c, 0x11, 0xcc, 0xdd, 0x3b, 0x86, 0xc6, 0xa2, 0x42, 0xa4, 0x7d, 0x5b, 0xd0, 0xfa, 0xa2, 0x60, 0x86,
0x46, 0xb9, 0x0a, 0xf4, 0x96, 0xd7, 0x4c, 0x9b, 0xe2, 0xdc, 0xb3, 0xd7, 0x93, 0xe9, 0x37, 0x67, 0x8d, 0x18, 0x46, 0x4c, 0x4f, 0x12, 0x9e, 0xe9, 0x55, 0x00, 0xde, 0x3e, 0x6c, 0x2f, 0xd3, 0xdc,
0xe7, 0x14, 0xaa, 0xcb, 0xb2, 0x90, 0xe6, 0xb2, 0x8a, 0x09, 0xd1, 0x25, 0x95, 0x0c, 0x1b, 0x7f, 0x64, 0x25, 0xec, 0x6c, 0xa1, 0x6a, 0x01, 0x64, 0x4b, 0x62, 0xe7, 0x4b, 0xf2, 0xe4, 0x3d, 0x54,
0x18, 0x32, 0x3d, 0x91, 0x1c, 0xb9, 0x56, 0x68, 0xe6, 0x70, 0x0e, 0x61, 0x77, 0x95, 0xd0, 0x06, 0x7a, 0x49, 0xf2, 0x46, 0x06, 0x5c, 0x91, 0x06, 0xc0, 0xc7, 0x88, 0x9f, 0xc7, 0xdc, 0xd7, 0x3c,
0x25, 0xd9, 0x74, 0xa9, 0x6a, 0xe6, 0x98, 0x6d, 0x46, 0x3e, 0xdd, 0x8c, 0x7f, 0x5f, 0x42, 0xb1, 0x68, 0x96, 0x48, 0x13, 0xea, 0x58, 0xfe, 0x50, 0x28, 0x25, 0xa2, 0x61, 0xd3, 0x22, 0x9b, 0x99,
0x27, 0xe5, 0x81, 0xf0, 0xb8, 0x22, 0x55, 0x80, 0xd7, 0x21, 0xbf, 0x88, 0xb8, 0xab, 0xb9, 0x57, 0xd0, 0xbd, 0x73, 0xa1, 0xb4, 0x6a, 0xda, 0x06, 0xe8, 0x25, 0x89, 0x4c, 0x8e, 0x4e, 0x4f, 0x15,
0xcb, 0x91, 0x1a, 0x54, 0xb0, 0xfc, 0xb1, 0xaf, 0x94, 0x1f, 0x0e, 0x6b, 0x16, 0xd9, 0x9e, 0x09, 0xd7, 0xcd, 0xa0, 0x7b, 0x69, 0xc1, 0x2a, 0x86, 0x90, 0x57, 0x50, 0xc9, 0xe7, 0x9b, 0xfc, 0xbf,
0xdd, 0xbb, 0xf0, 0x95, 0x56, 0xb5, 0xbc, 0x71, 0xf4, 0xa4, 0x14, 0xf2, 0xe4, 0xfc, 0x5c, 0x71, 0x6c, 0xe6, 0x71, 0xae, 0x5a, 0xad, 0xa5, 0xeb, 0x30, 0xdd, 0x9d, 0x7d, 0xa8, 0xce, 0xfe, 0x6d,
0x5d, 0xf3, 0xba, 0x57, 0x16, 0xac, 0x63, 0x0a, 0xd9, 0x87, 0x62, 0x3a, 0xd4, 0xe4, 0xf7, 0x55, 0x32, 0x17, 0x78, 0x73, 0x38, 0x5b, 0x0f, 0x96, 0xfa, 0xb2, 0x2a, 0x07, 0xb0, 0x36, 0xd0, 0x09,
0x83, 0x8e, 0xc3, 0x54, 0xaf, 0xaf, 0xdc, 0x81, 0x64, 0x61, 0x0e, 0xa1, 0x34, 0x7f, 0xdb, 0x64, 0x67, 0x21, 0x99, 0x0b, 0xbb, 0xb5, 0x5f, 0xad, 0xfb, 0x9c, 0x1d, 0xeb, 0xa9, 0xf5, 0xfa, 0xc5,
0x21, 0xf1, 0xf6, 0x44, 0xd6, 0xff, 0x58, 0x19, 0x9b, 0x55, 0x39, 0x82, 0x8d, 0x81, 0x96, 0x9c, 0xef, 0x2b, 0xd7, 0xba, 0xb8, 0x72, 0xad, 0x3f, 0x57, 0xae, 0xf5, 0xe3, 0xda, 0x2d, 0x5d, 0x5c,
0x05, 0x64, 0x21, 0xed, 0xa7, 0xa5, 0xaa, 0xdf, 0x17, 0x6c, 0x59, 0xff, 0x5b, 0x4f, 0x1f, 0x7d, 0xbb, 0xa5, 0xcb, 0x6b, 0xb7, 0xf4, 0xb9, 0x75, 0xf7, 0x37, 0xf9, 0x64, 0x0d, 0x7f, 0x9e, 0xff,
0xbb, 0x6e, 0x58, 0x97, 0xd7, 0x0d, 0xeb, 0xfb, 0x75, 0xc3, 0xfa, 0x72, 0xd3, 0xc8, 0x5d, 0xde, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x45, 0x08, 0x76, 0xb8, 0x05, 0x00, 0x00,
0x34, 0x72, 0x57, 0x37, 0x8d, 0xdc, 0xdb, 0xfa, 0xdd, 0xdf, 0xed, 0xb3, 0x0d, 0xfc, 0x7b, 0xf8,
0x23, 0x00, 0x00, 0xff, 0xff, 0x84, 0x55, 0x32, 0xc7, 0xdc, 0x05, 0x00, 0x00,
} }
func (m *HeadSyncRange) Marshal() (dAtA []byte, err error) { func (m *HeadSyncRange) Marshal() (dAtA []byte, err error) {
@ -1011,18 +1016,20 @@ func (m *PushSpaceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i _ = i
var l int var l int
_ = l _ = l
if m.AclRoot != nil { if len(m.AclPayloadId) > 0 {
{ i -= len(m.AclPayloadId)
size, err := m.AclRoot.MarshalToSizedBuffer(dAtA[:i]) copy(dAtA[i:], m.AclPayloadId)
if err != nil { i = encodeVarintSpacesync(dAtA, i, uint64(len(m.AclPayloadId)))
return 0, err
}
i -= size
i = encodeVarintSpacesync(dAtA, i, uint64(size))
}
i-- i--
dAtA[i] = 0x1a dAtA[i] = 0x1a
} }
if len(m.AclPayload) > 0 {
i -= len(m.AclPayload)
copy(dAtA[i:], m.AclPayload)
i = encodeVarintSpacesync(dAtA, i, uint64(len(m.AclPayload)))
i--
dAtA[i] = 0x12
}
if m.SpaceHeader != nil { if m.SpaceHeader != nil {
{ {
size, err := m.SpaceHeader.MarshalToSizedBuffer(dAtA[:i]) size, err := m.SpaceHeader.MarshalToSizedBuffer(dAtA[:i])
@ -1033,7 +1040,7 @@ func (m *PushSpaceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i = encodeVarintSpacesync(dAtA, i, uint64(size)) i = encodeVarintSpacesync(dAtA, i, uint64(size))
} }
i-- i--
dAtA[i] = 0x12 dAtA[i] = 0xa
} }
return len(dAtA) - i, nil return len(dAtA) - i, nil
} }
@ -1326,8 +1333,12 @@ func (m *PushSpaceRequest) Size() (n int) {
l = m.SpaceHeader.Size() l = m.SpaceHeader.Size()
n += 1 + l + sovSpacesync(uint64(l)) n += 1 + l + sovSpacesync(uint64(l))
} }
if m.AclRoot != nil { l = len(m.AclPayload)
l = m.AclRoot.Size() if l > 0 {
n += 1 + l + sovSpacesync(uint64(l))
}
l = len(m.AclPayloadId)
if l > 0 {
n += 1 + l + sovSpacesync(uint64(l)) n += 1 + l + sovSpacesync(uint64(l))
} }
return n return n
@ -2176,7 +2187,7 @@ func (m *PushSpaceRequest) Unmarshal(dAtA []byte) error {
return fmt.Errorf("proto: PushSpaceRequest: illegal tag %d (wire type %d)", fieldNum, wire) return fmt.Errorf("proto: PushSpaceRequest: illegal tag %d (wire type %d)", fieldNum, wire)
} }
switch fieldNum { switch fieldNum {
case 2: case 1:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field SpaceHeader", wireType) return fmt.Errorf("proto: wrong wireType = %d for field SpaceHeader", wireType)
} }
@ -2212,11 +2223,11 @@ func (m *PushSpaceRequest) Unmarshal(dAtA []byte) error {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
case 3: case 2:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AclRoot", wireType) return fmt.Errorf("proto: wrong wireType = %d for field AclPayload", wireType)
} }
var msglen int var byteLen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowSpacesync return ErrIntOverflowSpacesync
@ -2226,27 +2237,57 @@ func (m *PushSpaceRequest) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
msglen |= int(b&0x7F) << shift byteLen |= int(b&0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
if msglen < 0 { if byteLen < 0 {
return ErrInvalidLengthSpacesync return ErrInvalidLengthSpacesync
} }
postIndex := iNdEx + msglen postIndex := iNdEx + byteLen
if postIndex < 0 { if postIndex < 0 {
return ErrInvalidLengthSpacesync return ErrInvalidLengthSpacesync
} }
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.AclRoot == nil { m.AclPayload = append(m.AclPayload[:0], dAtA[iNdEx:postIndex]...)
m.AclRoot = &aclrecordproto.RawACLRecordWithId{} if m.AclPayload == nil {
m.AclPayload = []byte{}
} }
if err := m.AclRoot.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { iNdEx = postIndex
return err case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AclPayloadId", wireType)
} }
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSpacesync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthSpacesync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSpacesync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.AclPayloadId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex

View File

@ -4,6 +4,7 @@ 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/storage" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/aclrecordproto"
) )
type rpcHandler struct { type rpcHandler struct {
@ -22,7 +23,10 @@ func (r *rpcHandler) PushSpace(ctx context.Context, req *spacesyncproto.PushSpac
} }
payload := storage.SpaceStorageCreatePayload{ payload := storage.SpaceStorageCreatePayload{
RecWithId: req.AclRoot, RecWithId: &aclrecordproto.RawACLRecordWithId{
Payload: req.AclPayload,
Id: req.AclPayloadId,
},
SpaceHeaderWithId: req.SpaceHeader, SpaceHeaderWithId: req.SpaceHeader,
} }
st, err := r.s.spaceStorageProvider.CreateSpaceStorage(payload) st, err := r.s.spaceStorageProvider.CreateSpaceStorage(payload)