AddServerUseCase.cs 514 B

12345678910111213141516171819
  1. namespace RackPeek.Domain.Resources.Hardware.Server;
  2. public class AddServerUseCase(IHardwareRepository repository)
  3. {
  4. public async Task ExecuteAsync(string name)
  5. {
  6. // basic guard rails
  7. var existing = await repository.GetByNameAsync(name);
  8. if (existing != null)
  9. throw new InvalidOperationException($"Server '{name}' already exists.");
  10. var server = new Models.Server
  11. {
  12. Name = name
  13. };
  14. await repository.AddAsync(server);
  15. }
  16. }