@peopl-health/nexus 4.1.4 → 4.1.5

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.
@@ -22,10 +22,7 @@ async function updateMessageStatus(messageSid, status, errorCode = null, errorMe
22
22
  };
23
23
 
24
24
  let updated = await Message.findOneAndUpdate(
25
- { $or: [
26
- { message_id: messageSid, 'statusInfo.recoveryMessageId': { $exists: false } },
27
- { 'statusInfo.recoveryMessageId': messageSid }
28
- ]},
25
+ { message_id: messageSid },
29
26
  { $set: updateData },
30
27
  { new: true }
31
28
  );
@@ -114,12 +111,7 @@ async function handleStatusCallback(twilioStatusData, { eventBus } = {}) {
114
111
 
115
112
  async function getMessageStatus(messageSid) {
116
113
  try {
117
- return await Message.findOne({
118
- $or: [
119
- { message_id: messageSid },
120
- { 'statusInfo.recoveryMessageId': messageSid }
121
- ]
122
- })
114
+ return await Message.findOne({ message_id: messageSid })
123
115
  .select('statusInfo message_id numero body')
124
116
  .lean();
125
117
  } catch (error) {
@@ -56,7 +56,7 @@ class TemplateApprovalJob extends BaseJob {
56
56
  }
57
57
 
58
58
  const recovery = message.statusInfo || {};
59
- if (recovery.recoveryMessageId || recovery.recoveryRejectedAt) {
59
+ if (recovery.recoverySentAt || recovery.recoveryRejectedAt) {
60
60
  logger.info('[TemplateApprovalJob] Recovery already completed', { messageId, templateSid });
61
61
  return { success: false, reason: 'already_completed' };
62
62
  }
@@ -132,17 +132,7 @@ class TemplateApprovalJob extends BaseJob {
132
132
  throw sendErr;
133
133
  }
134
134
 
135
- try {
136
- await Message.updateOne(
137
- { _id: message._id },
138
- { $set: { 'statusInfo.recoveryMessageId': recoveryMessageId } }
139
- );
140
- logger.info('[TemplateApprovalJob] Recovered', { originalMessageSid, recoveryMessageId, templateSid });
141
- } catch (dbErr) {
142
- logger.error('[TemplateApprovalJob] CRITICAL: send succeeded but DB update failed', {
143
- messageId: message._id, templateSid, recoveryMessageId, error: dbErr.message
144
- });
145
- }
135
+ logger.info('[TemplateApprovalJob] Recovered', { originalMessageSid, recoveryMessageId, templateSid });
146
136
 
147
137
  await recordDeliveryAttempt({
148
138
  messageData: { contentSid: templateSid },
@@ -85,7 +85,6 @@ const messageSchema = new mongoose.Schema({
85
85
  recoveryTemplateSid: { type: String, default: null },
86
86
  recoveryStartedAt: { type: Date, default: null },
87
87
  recoverySentAt: { type: Date, default: null },
88
- recoveryMessageId: { type: String, default: null },
89
88
  recoveryRejectedAt: { type: Date, default: null },
90
89
  latestDeliveryStatus: {
91
90
  type: String,
@@ -111,7 +110,6 @@ messageSchema.index({ nombre_whatsapp: 1, createdAt: -1 }, { name: 'nombre_whats
111
110
 
112
111
  messageSchema.index({ createdAt: -1 }, { name: 'global_sort_idx' });
113
112
 
114
- messageSchema.index({ 'statusInfo.recoveryMessageId': 1 }, { name: 'recovery_message_id_idx', sparse: true });
115
113
  messageSchema.index({ message_id: 1 }, { name: 'message_id_idx', sparse: true });
116
114
 
117
115
  messageSchema.index({ triggeredBy: 1, createdAt: -1 }, { name: 'triggered_by_idx', sparse: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peopl-health/nexus",
3
- "version": "4.1.4",
3
+ "version": "4.1.5",
4
4
  "description": "Core messaging and assistant library for WhatsApp communication platforms",
5
5
  "keywords": [
6
6
  "whatsapp",