using Toolkit.Foundation; namespace Bitvault; public class ConfirmCreateItemHandler(IMediator mediator, IDecoratorService decoratorItemConfiguration, IPublisher publisher) : INotificationHandler> { public async Task Handle(ConfirmEventArgs args) { if (decoratorItemConfiguration.Value is ItemConfiguration configuration) { string? name = await mediator.Handle, string>(Confirm.As()); if (name is not null) { Guid id = Guid.NewGuid(); publisher.Publish(Created.As(new Item<(Guid, string)>((id, name)))); await mediator.Handle, bool>(new CreateEventArgs<(Guid, string, string, ItemConfiguration)>((id, name, "", configuration))); } } } }