Selaa lähdekoodia

Implimented Validators in UseCases

James 2 kuukautta sitten
vanhempi
commit
a5733bf29a

+ 4 - 6
RackPeek.Domain/Resources/SystemResources/UseCases/AddSystemDriveUseCase.cs

@@ -7,13 +7,11 @@ namespace RackPeek.Domain.Resources.SystemResources.UseCases;
 
 public class AddSystemDriveUseCase(ISystemRepository repository) : IUseCase
 {
-    public async Task ExecuteAsync(string systemName, string type, int size)
+    public async Task ExecuteAsync(string systemName, string DriveType, int size)
     {
         ThrowIfInvalid.ResourceName(systemName);
-        ThrowIfInvalid.ResourceName(type);
-
-        if (size < 0)
-            throw new ValidationException("Drive size must be non‑negative.");
+        ThrowIfInvalid.ResourceName(DriveType);
+        ThrowIfInvalid.DriveSize(size);
 
         var system = await repository.GetByNameAsync(systemName)
                      ?? throw new NotFoundException($"System '{systemName}' not found.");
@@ -22,7 +20,7 @@ public class AddSystemDriveUseCase(ISystemRepository repository) : IUseCase
 
         system.Drives.Add(new Drive
         {
-            Type = type,
+            Type = DriveType,
             Size = size
         });
 

+ 4 - 6
RackPeek.Domain/Resources/SystemResources/UseCases/UpdateSystemDriveUseCase.cs

@@ -7,13 +7,11 @@ namespace RackPeek.Domain.Resources.SystemResources.UseCases;
 
 public class UpdateSystemDriveUseCase(ISystemRepository repository) : IUseCase
 {
-    public async Task ExecuteAsync(string systemName, int index, string type, int size)
+    public async Task ExecuteAsync(string systemName, int index, string DriveType, int size)
     {
         ThrowIfInvalid.ResourceName(systemName);
-        ThrowIfInvalid.ResourceName(type);
-
-        if (size < 0)
-            throw new ValidationException("Drive size must be non‑negative.");
+        ThrowIfInvalid.ResourceName(DriveType);
+        ThrowIfInvalid.DriveSize(size);
 
         var system = await repository.GetByNameAsync(systemName)
                      ?? throw new NotFoundException($"System '{systemName}' not found.");
@@ -23,7 +21,7 @@ public class UpdateSystemDriveUseCase(ISystemRepository repository) : IUseCase
 
         var drive = system.Drives[index];
 
-        drive.Type = type;
+        drive.Type = DriveType;
         drive.Size = size;
 
         await repository.UpdateAsync(system);