using RackPeek.Domain.Helpers; using RackPeek.Domain.Persistence; namespace RackPeek.Domain.Resources.Connections; public interface IGetConnectionsForResourceUseCase { Task> ExecuteAsync(string resource); } public class GetConnectionsForResourceUseCase(IResourceCollection repository) : IGetConnectionsForResourceUseCase { public async Task> ExecuteAsync(string resource) { resource = Normalize.HardwareName(resource); ThrowIfInvalid.ResourceName(resource); return await repository.GetConnectionsForResourceAsync(resource); } }