36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
|
|
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<PublishMessageRequest, PublishMessageResponse>
|
||
|
|
{
|
||
|
|
private readonly IApplicationContractContext _context;
|
||
|
|
|
||
|
|
public PublishMessageCommandHandler(IApplicationContractContext context)
|
||
|
|
{
|
||
|
|
_context = context;
|
||
|
|
}
|
||
|
|
|
||
|
|
public async Task<PublishMessageResponse> 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
|
||
|
|
};
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|