GetConnectionsForResourceUseCase.cs 625 B

12345678910111213141516171819
  1. using RackPeek.Domain.Helpers;
  2. using RackPeek.Domain.Persistence;
  3. namespace RackPeek.Domain.Resources.Connections;
  4. public interface IGetConnectionsForResourceUseCase {
  5. Task<IReadOnlyList<Connection>> ExecuteAsync(string resource);
  6. }
  7. public class GetConnectionsForResourceUseCase(IResourceCollection repository)
  8. : IGetConnectionsForResourceUseCase {
  9. public async Task<IReadOnlyList<Connection>> ExecuteAsync(string resource) {
  10. resource = Normalize.HardwareName(resource);
  11. ThrowIfInvalid.ResourceName(resource);
  12. return await repository.GetConnectionsForResourceAsync(resource);
  13. }
  14. }