using RackPeek.Domain.Resources.Hardware.Models; namespace RackPeek.Domain.Resources.Hardware.Servers; public class AddServerUseCase(IHardwareRepository repository) { public async Task ExecuteAsync(string name) { // basic guard rails var existing = await repository.GetByNameAsync(name); if (existing != null) throw new InvalidOperationException($"Server '{name}' already exists."); var server = new Server { Name = name }; await repository.AddAsync(server); } }