From d7cae8e32e8edab81cfccaadea24854af5072060 Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Sat, 14 Jan 2023 22:24:57 +0100 Subject: [PATCH] Make settings iterate from root, hide settings from user --- commonspace/settings/idprovider.go | 5 ++--- commonspace/settings/idprovider_test.go | 3 +-- commonspace/space.go | 5 ++++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/commonspace/settings/idprovider.go b/commonspace/settings/idprovider.go index fdb568f8..d681e0d7 100644 --- a/commonspace/settings/idprovider.go +++ b/commonspace/settings/idprovider.go @@ -51,9 +51,8 @@ func (p *provider) ProvideIds(tr objecttree.ObjectTree, startId string) (ids []s } if startId == "" { - err = tr.IterateFrom(tr.Id(), convert, process) - } else { - err = tr.IterateFrom(startId, convert, process) + startId = rootId } + err = tr.IterateFrom(startId, convert, process) return } diff --git a/commonspace/settings/idprovider_test.go b/commonspace/settings/idprovider_test.go index 66194ae4..6a64b78b 100644 --- a/commonspace/settings/idprovider_test.go +++ b/commonspace/settings/idprovider_test.go @@ -78,8 +78,7 @@ func TestProvider_ProvideIds(t *testing.T) { t.Run("startId is empty", func(t *testing.T) { ch := &objecttree.Change{Id: "rootId"} objTree.EXPECT().Root().Return(ch) - objTree.EXPECT().Id().Return("id") - objTree.EXPECT().IterateFrom("id", gomock.Any(), gomock.Any()).Return(nil) + objTree.EXPECT().IterateFrom("rootId", gomock.Any(), gomock.Any()).Return(nil) _, _, err := prov.ProvideIds(objTree, "") require.NoError(t, err) }) diff --git a/commonspace/space.go b/commonspace/space.go index 1f28e327..ec944fab 100644 --- a/commonspace/space.go +++ b/commonspace/space.go @@ -24,6 +24,7 @@ import ( "github.com/anytypeio/any-sync/nodeconf" "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/slice" "github.com/zeebo/errs" "go.uber.org/zap" "strconv" @@ -228,7 +229,9 @@ func (s *space) Storage() spacestorage.SpaceStorage { } func (s *space) StoredIds() []string { - return s.headSync.AllIds() + return slice.DiscardFromSlice(s.headSync.AllIds(), func(id string) bool { + return id == s.settingsObject.Id() + }) } func (s *space) DebugAllHeads() []headsync.TreeHeads {