UNPKG

@reactivehub/cli

Version:
86 lines (74 loc) 1.96 kB
'use strict'; 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