From 8cfc1d2b2e9f7da618ffd98f44e2898116dea21e Mon Sep 17 00:00:00 2001 From: Abhishek Shroff Date: Thu, 9 Jan 2025 08:36:06 +0530 Subject: [PATCH] [server] Fix name conflict resolution delete --- server/internal/core/fs/create.go | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/server/internal/core/fs/create.go b/server/internal/core/fs/create.go index 3f5798e5..3baedab1 100644 --- a/server/internal/core/fs/create.go +++ b/server/internal/core/fs/create.go @@ -201,19 +201,22 @@ func (f filesystem) createResource( } } case ResourceBindConflictResolutionDelete: - deleted = true - err = f.deleteRecursive(res.ID, parent, true, false) + res, err = f.db.ChildResourceByName(f.ctx, db.ChildResourceByNameParams{Parent: parent, Name: name}) if err == nil { - res, created, _, err = f.createResource( - id, - parent, - name, - dir, - contentLength, - contentType, - contentSHA256, - ResourceBindConflictResolutionError, - ) + deleted = true + err = f.deleteRecursive(res.ID, parent, true, false) + if err == nil { + res, created, _, err = f.createResource( + id, + parent, + name, + dir, + contentLength, + contentType, + contentSHA256, + ResourceBindConflictResolutionError, + ) + } } } } else if strings.Contains(err.Error(), "resources_pkey") {