From d6908a83d3fa5a1758088a73ff086c4cf0ca02ea Mon Sep 17 00:00:00 2001 From: Kevin Jump Date: Tue, 12 Sep 2023 14:13:02 +0100 Subject: [PATCH] Fix: Stop validation error on upload, --- uSync.BackOffice/Services/SyncFileService.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/uSync.BackOffice/Services/SyncFileService.cs b/uSync.BackOffice/Services/SyncFileService.cs index 9a02203e..eee869f7 100644 --- a/uSync.BackOffice/Services/SyncFileService.cs +++ b/uSync.BackOffice/Services/SyncFileService.cs @@ -390,7 +390,7 @@ public List VerifyFolder(string folder, string extension) if (!DirectoryExists(resolvedFolder)) throw new DirectoryNotFoundException(folder); - var keys = new Dictionary(); + var keys = new Dictionary(); var errors = new List(); var files = Directory.GetFiles(resolvedFolder, $"*.{extension}", SearchOption.AllDirectories) @@ -411,18 +411,21 @@ public List VerifyFolder(string folder, string extension) if (!node.IsEmptyItem()) { - var key = node.GetKey(); + // make the key unique for the type, then we don't get false + // positives when different bits share ids (like PublicAccess and Content) + + var key = $"{node.Name.LocalName}_{node.GetKey()}"; var folderName = Path.GetFileName(Path.GetDirectoryName(file)); var filename = Path.GetFileName(file); - var filepath = GetShortFileName(file); + var filePath = GetShortFileName(file); if (!keys.ContainsKey(key)) { - keys[key] = filepath; + keys[key] = filePath; } else { - errors.Add($"Clash {filepath} shares an id with {keys[key]}"); + errors.Add($"Clash {filePath} shares an id with {keys[key]}"); } } }