UNPKG

@nest-kr/integration

Version:

```cli npm i @nest-kr/integration ```

87 lines (86 loc) 3.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class MessageMapper { toDTO(snsMessage) { const messageAttributes = { 'AWS.SNS.MOBILE.MPNS.TYPE': null, 'AWS.SNS.MOBILE.MPNS.NotificationClass': null, 'AWS.SNS.MOBILE.WNS.Type': null, }; if (snsMessage.MessageAttributes) { if (snsMessage.MessageAttributes['AWS.SNS.MOBILE.MPNS.TYPE']) { messageAttributes['AWS.SNS.MOBILE.MPNS.TYPE'] = { type: snsMessage.MessageAttributes['AWS.SNS.MOBILE.MPNS.TYPE'].Type, value: snsMessage.MessageAttributes['AWS.SNS.MOBILE.MPNS.TYPE'].Value, }; } if (snsMessage.MessageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass']) { messageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass'] = { type: snsMessage.MessageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass'].Type, value: snsMessage.MessageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass'].Value, }; } if (snsMessage.MessageAttributes['AWS.SNS.MOBILE.WNS.Type']) { messageAttributes['AWS.SNS.MOBILE.WNS.Type'] = { type: snsMessage.MessageAttributes['AWS.SNS.MOBILE.WNS.Type'].Type, value: snsMessage.MessageAttributes['AWS.SNS.MOBILE.WNS.Type'].Value, }; } } return { type: snsMessage.Type, messageId: snsMessage.MessageId, topicArn: snsMessage.TopicArn, subject: snsMessage.Subject, message: snsMessage.Message, timestamp: snsMessage.Timestamp, signatureVersion: snsMessage.SignatureVersion, signature: snsMessage.Signature, signingCertURL: snsMessage.SigningCertURL, unsubscribeURL: snsMessage.UnsubscribeURL, messageAttributes, integrationEvent: null, }; } toSnsMessage(dto) { const MessageAttributes = { 'AWS.SNS.MOBILE.MPNS.TYPE': null, 'AWS.SNS.MOBILE.MPNS.NotificationClass': null, 'AWS.SNS.MOBILE.WNS.Type': null, }; if (dto.messageAttributes) { if (dto.messageAttributes['AWS.SNS.MOBILE.MPNS.TYPE']) { MessageAttributes['AWS.SNS.MOBILE.MPNS.TYPE'] = { Type: dto.messageAttributes['AWS.SNS.MOBILE.MPNS.TYPE'].type, Value: dto.messageAttributes['AWS.SNS.MOBILE.MPNS.TYPE'].value, }; } if (dto.messageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass']) { MessageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass'] = { Type: dto.messageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass'].type, Value: dto.messageAttributes['AWS.SNS.MOBILE.MPNS.NotificationClass'].value, }; } if (dto.messageAttributes['AWS.SNS.MOBILE.WNS.Type']) { MessageAttributes['AWS.SNS.MOBILE.WNS.Type'] = { Type: dto.messageAttributes['AWS.SNS.MOBILE.WNS.Type'].type, Value: dto.messageAttributes['AWS.SNS.MOBILE.WNS.Type'].value, }; } } return { Type: dto.type, MessageId: dto.messageId, TopicArn: dto.topicArn, Subject: dto.subject, Message: dto.message, Timestamp: dto.timestamp, SignatureVersion: dto.signatureVersion, Signature: dto.signature, SigningCertURL: dto.signingCertURL, UnsubscribeURL: dto.unsubscribeURL, MessageAttributes, }; } } exports.MessageMapper = MessageMapper;