AddGpuUseCase.cs 565 B

1234567891011121314151617181920212223242526
  1. namespace RackPeek.Domain.Resources.Hardware.Server.Gpu;
  2. public class AddGpuUseCase(IHardwareRepository repository)
  3. {
  4. public async Task ExecuteAsync(
  5. string serverName,
  6. string model,
  7. int vram)
  8. {
  9. var hardware = await repository.GetByNameAsync(serverName);
  10. if (hardware is not Models.Server server)
  11. return;
  12. server.Gpus ??= [];
  13. server.Gpus.Add(new Models.Gpu
  14. {
  15. Model = model,
  16. Vram = vram
  17. });
  18. await repository.UpdateAsync(server);
  19. }
  20. }