using LiteCharms.Features.Utilities.Hash.Commands; namespace LiteCharms.Features.Utilities.Hash.Commands.Handlers; public class ComputeHashCommandHandler : IRequestHandler> { public async ValueTask> Handle(ComputeHashCommand request, CancellationToken cancellationToken) { try { var bytes = SHA256.HashData(Encoding.UTF8.GetBytes(request.Input!)); return Result.Ok(Convert.ToHexString(bytes)); } catch (Exception ex) { return Result.Fail(new Error(ex.Message).CausedBy(ex)); } } }