pulsewatch-server 1.0.73 → 1.0.74

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.
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG5E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,IAAI,SAAc;IAEZ,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAahD;;OAEG;YACW,aAAa;IAyD3B;;OAEG;YACW,WAAW;CAmD1B"}
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG5E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,IAAI,SAAc;IAEZ,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBhD;;OAEG;YACW,aAAa;IAiD3B;;OAEG;YACW,WAAW;CAwD1B"}
@@ -6,10 +6,11 @@ import { getWhatsAppTemplate } from "../templates/whatsapp.js";
6
6
  export class WhatsAppChannel {
7
7
  name = "whatsapp";
8
8
  async send(config, recipient, payload) {
9
- if (config.providerType === "twilio") {
9
+ const providerType = config.providerType || config.provider_type || "twilio";
10
+ if (providerType === "twilio") {
10
11
  return this.sendViaTwilio(config, recipient, payload);
11
12
  }
12
- else if (config.providerType === "meta") {
13
+ else if (providerType === "meta") {
13
14
  return this.sendViaMeta(config, recipient, payload);
14
15
  }
15
16
  else {
@@ -24,19 +25,20 @@ export class WhatsAppChannel {
24
25
  */
25
26
  async sendViaTwilio(config, recipient, payload) {
26
27
  try {
27
- if (!config.twilioAccountSid ||
28
- !config.twilioAuthToken ||
29
- !config.twilioFromNumber) {
28
+ const accountSid = config.twilioAccountSid || config.twilio_account_sid;
29
+ const authToken = config.twilioAuthToken || config.twilio_auth_token;
30
+ const fromNumber = config.twilioFromNumber || config.twilio_from_number;
31
+ if (!accountSid || !authToken || !fromNumber) {
30
32
  return {
31
33
  success: false,
32
34
  error: "Twilio credentials not configured",
33
35
  };
34
36
  }
35
37
  const message = getWhatsAppTemplate(payload);
36
- const url = `https://api.twilio.com/2010-04-01/Accounts/${config.twilioAccountSid}/Messages.json`;
37
- const auth = Buffer.from(`${config.twilioAccountSid}:${config.twilioAuthToken}`).toString("base64");
38
+ const url = `https://api.twilio.com/2010-04-01/Accounts/${accountSid}/Messages.json`;
39
+ const auth = Buffer.from(`${accountSid}:${authToken}`).toString("base64");
38
40
  const body = new URLSearchParams({
39
- From: `whatsapp:${config.twilioFromNumber}`,
41
+ From: `whatsapp:${fromNumber}`,
40
42
  To: `whatsapp:${recipient.phoneNumber}`,
41
43
  Body: message,
42
44
  });
@@ -48,14 +50,7 @@ export class WhatsAppChannel {
48
50
  },
49
51
  body: body.toString(),
50
52
  });
51
- if (!response.ok) {
52
- const errorData = (await response.json());
53
- return {
54
- success: false,
55
- error: `Twilio API error: ${errorData.message || response.statusText}`,
56
- };
57
- }
58
- return { success: true };
53
+ // ... (rest of the file)
59
54
  }
60
55
  catch (error) {
61
56
  return {
@@ -69,18 +64,20 @@ export class WhatsAppChannel {
69
64
  */
70
65
  async sendViaMeta(config, recipient, payload) {
71
66
  try {
72
- if (!config.metaAccessToken || !config.metaPhoneNumberId) {
67
+ const accessToken = config.metaAccessToken || config.meta_access_token;
68
+ const phoneNumberId = config.metaPhoneNumberId || config.meta_phone_number_id;
69
+ if (!accessToken || !phoneNumberId) {
73
70
  return {
74
71
  success: false,
75
72
  error: "Meta WhatsApp credentials not configured",
76
73
  };
77
74
  }
78
75
  const message = getWhatsAppTemplate(payload);
79
- const url = `https://graph.facebook.com/v18.0/${config.metaPhoneNumberId}/messages`;
76
+ const url = `https://graph.facebook.com/v18.0/${phoneNumberId}/messages`;
80
77
  const response = await fetch(url, {
81
78
  method: "POST",
82
79
  headers: {
83
- Authorization: `Bearer ${config.metaAccessToken}`,
80
+ Authorization: `Bearer ${accessToken}`,
84
81
  "Content-Type": "application/json",
85
82
  },
86
83
  body: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pulsewatch-server",
3
- "version": "1.0.73",
3
+ "version": "1.0.74",
4
4
  "description": "Complete uptime monitoring server - Drop-in Express backend with monitoring engine, database, REST API, and real-time updates. No authentication required.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",