| 1234567891011121314151617181920212223242526272829303132333435 |
- const { pushWeChatMessage } = require('./wechat');
- const { pushEmailMessage } = require('./email');
- const { Message } = require('../models');
- async function processMessage(userPrefix, message) {
- if (message.email) {
- // If message has the attribute "email", override its type.
- message.type = '1';
- }
- if (message.content && message.type === '0') {
- message = await Message.create(message);
- }
- let result = {
- success: false,
- message: `unsupported message type ${message.type}`,
- };
- switch (message.type) {
- case '0': // WeChat message
- result = await pushWeChatMessage(userPrefix, message);
- break;
- case '1': // Email message
- result = await pushEmailMessage(userPrefix, message);
- break;
- case '2': // HTTP GET request
- // TODO: HTTP GET request
- break;
- default:
- break;
- }
- return result;
- }
- module.exports = {
- processMessage,
- };
|