using Elsa.Mediator.Contracts;
using Elsa.Workflows.Management.Notifications;
using Elsa.Workflows.Runtime.Filters;
using JetBrains.Annotations;
namespace Elsa.Workflows.Runtime.Handlers;
///
/// Deletes bookmarks for workflow instances being deleted.
///
[UsedImplicitly]
public class DeleteBookmarks(IBookmarkManager bookmarkManager) : INotificationHandler
{
///
public async Task HandleAsync(WorkflowInstancesDeleting notification, CancellationToken cancellationToken)
{
await bookmarkManager.DeleteManyAsync(new()
{
WorkflowInstanceIds = notification.Ids
}, cancellationToken);
}
}