From 72800a68e82900a1ab31d80ff9f69b2b86e53b54 Mon Sep 17 00:00:00 2001 From: pancakes Date: Mon, 30 Dec 2024 23:58:00 +1000 Subject: [PATCH] [backend/api] Improve DriveFolder existing check --- .../Controllers/Web/DriveController.cs | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Web/DriveController.cs b/Iceshrimp.Backend/Controllers/Web/DriveController.cs index 9a3c70b8..591eec1d 100644 --- a/Iceshrimp.Backend/Controllers/Web/DriveController.cs +++ b/Iceshrimp.Backend/Controllers/Web/DriveController.cs @@ -363,11 +363,11 @@ public class DriveController( var existing = await db.DriveFolders #pragma warning disable CA1862 - .FirstOrDefaultAsync(p => p.Name.ToLower() == name.Trim().ToLower() - #pragma warning restore CA1862 - && p.ParentId == folder.ParentId - && p.UserId == user.Id); - if (existing != null) + .AnyAsync(p => p.Name.ToLower() == name.Trim().ToLower() + #pragma warning restore CA1862 + && p.ParentId == folder.ParentId + && p.UserId == user.Id); + if (existing) throw GracefulException.Conflict("A folder with this name already exists"); folder.Name = name.Trim(); @@ -429,10 +429,12 @@ public class DriveController( } var existing = await db.DriveFolders - .FirstOrDefaultAsync(p => p.Name == folder.Name - && p.ParentId == request.FolderId - && p.UserId == user.Id); - if (existing != null) + #pragma warning disable CA1862 + .AnyAsync(p => p.Name.ToLower() == folder.Name.ToLower() + #pragma warning restore CA1862 + && p.ParentId == request.FolderId + && p.UserId == user.Id); + if (existing) throw GracefulException.Conflict("A folder with this name already exists in the new parent folder"); folder.ParentId = request.FolderId;