RemoveConnectionUseCase.cs 553 B

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