[backend/api] Add conflict check when creating folders
This commit is contained in:
parent
72800a68e8
commit
85e24e03f1
1 changed files with 9 additions and 0 deletions
|
@ -283,6 +283,15 @@ public class DriveController(
|
||||||
if (string.IsNullOrWhiteSpace(request.Name))
|
if (string.IsNullOrWhiteSpace(request.Name))
|
||||||
throw GracefulException.BadRequest("Folder name cannot be empty");
|
throw GracefulException.BadRequest("Folder name cannot be empty");
|
||||||
|
|
||||||
|
var existing = await db.DriveFolders
|
||||||
|
#pragma warning disable CA1862
|
||||||
|
.AnyAsync(p => p.Name.ToLower() == request.Name.Trim().ToLower()
|
||||||
|
#pragma warning restore CA1862
|
||||||
|
&& p.ParentId == request.ParentId
|
||||||
|
&& p.UserId == user.Id);
|
||||||
|
if (existing)
|
||||||
|
throw GracefulException.Conflict("A folder with this name already exists");
|
||||||
|
|
||||||
var driveFolder = await driveSvc.CreateFolderAsync(user, request.Name.Trim(), request.ParentId);
|
var driveFolder = await driveSvc.CreateFolderAsync(user, request.Name.Trim(), request.ParentId);
|
||||||
|
|
||||||
return new DriveFolderResponse
|
return new DriveFolderResponse
|
||||||
|
|
Loading…
Add table
Reference in a new issue