AddSystemUseCase.cs 563 B

123456789101112131415161718192021
  1. using RackPeek.Domain.Resources.SystemResources;
  2. namespace RackPeek.Domain.Resources.Services.UseCases;
  3. public class AddServiceUseCase(IServiceRepository repository)
  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($"Service '{name}' already exists.");
  11. var service = new Service
  12. {
  13. Name = name
  14. };
  15. await repository.AddAsync(service);
  16. }
  17. }