@peopl-health/nexus 3.13.6 → 3.13.7

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.
@@ -2,12 +2,14 @@ const { logger } = require('../utils/logger');
2
2
 
3
3
  const { handleStatusCallback, getMessageStatus } = require('../helpers/messageStatusHelper');
4
4
 
5
+ const { getEventBus } = require('../core/NexusMessaging');
6
+
5
7
  async function messageStatusCallbackController(req, res) {
6
8
  try {
7
9
  const { MessageSid, MessageStatus } = req.body;
8
10
  logger.debug('[MessageStatusController] Status callback received', { messageSid: MessageSid, status: MessageStatus });
9
-
10
- const updated = await handleStatusCallback(req.body);
11
+
12
+ const updated = await handleStatusCallback(req.body, { eventBus: getEventBus() });
11
13
 
12
14
  if (!updated) {
13
15
  logger.warn('[MessageStatusController] Message not found', { messageSid: MessageSid });
@@ -9,7 +9,6 @@ const { logger } = require('../utils/logger');
9
9
  const { Message, insertMessage } = require('../models/messageModel');
10
10
  const { Thread } = require('../models/threadModel');
11
11
 
12
- const { setEventBus: setStatusEventBus } = require('../helpers/messageStatusHelper');
13
12
  const { ensureThreadExists } = require('../helpers/threadHelper');
14
13
  const { storeRunMetrics } = require('../helpers/metricsHelper');
15
14
 
@@ -44,7 +43,6 @@ class NexusMessaging {
44
43
  onFlow: null
45
44
  };
46
45
  this.events = new EventEmitter();
47
- setStatusEventBus(this.events);
48
46
  this.middleware = {
49
47
  any: [],
50
48
  message: [],
@@ -497,7 +495,6 @@ class NexusMessaging {
497
495
  if (this.provider) await this.provider.disconnect();
498
496
  if (this.queueAdapter) await this.queueAdapter.shutdown();
499
497
  this.events.removeAllListeners();
500
- setStatusEventBus(null);
501
498
  }
502
499
  }
503
500
 
@@ -9,12 +9,6 @@ const { handle24HourWindowError } = require('../helpers/templateRecoveryHelper')
9
9
 
10
10
  const { addLinkedRecord, updateRecordByFilter } = require('../services/airtableService');
11
11
 
12
- let _eventBus = null;
13
-
14
- function setEventBus(eventBus) {
15
- _eventBus = eventBus;
16
- }
17
-
18
12
  async function updateMessageStatus(messageSid, status, errorCode = null, errorMessage = null) {
19
13
  try {
20
14
  const updateData = {
@@ -72,7 +66,7 @@ async function updateMessageStatus(messageSid, status, errorCode = null, errorMe
72
66
  }
73
67
  }
74
68
 
75
- async function handleStatusCallback(twilioStatusData) {
69
+ async function handleStatusCallback(twilioStatusData, { eventBus } = {}) {
76
70
  const { MessageSid, MessageStatus, ErrorCode, ErrorMessage } = twilioStatusData;
77
71
 
78
72
  if (!MessageSid || !MessageStatus) {
@@ -82,8 +76,8 @@ async function handleStatusCallback(twilioStatusData) {
82
76
 
83
77
  const updated = await updateMessageStatus(MessageSid, MessageStatus.toLowerCase(), ErrorCode, ErrorMessage);
84
78
 
85
- if (updated && _eventBus) {
86
- safeEmit(_eventBus, 'message:status', createEvent('message:status', {
79
+ if (updated && eventBus) {
80
+ safeEmit(eventBus, 'message:status', createEvent('message:status', {
87
81
  messageId: updated.message_id,
88
82
  to: updated.numero,
89
83
  status: MessageStatus.toLowerCase(),
@@ -120,6 +114,5 @@ async function getMessageStatus(messageSid) {
120
114
  module.exports = {
121
115
  updateMessageStatus,
122
116
  handleStatusCallback,
123
- getMessageStatus,
124
- setEventBus
117
+ getMessageStatus
125
118
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peopl-health/nexus",
3
- "version": "3.13.6",
3
+ "version": "3.13.7",
4
4
  "description": "Core messaging and assistant library for WhatsApp communication platforms",
5
5
  "keywords": [
6
6
  "whatsapp",