From d23f36d364b855019db90130956901b1c0f81312 Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Thu, 24 Nov 2022 22:41:34 +0100 Subject: [PATCH] Fix settings document --- common/commonspace/service.go | 10 ---------- .../commonspace/settingsdocument/settingsdocument.go | 12 +++++++----- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/common/commonspace/service.go b/common/commonspace/service.go index a5d45a75..6b101b31 100644 --- a/common/commonspace/service.go +++ b/common/commonspace/service.go @@ -124,16 +124,6 @@ func (s *service) NewSpace(ctx context.Context, id string) (Space, error) { } func (s *service) addSpaceStorage(ctx context.Context, spaceDescription SpaceDescription) (st storage.SpaceStorage, err error) { - _, err = s.storageProvider.SpaceStorage(spaceDescription.SpaceHeader.Id) - if err == nil { - err = spacesyncproto.ErrSpaceExists - return - } - if err != storage.ErrSpaceStorageMissing { - err = spacesyncproto.ErrUnexpected - return - } - payload := storage.SpaceStorageCreatePayload{ AclWithId: &aclrecordproto.RawACLRecordWithId{ Payload: spaceDescription.AclPayload, diff --git a/common/commonspace/settingsdocument/settingsdocument.go b/common/commonspace/settingsdocument/settingsdocument.go index 0dea6b8e..f2d055a4 100644 --- a/common/commonspace/settingsdocument/settingsdocument.go +++ b/common/commonspace/settingsdocument/settingsdocument.go @@ -41,7 +41,7 @@ type settingsDocument struct { store spacestorage.SpaceStorage prov deletedIdsProvider buildFunc BuildTreeFunc - loop deleteLoop + loop *deleteLoop deletionState *deletionstate.DeletionState lastChangeId string @@ -57,6 +57,7 @@ func NewSettingsDocument(deps Deps, spaceId string) (doc SettingsDocument, err e }) s := &settingsDocument{ + loop: loop, spaceId: spaceId, account: deps.Account, deletionState: deps.DeletionState, @@ -74,9 +75,9 @@ func NewSettingsDocument(deps Deps, spaceId string) (doc SettingsDocument, err e return } -func (s *settingsDocument) updateIds(lastChangeId string) { +func (s *settingsDocument) updateIds(tr tree.ObjectTree, lastChangeId string) { s.lastChangeId = lastChangeId - ids, lastId, err := s.prov.ProvideIds(s, s.lastChangeId) + ids, lastId, err := s.prov.ProvideIds(tr, s.lastChangeId) if err != nil { log.With(zap.Strings("ids", ids), zap.Error(err)).Error("failed to update state") return @@ -88,11 +89,12 @@ func (s *settingsDocument) updateIds(lastChangeId string) { } func (s *settingsDocument) Update(tr tree.ObjectTree) { - s.updateIds(s.lastChangeId) + s.updateIds(tr, s.lastChangeId) } func (s *settingsDocument) Rebuild(tr tree.ObjectTree) { - s.updateIds("") + // at initial build "s" may not contain the object tree, so it is safer to provide it from the function parameter + s.updateIds(tr, "") } func (s *settingsDocument) Init(ctx context.Context) (err error) {