GetConnectionForPortUseCase.cs 594 B

12345678910111213141516171819
  1. using RackPeek.Domain.Helpers;
  2. using RackPeek.Domain.Persistence;
  3. namespace RackPeek.Domain.Resources.Connections;
  4. public interface IGetConnectionForPortUseCase {
  5. Task<Connection?> ExecuteAsync(PortReference port);
  6. }
  7. public class GetConnectionForPortUseCase(IResourceCollection repository)
  8. : IGetConnectionForPortUseCase {
  9. public async Task<Connection?> ExecuteAsync(PortReference port) {
  10. port.Resource = Normalize.HardwareName(port.Resource);
  11. ThrowIfInvalid.ResourceName(port.Resource);
  12. return await repository.GetConnectionForPortAsync(port);
  13. }
  14. }