From b57c0aa9c759e15e147e44de0f05f5d267401341 Mon Sep 17 00:00:00 2001 From: TekH Date: Tue, 21 Oct 2025 15:41:09 +0200 Subject: [PATCH] refactor(RemoveDocStatusHandler): update RemoveDocStatusHandler to support conditional receiver signature filtering Updated the RemoveDocStatusHandler to refine document status deletion logic. Now filters by EnvelopeUuid and optionally by ReceiverSignature when provided. --- .../Handlers/RemoveDocStatusHandler.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.Application/Common/Notifications/RemoveSignature/Handlers/RemoveDocStatusHandler.cs b/EnvelopeGenerator.Application/Common/Notifications/RemoveSignature/Handlers/RemoveDocStatusHandler.cs index 1e674973..2a1798e4 100644 --- a/EnvelopeGenerator.Application/Common/Notifications/RemoveSignature/Handlers/RemoveDocStatusHandler.cs +++ b/EnvelopeGenerator.Application/Common/Notifications/RemoveSignature/Handlers/RemoveDocStatusHandler.cs @@ -25,8 +25,16 @@ public class RemoveDocStatusHandler : INotificationHandler /// /// - public async Task Handle(RemoveSignatureNotification notification, CancellationToken cancel) + public Task Handle(RemoveSignatureNotification notification, CancellationToken cancel) { - await _repo.DeleteAsync(s => s.Envelope!.Uuid == notification.EnvelopeUuid, cancel); + return _repo.DeleteAsync(statuses => + { + statuses = statuses.Where(status => status.Envelope!.Uuid == notification.EnvelopeUuid); + + if (notification.ReceiverSignature is string signature) + statuses = statuses.Where(status => status.Receiver!.Signature == signature); + + return statuses; + }, cancel); } } \ No newline at end of file