| 12345678910111213141516171819202122 |
- using RackPeek.Domain.Helpers;
- namespace RackPeek.Domain.Resources.SystemResources.UseCases;
- public class AddSystemUseCase(ISystemRepository repository) : IUseCase
- {
- public async Task ExecuteAsync(string name)
- {
- ThrowIfInvalid.ResourceName(name);
- // basic guard rails
- var existing = await repository.GetByNameAsync(name);
- if (existing != null)
- throw new InvalidOperationException($"System '{name}' already exists.");
- var system = new SystemResource
- {
- Name = name
- };
- await repository.AddAsync(system);
- }
- }
|