@qrvey/sms 1.0.1-949 → 1.0.2-1215-beta.1

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.
package/README.md CHANGED
@@ -1,83 +1 @@
1
- # @qrvey/sms
2
1
 
3
- ![install size](https://packagephobia.now.sh/badge?p=%40qrvey%2Fsms)
4
- ![coverage](https://img.shields.io/badge/unit_test_coverage-88%25-brightgreen)
5
-
6
- **@qrvey/sms** is a lightweight and reliable library to send manage sms messages. It supports different clients such SNS (AWS), ACS (Azure), Twilio, and Vonage.
7
-
8
- ## Installation
9
-
10
- You can install the **@qrvey/sms** package via npm. Run the following command in your terminal:
11
-
12
- ```bash
13
- npm install @qrvey/sms
14
- ```
15
-
16
- ## Peer Dependencies
17
-
18
- This package has the following peer dependencies:
19
-
20
- - `@aws-sdk/client-sns` (v3.x) for interacting with **AWS SNS**.
21
- - `@azure/communication-sms` (v1.x) for interacting with **Azure Communication Services**.
22
- - `@vonage/server-sdk` (v3.x) and `@vonage/auth` (v1.x) for interacting with **Vonage**.
23
- - `twilio` (v5.x) for interacting with **Twilio**.
24
-
25
- ## Configuration
26
-
27
- To work properly, the package need some env variables. To set the sms provider, you must set the `SMS_PROVIDER` env variable with one of these values:
28
- - `AWS`
29
- - `AZURE`
30
- - `TWILIO`
31
- - `VONAGE`
32
-
33
- In case the `SMS_PROVIDER` env variable is set with an unknown value, you will get a `UnknownProvider` error. Depending on the provider you must set some variables:
34
-
35
- ### AWS
36
- If you set `SMS_PROVIDER = AWS`, the following env variables are required:
37
- - `SMS_PROVIDER_USERNAME` which is `AWS_ACCESS_KEY_ID` in aws context.
38
- - `SMS_PROVIDER_PASSWORD` which is `AWS_SECRET_ACCESS_KEY` in aws context.
39
- - `SMS_PROVIDER_REGION` which is `AWS_REGION` in aws context.
40
-
41
- ### AZURE
42
- If you set `SMS_PROVIDER = AZURE`, the following env variables are required:
43
- - `SMS_PROVIDER_USERNAME` which is `resource-name` in azure `connectionString` context.
44
- - `SMS_PROVIDER_PASSWORD` which is `access-key` in azure `connectionString` context.
45
- - `SMS_PROVIDER_FROM_NUMBER` which is the ACS-registered number in azure context. This must be in E.164 format, example: "+123456789"
46
-
47
- **Note**: The azure `connectionString` for `Azure Communication Services` looks like this: `endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>`.
48
-
49
- ### TWILIO
50
- If you set `SMS_PROVIDER = TWILIO`, the following env variables are required:
51
- - `SMS_PROVIDER_USERNAME` which is `TWILIO_ACCOUNT_SID` in twilio context.
52
- - `SMS_PROVIDER_PASSWORD` which is `TWILIO_AUTH_TOKEN` in twilio context.
53
-
54
- ### VONAGE
55
- If you set `SMS_PROVIDER = VONAGE`, the following env variables are required:
56
- - `SMS_PROVIDER_USERNAME` which is `VONAGE_API_KEY` in vonage context.
57
- - `SMS_PROVIDER_PASSWORD` which is `VONAGE_API_SECRET` in vonage context.
58
- - `SMS_PROVIDER_FROM_NUMBER` which can be one of the next:
59
- - An alphanumeric ID. Example: "MyCompanyBrand"
60
- - A Vonage-registered number in E.164 format. Example: "+123456789".
61
- - A local-registered short number. Example: "12345".
62
-
63
- ## API Documentation
64
-
65
- ### Available Methods
66
-
67
- ```ts
68
- send: (phones: string[], message: string) => Promise<SendResult>;
69
- ```
70
-
71
-
72
- ## Example Usage
73
-
74
- ```ts
75
- const phones: string[] = [
76
- "+123456789",
77
- "+9876543210"
78
- ];
79
- const message = "Hello world!";
80
-
81
- const smsSenderService = new SMSSenderService();
82
- await smsSenderService.send(phones, message);
83
- ```
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  const constants_1 = require("../../utils/constants");
27
37
  const errors_1 = require("../../errors");
@@ -1 +1 @@
1
- {"version":3,"file":"vonageSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/vonageSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAiE;AACjE,yCAA2D;AAI3D,MAAqB,qBAAqB;IAEtC;QAiDQ,YAAO,GAAG,KAAK,EACnB,KAAa,EACb,OAAe,EACK,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gBAAc;aACvB,CAAC,CAAC;QACP,CAAC,CAAC;QA1DE,IAAI,CAAC,CAAC,oBAAQ,IAAI,oBAAQ,IAAI,gBAAI,CAAC;YAC/B,MAAM,IAAI,oCAA2B,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAgB,EAAE,OAAe;QAC/C,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;YACvC,IACI,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,EAC1D;gBACE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;iBACpC,CAAC,CAAC;aACN;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/B;QACL,CAAC,CAAC,CACL,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,SAAS;;QACnB,IAAI,CAAC,aAAa;YACd,MAAA,IAAI,CAAC,aAAa,mCAClB,CAAC,KAAK,IAAI,EAAE;gBACR,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;sEACtC,oBAAoB;sEACpB,cAAc;iBACxB,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC;oBACxB,MAAM,EAAE,oBAAkB;oBAC1B,SAAS,EAAE,oBAAkB;iBAChC,CAAC,CAAC;gBACH,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CAaJ;AA9DD,wCA8DC"}
1
+ {"version":3,"file":"vonageSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/vonageSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAiE;AACjE,yCAA2D;AAI3D,MAAqB,qBAAqB;IAEtC;QAiDQ,YAAO,GAAG,KAAK,EACnB,KAAa,EACb,OAAe,EACK,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gBAAc;aACvB,CAAC,CAAC;QACP,CAAC,CAAC;QA1DE,IAAI,CAAC,CAAC,oBAAQ,IAAI,oBAAQ,IAAI,gBAAI,CAAC;YAC/B,MAAM,IAAI,oCAA2B,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAgB,EAAE,OAAe;QAC/C,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;YACvC,IACI,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,EAC1D,CAAC;gBACC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;iBACpC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAChC,CAAC;QACL,CAAC,CAAC,CACL,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,SAAS;;QACnB,IAAI,CAAC,aAAa;YACd,MAAA,IAAI,CAAC,aAAa,mCAClB,CAAC,KAAK,IAAI,EAAE;gBACR,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;sEACtC,oBAAoB;sEACpB,cAAc;iBACxB,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC;oBACxB,MAAM,EAAE,oBAAkB;oBAC1B,SAAS,EAAE,oBAAkB;iBAChC,CAAC,CAAC;gBACH,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CAaJ;AA9DD,wCA8DC"}
@@ -18,6 +18,7 @@ class SMSSenderService {
18
18
  return true;
19
19
  }
20
20
  catch (error) {
21
+ console.error('Error checking SMS sender status:', error);
21
22
  return false;
22
23
  }
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smsSender.service.js","sourceRoot":"","sources":["../../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;AACA,yEAA8D;AAE9D,MAAa,gBAAgB;IACzB;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,MAAgB,EAAE,OAAe;QAC/C,OAAO,CAAC,MAAM,2CAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW;QAC3B,IAAI;YACA,MAAM,2CAAgB,CAAC,YAAY,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;CACJ;AAnBD,4CAmBC"}
1
+ {"version":3,"file":"smsSender.service.js","sourceRoot":"","sources":["../../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;AACA,yEAA8D;AAE9D,MAAa,gBAAgB;IACzB;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,MAAgB,EAAE,OAAe;QAC/C,OAAO,CAAC,MAAM,2CAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW;QAC3B,IAAI,CAAC;YACD,MAAM,2CAAgB,CAAC,YAAY,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ;AApBD,4CAoBC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.SMSSenderFactory = void 0;
27
37
  const errors_1 = require("../errors");
@@ -1 +1 @@
1
- {"version":3,"file":"smsSenderFactory.service.js","sourceRoot":"","sources":["../../../src/services/smsSenderFactory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAiD;AAGjD,kDAAkD;AAClD,kEAA8E;AAE9E,MAAa,gBAAgB;IAYzB,MAAM,CAAC,KAAK,CAAC,YAAY;;QACrB,MAAM,QAAQ,GACV,MAAA,IAAA,kDAA+B,GAAE,mCAAI,wBAAY,aAAZ,wBAAY,uBAAZ,wBAAY,CAAE,WAAW,EAAE,CAAC;QACrE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,6BAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,6BAAoB,EAAE,CAAC;QAEtE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,SAAS,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;;AArBL,4CAsBC;AArBkB,gCAAe,GAG1B;IACA,MAAM,EAAE,GAAG,EAAE,mDAAQ,kCAAkC,GAAC;IACxD,GAAG,EAAE,GAAG,EAAE,mDAAQ,+BAA+B,GAAC;IAClD,KAAK,EAAE,GAAG,EAAE,mDAAQ,iCAAiC,GAAC;IACtD,MAAM,EAAE,GAAG,EAAE,mDAAQ,kCAAkC,GAAC;CAC3D,CAAC;AACa,2BAAU,GAAsB,IAAI,CAAC"}
1
+ {"version":3,"file":"smsSenderFactory.service.js","sourceRoot":"","sources":["../../../src/services/smsSenderFactory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAiD;AAGjD,kDAAkD;AAClD,kEAA8E;AAE9E,MAAa,gBAAgB;IAYzB,MAAM,CAAC,KAAK,CAAC,YAAY;;QACrB,MAAM,QAAQ,GACV,MAAA,IAAA,kDAA+B,GAAE,mCAAI,wBAAY,aAAZ,wBAAY,uBAAZ,wBAAY,CAAE,WAAW,EAAE,CAAC;QACrE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,6BAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,6BAAoB,EAAE,CAAC;QAEtE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,SAAS,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;;AArBL,4CAsBC;AArBkB,gCAAe,GAG1B;IACA,MAAM,EAAE,GAAG,EAAE,mDAAQ,kCAAkC,GAAC;IACxD,GAAG,EAAE,GAAG,EAAE,mDAAQ,+BAA+B,GAAC;IAClD,KAAK,EAAE,GAAG,EAAE,mDAAQ,iCAAiC,GAAC;IACtD,MAAM,EAAE,GAAG,EAAE,mDAAQ,kCAAkC,GAAC;CAC3D,CAAC;AACa,2BAAU,GAAsB,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ {"root":["../../src/index.ts"],"version":"5.9.3"}
@@ -48,6 +48,7 @@ var _SMSSenderService = class _SMSSenderService {
48
48
  await SMSSenderFactory.getSMSSender();
49
49
  return true;
50
50
  } catch (error) {
51
+ console.error("Error checking SMS sender status:", error);
51
52
  return false;
52
53
  }
53
54
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mappers/qrveyEnvs.mapper.ts","../../src/services/smsSenderFactory.service.ts","../../src/services/smsSender.service.ts"],"names":["getSMSProviderFromPlatformCloud","platformCloudDictionary","AWS","AZURE","PLATFORM_CLOUD","undefined","SMSSenderFactory","getSMSSender","provider","SMS_PROVIDER","toLowerCase","UnknownProviderError","providerModules","default","SMSSender","_smsSender","twilio","aws","azure","vonage","SMSSenderService","send","phones","message","checkStatus","error"],"mappings":";;;AAEO,IAAMA,kDAAkC,MAAA,CAAA,MAAA;AAF/C,EAAA,IAAA,EAAA,EAAA,EAAA;AAGI,EAAA,MAAMC,uBAAAA,GAAkD;IACpDC,GAAAA,EAAK,KAAA;IACLC,KAAAA,EAAO;AACX,GAAA;AAEA,EAAA,OAAA,CAAOF,EAAAA,GAAAA,uBAAAA,CAAAA,CAAwBG,EAAAA,GAAAA,cAAAA,KAAAA,IAAAA,GAAAA,EAAAA,GAAkB,EAAA,CAAA,KAA1CH,IAAAA,GAAAA,EAAAA,GAAiDI,MAAAA;AAC5D,CAAA,EAP+C,iCAAA,CAAA;;;ACIxC,IAAMC,iBAAAA,GAAN,MAAMA,iBAAAA,CAAAA;AAYT,EAAA,aAAaC,YAAAA,GAAoC;AAlBrD,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAmBQ,IAAA,MAAMC,QAAAA,GAAAA,CACFR,EAAAA,GAAAA,+BAAAA,EAAAA,KAAAA,IAAAA,GAAAA,EAAAA,GAAAA,CAAqCS,EAAAA,GAAAA,YAAAA,KAAAA,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAcC,WAAAA,EAAAA;AACvD,IAAA,IAAI,CAACF,QAAAA,EAAU,MAAM,IAAIG,oBAAAA,EAAAA;AACzB,IAAA,IAAI,CAAC,IAAA,CAAKC,eAAAA,CAAgBJ,QAAAA,CAAAA,EAAW,MAAM,IAAIG,oBAAAA,EAAAA;AAE/C,IAAA,MAAM,EAAEE,SAASC,SAAAA,EAAS,GAAK,MAAM,IAAA,CAAKF,eAAAA,CAAgBJ,QAAAA,CAAAA,EAAS;AACnE,IAAA,IAAA,CAAKO,UAAAA,GAAAA,CAAa,EAAA,GAAA,IAAA,CAAKA,UAAAA,KAAL,IAAA,GAAA,EAAA,GAAmB,IAAID,SAAAA,EAAAA;AACzC,IAAA,OAAO,IAAA,CAAKC,UAAAA;AAChB,EAAA;AACJ,CAAA;AAtBaT,MAAAA,CAAAA,iBAAAA,EAAAA,kBAAAA,CAAAA;AACT,aAAA,CADSA,mBACMM,iBAAAA,EAGX;EACAI,MAAAA,kBAAQ,MAAA,CAAA,MAAM,OAAO,uCAAA,CAAA,EAAb,QAAA,CAAA;EACRC,GAAAA,kBAAK,MAAA,CAAA,MAAM,OAAO,oCAAA,CAAA,EAAb,KAAA,CAAA;EACLC,KAAAA,kBAAO,MAAA,CAAA,MAAM,OAAO,sCAAA,CAAA,EAAb,OAAA,CAAA;EACPC,MAAAA,kBAAQ,MAAA,CAAA,MAAM,OAAO,uCAAA,CAAA,EAAb,QAAA;AACZ,CAAA,CAAA;AACA,aAAA,CAVSb,mBAUMS,YAAAA,EAAgC,IAAA,CAAA;AAV5C,IAAMT,gBAAAA,GAAN,iBAAA;;;ACHA,IAAMc,iBAAAA,GAAN,MAAMA,iBAAAA,CAAAA;;;;;;;EAOT,MAAaC,IAAAA,CAAKC,QAAkBC,OAAAA,EAAsC;AACtE,IAAA,OAAA,CAAQ,MAAMjB,gBAAAA,CAAiBC,YAAAA,EAAY,EAAIc,IAAAA,CAAKC,QAAQC,OAAAA,CAAAA;AAChE,EAAA;AAEA,EAAA,aAAoBC,WAAAA,GAAgC;AAChD,IAAA,IAAI;AACA,MAAA,MAAMlB,iBAAiBC,YAAAA,EAAY;AACnC,MAAA,OAAO,IAAA;AACX,IAAA,CAAA,CAAA,OAASkB,KAAAA,EAAO;AACZ,MAAA,OAAO,KAAA;AACX,IAAA;AACJ,EAAA;AACJ,CAAA;AAnBaL,MAAAA,CAAAA,iBAAAA,EAAAA,kBAAAA,CAAAA;AAAN,IAAMA,gBAAAA,GAAN","file":"index.mjs","sourcesContent":["import { PLATFORM_CLOUD } from '../utils/constants';\n\nexport const getSMSProviderFromPlatformCloud = () => {\n const platformCloudDictionary: Record<string, string> = {\n AWS: 'aws',\n AZURE: 'azure',\n };\n\n return platformCloudDictionary[PLATFORM_CLOUD ?? ''] ?? undefined;\n};\n","import { UnknownProviderError } from '../errors';\nimport { ISMSSender } from '../interfaces';\nimport { SMSProviderModule } from '../types';\nimport { SMS_PROVIDER } from '../utils/constants';\nimport { getSMSProviderFromPlatformCloud } from '../mappers/qrveyEnvs.mapper';\n\nexport class SMSSenderFactory {\n private static providerModules: Record<\n string,\n () => Promise<SMSProviderModule>\n > = {\n twilio: () => import('./clients/twilioSmsSender.client'),\n aws: () => import('./clients/awsSmsSender.client'),\n azure: () => import('./clients/azureSmsSender.client'),\n vonage: () => import('./clients/vonageSmsSender.client'),\n };\n private static _smsSender: ISMSSender | null = null;\n\n static async getSMSSender(): Promise<ISMSSender> {\n const provider =\n getSMSProviderFromPlatformCloud() ?? SMS_PROVIDER?.toLowerCase();\n if (!provider) throw new UnknownProviderError();\n if (!this.providerModules[provider]) throw new UnknownProviderError();\n\n const { default: SMSSender } = await this.providerModules[provider]();\n this._smsSender = this._smsSender ?? new SMSSender();\n return this._smsSender;\n }\n}\n","import { SendResult } from '../types';\nimport { SMSSenderFactory } from './smsSenderFactory.service';\n\nexport class SMSSenderService {\n /**\n * Send a message to one or more phones.\n * @param phones - phone numbers to send to\n * @param message - message to send\n * @returns {Promise<SendResult>} Send result.\n */\n public async send(phones: string[], message: string): Promise<SendResult> {\n return (await SMSSenderFactory.getSMSSender()).send(phones, message);\n }\n\n public static async checkStatus(): Promise<boolean> {\n try {\n await SMSSenderFactory.getSMSSender();\n return true;\n } catch (error) {\n return false;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/mappers/qrveyEnvs.mapper.ts","../../src/services/smsSenderFactory.service.ts","../../src/services/smsSender.service.ts"],"names":["getSMSProviderFromPlatformCloud","platformCloudDictionary","AWS","AZURE","PLATFORM_CLOUD","undefined","SMSSenderFactory","getSMSSender","provider","SMS_PROVIDER","toLowerCase","UnknownProviderError","providerModules","default","SMSSender","_smsSender","twilio","aws","azure","vonage","SMSSenderService","send","phones","message","checkStatus","error","console"],"mappings":";;;AAEO,IAAMA,kDAAkC,MAAA,CAAA,MAAA;AAF/C,EAAA,IAAA,EAAA,EAAA,EAAA;AAGI,EAAA,MAAMC,uBAAAA,GAAkD;IACpDC,GAAAA,EAAK,KAAA;IACLC,KAAAA,EAAO;AACX,GAAA;AAEA,EAAA,OAAA,CAAOF,EAAAA,GAAAA,uBAAAA,CAAAA,CAAwBG,EAAAA,GAAAA,cAAAA,KAAAA,IAAAA,GAAAA,EAAAA,GAAkB,EAAA,CAAA,KAA1CH,IAAAA,GAAAA,EAAAA,GAAiDI,MAAAA;AAC5D,CAAA,EAP+C,iCAAA,CAAA;;;ACIxC,IAAMC,iBAAAA,GAAN,MAAMA,iBAAAA,CAAAA;AAYT,EAAA,aAAaC,YAAAA,GAAoC;AAlBrD,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAmBQ,IAAA,MAAMC,QAAAA,GAAAA,CACFR,EAAAA,GAAAA,+BAAAA,EAAAA,KAAAA,IAAAA,GAAAA,EAAAA,GAAAA,CAAqCS,EAAAA,GAAAA,YAAAA,KAAAA,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAcC,WAAAA,EAAAA;AACvD,IAAA,IAAI,CAACF,QAAAA,EAAU,MAAM,IAAIG,oBAAAA,EAAAA;AACzB,IAAA,IAAI,CAAC,IAAA,CAAKC,eAAAA,CAAgBJ,QAAAA,CAAAA,EAAW,MAAM,IAAIG,oBAAAA,EAAAA;AAE/C,IAAA,MAAM,EAAEE,SAASC,SAAAA,EAAS,GAAK,MAAM,IAAA,CAAKF,eAAAA,CAAgBJ,QAAAA,CAAAA,EAAS;AACnE,IAAA,IAAA,CAAKO,UAAAA,GAAAA,CAAa,EAAA,GAAA,IAAA,CAAKA,UAAAA,KAAL,IAAA,GAAA,EAAA,GAAmB,IAAID,SAAAA,EAAAA;AACzC,IAAA,OAAO,IAAA,CAAKC,UAAAA;AAChB,EAAA;AACJ,CAAA;AAtBaT,MAAAA,CAAAA,iBAAAA,EAAAA,kBAAAA,CAAAA;AACT,aAAA,CADSA,mBACMM,iBAAAA,EAGX;EACAI,MAAAA,kBAAQ,MAAA,CAAA,MAAM,OAAO,uCAAA,CAAA,EAAb,QAAA,CAAA;EACRC,GAAAA,kBAAK,MAAA,CAAA,MAAM,OAAO,oCAAA,CAAA,EAAb,KAAA,CAAA;EACLC,KAAAA,kBAAO,MAAA,CAAA,MAAM,OAAO,sCAAA,CAAA,EAAb,OAAA,CAAA;EACPC,MAAAA,kBAAQ,MAAA,CAAA,MAAM,OAAO,uCAAA,CAAA,EAAb,QAAA;AACZ,CAAA,CAAA;AACA,aAAA,CAVSb,mBAUMS,YAAAA,EAAgC,IAAA,CAAA;AAV5C,IAAMT,gBAAAA,GAAN,iBAAA;;;ACHA,IAAMc,iBAAAA,GAAN,MAAMA,iBAAAA,CAAAA;;;;;;;EAOT,MAAaC,IAAAA,CAAKC,QAAkBC,OAAAA,EAAsC;AACtE,IAAA,OAAA,CAAQ,MAAMjB,gBAAAA,CAAiBC,YAAAA,EAAY,EAAIc,IAAAA,CAAKC,QAAQC,OAAAA,CAAAA;AAChE,EAAA;AAEA,EAAA,aAAoBC,WAAAA,GAAgC;AAChD,IAAA,IAAI;AACA,MAAA,MAAMlB,iBAAiBC,YAAAA,EAAY;AACnC,MAAA,OAAO,IAAA;AACX,IAAA,CAAA,CAAA,OAASkB,KAAAA,EAAO;AACZC,MAAAA,OAAAA,CAAQD,KAAAA,CAAM,qCAAqCA,KAAAA,CAAAA;AACnD,MAAA,OAAO,KAAA;AACX,IAAA;AACJ,EAAA;AACJ,CAAA;AApBaL,MAAAA,CAAAA,iBAAAA,EAAAA,kBAAAA,CAAAA;AAAN,IAAMA,gBAAAA,GAAN","file":"index.mjs","sourcesContent":["import { PLATFORM_CLOUD } from '../utils/constants';\n\nexport const getSMSProviderFromPlatformCloud = () => {\n const platformCloudDictionary: Record<string, string> = {\n AWS: 'aws',\n AZURE: 'azure',\n };\n\n return platformCloudDictionary[PLATFORM_CLOUD ?? ''] ?? undefined;\n};\n","import { UnknownProviderError } from '../errors';\nimport { ISMSSender } from '../interfaces';\nimport { SMSProviderModule } from '../types';\nimport { SMS_PROVIDER } from '../utils/constants';\nimport { getSMSProviderFromPlatformCloud } from '../mappers/qrveyEnvs.mapper';\n\nexport class SMSSenderFactory {\n private static providerModules: Record<\n string,\n () => Promise<SMSProviderModule>\n > = {\n twilio: () => import('./clients/twilioSmsSender.client'),\n aws: () => import('./clients/awsSmsSender.client'),\n azure: () => import('./clients/azureSmsSender.client'),\n vonage: () => import('./clients/vonageSmsSender.client'),\n };\n private static _smsSender: ISMSSender | null = null;\n\n static async getSMSSender(): Promise<ISMSSender> {\n const provider =\n getSMSProviderFromPlatformCloud() ?? SMS_PROVIDER?.toLowerCase();\n if (!provider) throw new UnknownProviderError();\n if (!this.providerModules[provider]) throw new UnknownProviderError();\n\n const { default: SMSSender } = await this.providerModules[provider]();\n this._smsSender = this._smsSender ?? new SMSSender();\n return this._smsSender;\n }\n}\n","import { SendResult } from '../types';\nimport { SMSSenderFactory } from './smsSenderFactory.service';\n\nexport class SMSSenderService {\n /**\n * Send a message to one or more phones.\n * @param phones - phone numbers to send to\n * @param message - message to send\n * @returns {Promise<SendResult>} Send result.\n */\n public async send(phones: string[], message: string): Promise<SendResult> {\n return (await SMSSenderFactory.getSMSSender()).send(phones, message);\n }\n\n public static async checkStatus(): Promise<boolean> {\n try {\n await SMSSenderFactory.getSMSSender();\n return true;\n } catch (error) {\n console.error('Error checking SMS sender status:', error);\n return false;\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,80 +1,63 @@
1
1
  {
2
- "name": "@qrvey/sms",
3
- "version": "1.0.1-949",
4
- "types": "dist/types/index.d.ts",
5
- "main": "dist/cjs/index.js",
6
- "exports": {
7
- ".": {
8
- "import": "./dist/esm/index.mjs",
9
- "require": "./dist/cjs/index.js",
10
- "default": "./dist/cjs/index.js"
11
- }
12
- },
13
- "scripts": {
14
- "test": "jest",
15
- "test:cov": "jest --coverage && chmod +x ./coverageReader.sh && sh ./coverageReader.sh",
16
- "build:clean": "rm -rf dist",
17
- "build:compile:original": "tsc -b ./tsconfig.cjs.json ./tsconfig.esm.json ./tsconfig.types.json",
18
- "build:compile:cjs:original": "tsup --config ./tsup.config.cjs.ts",
19
- "build:compile:cjs": "tsc -b ./tsconfig.cjs.json",
20
- "build:compile:esm": "tsup --config ./tsup.config.esm.ts",
21
- "build:compile:types": "tsup --config ./tsup.config.types.ts",
22
- "build:compile": "yarn build:compile:cjs && yarn build:compile:esm && yarn build:compile:types",
23
- "build": "yarn test:cov && yarn build:clean && yarn build:compile",
24
- "prepare-publish": "yarn install && yarn build",
25
- "publish-package": "yarn prepare-publish && npm publish --tag latest"
26
- },
27
- "keywords": [
28
- "sms",
29
- "client",
30
- "qrvey"
31
- ],
32
- "author": "Qrvey",
33
- "license": "MIT",
34
- "description": "",
35
- "devDependencies": {
36
- "@aws-sdk/client-sns": "3.1021.0",
37
- "@azure/communication-sms": "1.2.0-beta.1",
38
- "@types/jest": "29.5.5",
39
- "@types/twilio": "3.19.3",
40
- "@vonage/auth": "1.12.0",
41
- "@vonage/server-sdk": "3.19.1",
42
- "auto-version-js": "0.3.10",
43
- "eslint-config-custom": "*",
44
- "jest": "29.7.0",
45
- "ts-jest": "29.1.1",
46
- "tsc": "2.0.4",
47
- "tsconfig": "*",
48
- "tsup": "8.5.0",
49
- "twilio": "5.6.1",
50
- "typescript": "5.2.2"
51
- },
52
- "peerDependencies": {
53
- "@aws-sdk/client-sns": "3.1021.0",
54
- "@azure/communication-sms": "1.2.0-beta.1",
55
- "@vonage/auth": "1.12.0",
56
- "@vonage/server-sdk": "3.19.1",
57
- "twilio": "5.6.1"
58
- },
59
- "peerDependenciesMeta": {
60
- "@aws-sdk/client-sns": {
61
- "optional": true
62
- },
63
- "@azure/communication-sms": {
64
- "optional": true
65
- },
66
- "@vonage/auth": {
67
- "optional": true
68
- },
69
- "@vonage/server-sdk": {
70
- "optional": true
71
- },
72
- "twilio": {
73
- "optional": true
74
- }
75
- },
76
- "publishConfig": {
77
- "access": "public",
78
- "registry": "https://registry.npmjs.org"
2
+ "name": "@qrvey/sms",
3
+ "version": "1.0.2-1215-beta.1",
4
+ "types": "dist/types/index.d.ts",
5
+ "main": "dist/cjs/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./dist/esm/index.mjs",
9
+ "require": "./dist/cjs/index.js",
10
+ "default": "./dist/cjs/index.js"
79
11
  }
12
+ },
13
+ "scripts": {
14
+ "test": "jest",
15
+ "test:cov": "jest --coverage && chmod +x ./coverageReader.sh && sh ./coverageReader.sh",
16
+ "build:clean": "rm -rf dist",
17
+ "build:compile:original": "tsc -b ./tsconfig.cjs.json ./tsconfig.esm.json ./tsconfig.types.json",
18
+ "build:compile:cjs:original": "tsup --config ./tsup.config.cjs.ts",
19
+ "build:compile:cjs": "tsc -b ./tsconfig.cjs.json",
20
+ "build:compile:esm": "tsup --config ./tsup.config.esm.ts",
21
+ "build:compile:types": "tsup --config ./tsup.config.types.ts",
22
+ "build:compile": "yarn build:compile:cjs && yarn build:compile:esm && yarn build:compile:types",
23
+ "build": "yarn test:cov && yarn build:clean && yarn build:compile",
24
+ "prepare-publish": "yarn install && yarn build",
25
+ "publish-package": "yarn prepare-publish && npm publish --tag latest"
26
+ },
27
+ "keywords": [
28
+ "sms",
29
+ "client",
30
+ "qrvey"
31
+ ],
32
+ "author": "Qrvey",
33
+ "license": "MIT",
34
+ "description": "",
35
+ "devDependencies": {
36
+ "@aws-sdk/client-sns": "3.1021.0",
37
+ "@azure/communication-sms": "1.2.0-beta.1",
38
+ "@types/jest": "29.5.14",
39
+ "@types/twilio": "3.19.3",
40
+ "@vonage/auth": "1.12.2",
41
+ "@vonage/server-sdk": "3.19.4",
42
+ "auto-version-js": "0.3.10",
43
+ "eslint-config-custom": "*",
44
+ "jest": "29.7.0",
45
+ "ts-jest": "29.1.5",
46
+ "tsc": "2.0.4",
47
+ "tsconfig": "*",
48
+ "tsup": "8.5.0",
49
+ "twilio": "5.13.1",
50
+ "typescript": "5.9.3"
51
+ },
52
+ "peerDependencies": {
53
+ "@aws-sdk/client-sns": "3.1021.0",
54
+ "@azure/communication-sms": "1.2.0-beta.1",
55
+ "@vonage/auth": "1.12.2",
56
+ "@vonage/server-sdk": "3.19.4",
57
+ "twilio": "5.13.1"
58
+ },
59
+ "publishConfig": {
60
+ "access": "public",
61
+ "registry": "https://registry.npmjs.org"
62
+ }
80
63
  }
@@ -17,6 +17,7 @@ export class SMSSenderService {
17
17
  await SMSSenderFactory.getSMSSender();
18
18
  return true;
19
19
  } catch (error) {
20
+ console.error('Error checking SMS sender status:', error);
20
21
  return false;
21
22
  }
22
23
  }
package/tsconfig.json CHANGED
@@ -12,6 +12,6 @@
12
12
  "**/*.test.ts",
13
13
  "**/*.test.d.ts",
14
14
  "**/*.spec.ts",
15
- "**/__tests__",
15
+ "**/__tests__"
16
16
  ]
17
17
  }