From 5f1043d40bb5ff7219f92af4c28b04ab2ad71c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Thu, 21 Sep 2023 10:11:19 +0200 Subject: [PATCH] Do not reset received share state to pending if there is a state already --- ocis/pkg/command/migrate.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ocis/pkg/command/migrate.go b/ocis/pkg/command/migrate.go index a9bcde6741..7c16f207c3 100644 --- a/ocis/pkg/command/migrate.go +++ b/ocis/pkg/command/migrate.go @@ -162,14 +162,20 @@ func RebuildJSONCS3Indexes(cfg *config.Config) *cli.Command { switch share.Grantee.Type { case provider.GranteeType_GRANTEE_TYPE_USER: userid := share.Grantee.GetUserId().GetOpaqueId() - rs := &collaboration.ReceivedShare{ - Share: share, - State: collaboration.ShareState_SHARE_STATE_PENDING, - } - err := mgr.UserReceivedStates.Add(ctx, userid, spaceId, rs) + existingState, err := mgr.UserReceivedStates.Get(ctx, userid, spaceId, share.Id.OpaqueId) if err != nil { - fmt.Printf(" adding share '%s' to the user cache failed! (%s)\n", share.Id.OpaqueId, err.Error()) + fmt.Printf(" retrieving current state of received share '%s' from the user cache failed! (%s)\n", share.Id.OpaqueId, err.Error()) errorsOccured = true + } else if existingState == nil { + rs := &collaboration.ReceivedShare{ + Share: share, + State: collaboration.ShareState_SHARE_STATE_PENDING, + } + err := mgr.UserReceivedStates.Add(ctx, userid, spaceId, rs) + if err != nil { + fmt.Printf(" adding share '%s' to the user cache failed! (%s)\n", share.Id.OpaqueId, err.Error()) + errorsOccured = true + } } case provider.GranteeType_GRANTEE_TYPE_GROUP: groupid := share.Grantee.GetGroupId().GetOpaqueId()