RemoveConnectionUseCase.cs 557 B

12345678910111213141516171819202122
  1. using RackPeek.Domain.Helpers;
  2. using RackPeek.Domain.Persistence;
  3. namespace RackPeek.Domain.Resources.Connections;
  4. public interface IRemoveConnectionUseCase
  5. {
  6. Task ExecuteAsync(PortReference port);
  7. }
  8. public class RemoveConnectionUseCase(IResourceCollection repository)
  9. : IRemoveConnectionUseCase
  10. {
  11. public async Task ExecuteAsync(PortReference port)
  12. {
  13. port.Resource = Normalize.HardwareName(port.Resource);
  14. ThrowIfInvalid.ResourceName(port.Resource);
  15. await repository.RemoveConnectionsForPortAsync(port);
  16. }
  17. }