AddRouterUseCase.cs 585 B

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