AddDriveUseCase.cs 597 B

1234567891011121314151617181920212223242526
  1. using RackPeek.Domain.Resources.Hardware.Models;
  2. namespace RackPeek.Domain.Resources.Hardware.Servers.Drives;
  3. public class AddDrivesUseCase(IHardwareRepository repository)
  4. {
  5. public async Task ExecuteAsync(
  6. string serverName,
  7. string type,
  8. int size)
  9. {
  10. var hardware = await repository.GetByNameAsync(serverName);
  11. if (hardware is not Server server) return;
  12. server.Drives ??= [];
  13. server.Drives.Add(new Drive
  14. {
  15. Type = type,
  16. Size = size
  17. });
  18. await repository.UpdateAsync(server);
  19. }
  20. }