@reactivehub/cli
Version:
86 lines (74 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _api = require('../../services/api');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const messageType = {
type: 'list',
name: 'MessageType',
message: 'How you wish to publish your message?',
choices: ['Topic', 'Target', 'SMS']
};
const messageStructure = {
type: 'list',
name: 'MessageStructure',
message: 'How you wish to publish your message?',
choices: ['json', 'string']
};
const bodyByType = {
Topic: {
TopicArn: ''
},
Target: {
TargetArn: ''
},
SMS: {
PhoneNumber: ''
}
};
const msgcontent = '##### Type the message content. #####';
const messageByStructure = eventModel => ({
json: {
default: msgcontent,
APNS: {
aps: {}
},
FCM: {
data: {
message: msgcontent,
url: ''
}
},
ADM: {
data: {
message: msgcontent,
url: ''
}
}
},
string: msgcontent
});
exports.default = {
name: 'SNS',
actions: [{
name: 'Publish Message',
processor: 'SNS_PUBLISH_MESSAGE',
deploy: (action, eventInfo) => (0, _api.sendAction)(eventInfo, (0, _extends3.default)({ serviceAction: 'SNS_PUBLISH_MESSAGE' }, action)),
buildTemplate: (answers = {}, eventModel = {}) => {
const { MessageType, MessageStructure } = answers;
const Message = messageByStructure(eventModel)[MessageStructure];
const snsPayload = (0, _extends3.default)({}, bodyByType[MessageType], {
Message,
Subject: '',
MessageAttributes: {}
});
if (MessageStructure === 'json') snsPayload.MessageStructure = MessageStructure;
return snsPayload;
},
questions: () => [messageType, messageStructure]
}]
};
//# sourceMappingURL=SNS.js.map