using BackOffice.BFF.Application.Common.Interfaces; using BackOffice.BFF.PublicMessage.Protobuf; using CMSMicroservice.Protobuf.Protos; namespace BackOffice.BFF.Application.PublicMessageCQ.Commands.PublishMessage; public class PublishMessageCommandHandler : IRequestHandler { private readonly IApplicationContractContext _context; public PublishMessageCommandHandler(IApplicationContractContext context) { _context = context; } public async Task Handle(PublishMessageRequest request, CancellationToken cancellationToken) { var cmsRequest = new PublishMessageRequest { MessageId = request.MessageId }; var cmsResponse = await _context.PublicMessages.PublishMessageAsync( cmsRequest, cancellationToken: cancellationToken); return new PublishMessageResponse { Success = cmsResponse.Success, Message = cmsResponse.Message, PublishedAt = cmsResponse.PublishedAt }; } }