James 2 месяцев назад
Родитель
Сommit
4fe559d41a

+ 4 - 0
RackPeek.Domain/Helpers/Normalize.cs

@@ -2,6 +2,10 @@ namespace RackPeek.Domain.Helpers;
 
 public static class Normalize
 {
+    public static string DriveType(string value)
+    {
+        return value.Trim().ToLowerInvariant();
+    }
     public static string NicType(string value)
     {
         return value.Trim().ToLowerInvariant();

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

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

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

@@ -7,21 +7,22 @@ namespace RackPeek.Domain.Resources.SystemResources.UseCases;
 
 public class UpdateSystemDriveUseCase(ISystemRepository repository) : IUseCase
 {
-    public async Task ExecuteAsync(string systemName, int index, string DriveType, int size)
+    public async Task ExecuteAsync(string systemName, int index, string driveType, int size)
     {
         ThrowIfInvalid.ResourceName(systemName);
-        ThrowIfInvalid.ResourceName(DriveType);
+        var driveTypeNormalized = Normalize.DriveType(driveType);
+        ThrowIfInvalid.DriveType(driveTypeNormalized);
         ThrowIfInvalid.DriveSize(size);
 
-        var system = await repository.GetByNameAsync(systemName)
-                     ?? throw new NotFoundException($"System '{systemName}' not found.");
+        var system = await repository.GetByNameAsync(systemName) ??
+                     throw new NotFoundException($"System '{systemName}' not found.");
 
         if (system.Drives == null || index < 0 || index >= system.Drives.Count)
             throw new NotFoundException($"Drive index {index} not found on system '{systemName}'.");
 
         var drive = system.Drives[index];
 
-        drive.Type = DriveType;
+        drive.Type = driveTypeNormalized;
         drive.Size = size;
 
         await repository.UpdateAsync(system);