AddSystemUseCase.cs 522 B

12345678910111213141516171819
  1. namespace RackPeek.Domain.Resources.SystemResources.UseCases;
  2. public class AddSystemUseCase(ISystemRepository 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($"System '{name}' already exists.");
  10. var system = new SystemResource
  11. {
  12. Name = name
  13. };
  14. await repository.AddAsync(system);
  15. }
  16. }