2025-12-04 17:29:05 +03:30
|
|
|
using BackOffice.BFF.Application.Common.Interfaces;
|
2025-12-05 17:27:38 +03:30
|
|
|
using MediatR;
|
|
|
|
|
using BffProto = BackOffice.BFF.PublicMessage.Protobuf;
|
|
|
|
|
using CmsProto = CMSMicroservice.Protobuf.Protos;
|
2025-12-04 17:29:05 +03:30
|
|
|
|
|
|
|
|
namespace BackOffice.BFF.Application.PublicMessageCQ.Commands.PublishMessage;
|
|
|
|
|
|
2025-12-06 01:39:22 +03:30
|
|
|
public class PublishMessageCommandHandler : IRequestHandler<PublishMessageCommand, BffProto.PublishMessageResponse>
|
2025-12-04 17:29:05 +03:30
|
|
|
{
|
|
|
|
|
private readonly IApplicationContractContext _context;
|
|
|
|
|
|
|
|
|
|
public PublishMessageCommandHandler(IApplicationContractContext context)
|
|
|
|
|
{
|
|
|
|
|
_context = context;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-06 01:39:22 +03:30
|
|
|
public async Task<BffProto.PublishMessageResponse> Handle(PublishMessageCommand request, CancellationToken cancellationToken)
|
2025-12-04 17:29:05 +03:30
|
|
|
{
|
2025-12-05 17:27:38 +03:30
|
|
|
var cmsRequest = new CmsProto.PublishMessageRequest
|
2025-12-04 17:29:05 +03:30
|
|
|
{
|
|
|
|
|
MessageId = request.MessageId
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var cmsResponse = await _context.PublicMessages.PublishMessageAsync(
|
|
|
|
|
cmsRequest,
|
|
|
|
|
cancellationToken: cancellationToken);
|
|
|
|
|
|
2025-12-05 17:27:38 +03:30
|
|
|
return new BffProto.PublishMessageResponse
|
2025-12-04 17:29:05 +03:30
|
|
|
{
|
|
|
|
|
Success = cmsResponse.Success,
|
|
|
|
|
Message = cmsResponse.Message,
|
|
|
|
|
PublishedAt = cmsResponse.PublishedAt
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|