@peopl-health/nexus 3.13.11 → 3.13.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -459,42 +459,6 @@ const markMessagesAsReadController = async (req, res) => {
|
|
|
459
459
|
}
|
|
460
460
|
};
|
|
461
461
|
|
|
462
|
-
const sendTemplateToNewNumberController = async (req, res) => {
|
|
463
|
-
try {
|
|
464
|
-
const { phoneNumber, templateId, variables, triggeredBy } = req.body;
|
|
465
|
-
|
|
466
|
-
if (!phoneNumber || !templateId) {
|
|
467
|
-
return res.status(400).json({
|
|
468
|
-
success: false,
|
|
469
|
-
error: 'Phone number and template ID are required'
|
|
470
|
-
});
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
const messageData = {
|
|
474
|
-
code: ensureWhatsAppFormat(phoneNumber),
|
|
475
|
-
contentSid: templateId,
|
|
476
|
-
triggeredBy: triggeredBy || null
|
|
477
|
-
};
|
|
478
|
-
|
|
479
|
-
if (variables && Object.keys(variables).length > 0) {
|
|
480
|
-
messageData.variables = variables;
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
const message = await sendMessage(messageData);
|
|
484
|
-
res.status(200).json({
|
|
485
|
-
success: true,
|
|
486
|
-
message: 'Template sent successfully',
|
|
487
|
-
messageId: message.sid
|
|
488
|
-
});
|
|
489
|
-
} catch (error) {
|
|
490
|
-
logger.error('Error sending template:', { error: error.message });
|
|
491
|
-
res.status(500).json({
|
|
492
|
-
success: false,
|
|
493
|
-
error: error.message || 'Failed to send template'
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
|
-
};
|
|
497
|
-
|
|
498
462
|
const getOpenAIThreadMessagesController = async (req, res) => {
|
|
499
463
|
try {
|
|
500
464
|
const { phoneNumber } = req.params;
|
|
@@ -736,7 +700,6 @@ module.exports = {
|
|
|
736
700
|
getNewMessagesController,
|
|
737
701
|
markMessagesAsReadController,
|
|
738
702
|
searchConversationsController,
|
|
739
|
-
sendTemplateToNewNumberController,
|
|
740
703
|
startConversationController,
|
|
741
704
|
getOpenAIThreadMessagesController,
|
|
742
705
|
updateReviewStatusController,
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
const moment = require('moment-timezone');
|
|
2
2
|
|
|
3
|
-
const runtimeConfig = require('../config/runtimeConfig');
|
|
4
|
-
|
|
5
3
|
const { logger } = require('../utils/logger');
|
|
6
4
|
|
|
7
5
|
const { Message } = require('../models/messageModel.js');
|
|
@@ -95,7 +93,6 @@ const sendMessageController = async (req, res) => {
|
|
|
95
93
|
timeZone: timeZone || null,
|
|
96
94
|
sendTime: sendTime ? moment.tz(sendTime, timeZone) + 2500 : new Date(),
|
|
97
95
|
code: ensureWhatsAppFormat(code),
|
|
98
|
-
author: runtimeConfig.get('USER_DB_MONGO'),
|
|
99
96
|
extraDelay: 0,
|
|
100
97
|
frontendId,
|
|
101
98
|
triggeredBy
|
|
@@ -125,12 +122,11 @@ const sendBulkMessageController = async (req, res) => {
|
|
|
125
122
|
variables = null,
|
|
126
123
|
triggeredBy = null
|
|
127
124
|
} = req.body || {};
|
|
128
|
-
const author = runtimeConfig.get('USER_DB_MONGO');
|
|
129
125
|
const sendMoment = sendTime ? moment.tz(sendTime, timeZone) + 20000 : new Date();
|
|
130
126
|
|
|
131
127
|
try {
|
|
132
128
|
const isFlowTemplate = contentSid && await FlowRouting.findOne({ contentSid }).lean();
|
|
133
|
-
|
|
129
|
+
|
|
134
130
|
let extraDelay = 0;
|
|
135
131
|
const payloads = [];
|
|
136
132
|
for (const recipient of codes) {
|
|
@@ -140,7 +136,6 @@ const sendBulkMessageController = async (req, res) => {
|
|
|
140
136
|
timeZone: timeZone || null,
|
|
141
137
|
sendTime: new Date(sendMoment + extraDelay),
|
|
142
138
|
code: ensureWhatsAppFormat(recipient),
|
|
143
|
-
author,
|
|
144
139
|
extraDelay: extraDelay += Math.floor(Math.random() * 5001) + 5000,
|
|
145
140
|
triggeredBy
|
|
146
141
|
});
|
|
@@ -167,7 +162,6 @@ const sendBulkMessageAirtableController = async (req, res) => {
|
|
|
167
162
|
variables = null,
|
|
168
163
|
triggeredBy = null
|
|
169
164
|
} = req.body || {};
|
|
170
|
-
const author = runtimeConfig.get('USER_DB_MONGO');
|
|
171
165
|
const sendMoment = sendTime ? moment.tz(sendTime, timeZone) + 20000 : new Date();
|
|
172
166
|
|
|
173
167
|
const envVariables = [...message.matchAll(/\[(.*?)\]/g)].map(m => m[1]);
|
|
@@ -199,7 +193,7 @@ const sendBulkMessageAirtableController = async (req, res) => {
|
|
|
199
193
|
: variables,
|
|
200
194
|
timeZone: timeZone || null,
|
|
201
195
|
sendTime: new Date(sendMoment + extraDelay),
|
|
202
|
-
code,
|
|
196
|
+
code,
|
|
203
197
|
triggeredBy
|
|
204
198
|
});
|
|
205
199
|
extraDelay += Math.floor(Math.random() * 5001) + 5000;
|
package/lib/routes/index.js
CHANGED
|
@@ -23,7 +23,6 @@ const conversationRouteDefinitions = {
|
|
|
23
23
|
'GET /:phoneNumber/openai': 'getOpenAIThreadMessagesController',
|
|
24
24
|
'GET /:phoneNumber/search': 'searchMessagesByNumberController',
|
|
25
25
|
'POST /reply': 'getConversationReplyController',
|
|
26
|
-
'POST /send-template': 'sendTemplateToNewNumberController',
|
|
27
26
|
'POST /start': 'startConversationController',
|
|
28
27
|
'POST /:phoneNumber/read': 'markMessagesAsReadController',
|
|
29
28
|
'POST /case-documentation': 'caseDocumentationController',
|
|
@@ -138,7 +137,6 @@ const builtInControllers = {
|
|
|
138
137
|
getNewMessagesController: conversationController.getNewMessagesController,
|
|
139
138
|
getOpenAIThreadMessagesController: conversationController.getOpenAIThreadMessagesController,
|
|
140
139
|
getConversationReplyController: conversationController.getConversationReplyController,
|
|
141
|
-
sendTemplateToNewNumberController: conversationController.sendTemplateToNewNumberController,
|
|
142
140
|
startConversationController: conversationController.startConversationController,
|
|
143
141
|
markMessagesAsReadController: conversationController.markMessagesAsReadController,
|
|
144
142
|
searchMessagesByNumberController: conversationController.searchMessagesByNumberController,
|