Files
message-pusher/common/message.js
T

36 lines
913 B
JavaScript
Raw Normal View History

2021-01-17 14:26:33 +08:00
const { pushWeChatMessage } = require('./wechat');
2021-01-31 15:30:22 +08:00
const { pushEmailMessage } = require('./email');
2021-01-31 16:00:01 +08:00
const { Message } = require('../models');
2021-01-17 14:26:33 +08:00
async function processMessage(userPrefix, message) {
2021-01-31 15:30:22 +08:00
if (message.email) {
// If message has the attribute "email", override its type.
message.type = '1';
}
if (message.content && message.type === '0') {
2021-01-17 14:26:33 +08:00
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
2021-01-31 15:30:22 +08:00
result = await pushEmailMessage(userPrefix, message);
2021-01-17 14:26:33 +08:00
break;
case '2': // HTTP GET request
// TODO: HTTP GET request
break;
default:
break;
}
return result;
}
2021-01-17 10:49:19 +08:00
module.exports = {
2021-01-17 14:26:33 +08:00
processMessage,
2021-01-17 10:49:19 +08:00
};