@qrvey/sms 0.0.4 → 0.0.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.
- package/dist/esm/awsSmsSender.client-KAGNU24Z.mjs +1 -1
- package/dist/esm/awsSmsSender.client-KAGNU24Z.mjs.map +1 -1
- package/dist/esm/{azureSmsSender.client-K6MPTIU7.mjs → azureSmsSender.client-4MHOTRQ7.mjs} +3 -4
- package/dist/esm/azureSmsSender.client-4MHOTRQ7.mjs.map +1 -0
- package/dist/esm/chunk-NCQDKWNI.mjs +1 -1
- package/dist/esm/chunk-NCQDKWNI.mjs.map +1 -1
- package/dist/esm/index.d.mts +1 -1
- package/dist/esm/index.mjs +4 -5
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/{twilioSmsSender.client-SSZMXU4M.mjs → twilioSmsSender.client-2AYM7Q6Q.mjs} +3 -4
- package/dist/esm/twilioSmsSender.client-2AYM7Q6Q.mjs.map +1 -0
- package/dist/esm/vonageSmsSender.client-FSND4BQX.mjs +1 -1
- package/dist/esm/vonageSmsSender.client-FSND4BQX.mjs.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +4 -4
- package/dist/esm/azureSmsSender.client-K6MPTIU7.mjs.map +0 -1
- package/dist/esm/twilioSmsSender.client-SSZMXU4M.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/clients/awsSmsSender.client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/services/clients/awsSmsSender.client.ts"],"names":[],"mappings":";;;AAUA,IAAqB,qBAArB,MAA8D;AAAA,EAE1D,WAAc,GAAA;AAqCd,IAAQ,IAAA,CAAA,OAAA,GAAU,OACd,KAAA,EACA,OACgC,KAAA;AAChC,MAAM,MAAA,OAAA,GAAU,IAAI,cAAe,CAAA;AAAA,QAC/B,OAAS,EAAA,OAAA;AAAA,QACT,WAAa,EAAA;AAAA,OAChB,CAAA;AAED,MAAA,OAAO,MAAM,IAAA,CAAK,MAAO,CAAA,IAAA,CAAK,OAAO,CAAA;AAAA,KACzC;AA9CI,IAAM,MAAA,WAAA,GAAc,QAAY,IAAA,OAAA,CAAQ,GAAI,CAAA,iBAAA;AAC5C,IAAM,MAAA,eAAA,GAAkB,QAAY,IAAA,OAAA,CAAQ,GAAI,CAAA,qBAAA;AAChD,IAAM,MAAA,MAAA,GAAS,MAAU,IAAA,OAAA,CAAQ,GAAI,CAAA,UAAA;AACrC,IAAA,IAAI,EAAE,WAAe,IAAA,eAAA,CAAA;AACjB,MAAA,MAAM,IAAI,2BAA4B,EAAA;AAC1C,IAAK,IAAA,CAAA,MAAA,GAAS,IAAI,SAAU,CAAA;AAAA,MACxB,MAAA;AAAA,MACA,WAAa,EAAA;AAAA,QACT,WAAA;AAAA,QACA;AAAA;AACJ,KACH,CAAA;AAAA;AACL,EAEA,MAAa,IAAA,CACT,MAAmB,GAAA,IACnB,OACmB,EAAA;AACnB,IAAA,MAAM,MAAqB,GAAA;AAAA,MACvB,MAAM,EAAC;AAAA,MACP,QAAQ;AAAC,KACb;AAEA,IAAA,MAAM,OAAQ,CAAA,GAAA;AAAA,MACV,MAAO,CAAA,GAAA;AAAA,QAAI,CAAC,KACR,KAAA,IAAA,CAAK,OAAQ,CAAA,KAAA,EAAO,OAAO,CACtB,CAAA,IAAA,CAAK,MAAM,MAAA,CAAO,KAAK,IAAK,CAAA,EAAE,KAAM,EAAC,CAAC,CACtC,CAAA,KAAA;AAAA,UAAM,CAAC,KACJ,KAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,EAAE,KAAO,EAAA,KAAA,EAAO,KAAM,CAAA,OAAA,EAAS;AAAA;AACtD;AACR,KACJ;AAEA,IAAO,OAAA,MAAA;AAAA;AAcf","file":"awsSmsSender.client-KAGNU24Z.mjs","sourcesContent":["import { NotProvidedCredentialsError } from '../../errors';\nimport { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { PASSWORD, REGION, USERNAME } from '../../utils/constants';\nimport {\n PublishCommand,\n PublishCommandOutput,\n SNSClient,\n} from '@aws-sdk/client-sns';\n\nexport default class AwsSMSSenderClient implements ISMSSender {\n private client: SNSClient;\n constructor() {\n const accessKeyId = USERNAME || process.env.AWS_ACCESS_KEY_ID;\n const secretAccessKey = PASSWORD || process.env.AWS_SECRET_ACCESS_KEY;\n const region = REGION || process.env.AWS_REGION;\n if (!(accessKeyId && secretAccessKey))\n throw new NotProvidedCredentialsError();\n this.client = new SNSClient({\n region: region,\n credentials: {\n accessKeyId: accessKeyId,\n secretAccessKey: secretAccessKey,\n },\n });\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this.sendOne(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n }\n\n private sendOne = async (\n phone: string,\n message: string,\n ): Promise<PublishCommandOutput> => {\n const command = new PublishCommand({\n Message: message,\n PhoneNumber: phone,\n });\n\n return await this.client.send(command);\n };\n}\n"]}
|
|
@@ -24,13 +24,12 @@ var AzureSMSSenderClient = class {
|
|
|
24
24
|
phone: smsResult.to,
|
|
25
25
|
error: smsResult.errorMessage
|
|
26
26
|
});
|
|
27
|
-
else
|
|
28
|
-
result.sent.push({ phone: smsResult.to });
|
|
27
|
+
else result.sent.push({ phone: smsResult.to });
|
|
29
28
|
});
|
|
30
29
|
return result;
|
|
31
30
|
}
|
|
32
31
|
};
|
|
33
32
|
|
|
34
33
|
export { AzureSMSSenderClient as default };
|
|
35
|
-
//# sourceMappingURL=
|
|
36
|
-
//# sourceMappingURL=azureSmsSender.client-
|
|
34
|
+
//# sourceMappingURL=azureSmsSender.client-4MHOTRQ7.mjs.map
|
|
35
|
+
//# sourceMappingURL=azureSmsSender.client-4MHOTRQ7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/clients/azureSmsSender.client.ts"],"names":[],"mappings":";;;AAMA,IAAqB,uBAArB,MAAgE;AAAA,EAE5D,WAAc,GAAA;AACV,IAAI,IAAA,EAAE,YAAY,QAAY,IAAA,IAAA,CAAA;AAC1B,MAAA,MAAM,IAAI,2BAA4B,EAAA;AAC1C,IAAA,MAAM,gBAAmB,GAAA,CAAA,iBAAA,EAAoB,QAAQ,CAAA,oCAAA,EAAuC,QAAQ,CAAA,CAAA;AACpG,IAAK,IAAA,CAAA,MAAA,GAAS,IAAI,SAAA,CAAU,gBAAgB,CAAA;AAAA;AAChD,EAEA,MAAa,IAAK,CAAA,MAAA,EAAkB,OAAsC,EAAA;AACtE,IAAA,MAAM,MAAqB,GAAA;AAAA,MACvB,MAAM,EAAC;AAAA,MACP,QAAQ;AAAC,KACb;AACA,IAAA,MAAM,UAAa,GAAA,MAAM,IAAK,CAAA,MAAA,CAAO,IAAK,CAAA;AAAA,MACtC,IAAM,EAAA,IAAA;AAAA,MACN,EAAI,EAAA,MAAA;AAAA,MACJ;AAAA,KACH,CAAA;AAED,IAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,SAAc,KAAA;AAC9B,MAAA,IAAI,SAAU,CAAA,YAAA;AACV,QAAA,MAAA,CAAO,OAAO,IAAK,CAAA;AAAA,UACf,OAAO,SAAU,CAAA,EAAA;AAAA,UACjB,OAAO,SAAU,CAAA;AAAA,SACpB,CAAA;AAAA,kBACO,IAAK,CAAA,IAAA,CAAK,EAAE,KAAO,EAAA,SAAA,CAAU,IAAI,CAAA;AAAA,KAChD,CAAA;AAED,IAAO,OAAA,MAAA;AAAA;AAEf","file":"azureSmsSender.client-4MHOTRQ7.mjs","sourcesContent":["import { NotProvidedCredentialsError } from '../../errors';\nimport { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { SmsClient } from '@azure/communication-sms';\n\nexport default class AzureSMSSenderClient implements ISMSSender {\n client: SmsClient;\n constructor() {\n if (!(USERNAME && PASSWORD && FROM))\n throw new NotProvidedCredentialsError();\n const connectionString = `endpoint=https://${USERNAME}.communication.azure.com/;accesskey=${PASSWORD}`;\n this.client = new SmsClient(connectionString);\n }\n\n public async send(phones: string[], message: string): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n const smsResults = await this.client.send({\n from: FROM as string,\n to: phones,\n message: message,\n });\n\n smsResults.forEach((smsResult) => {\n if (smsResult.errorMessage)\n result.failed.push({\n phone: smsResult.to,\n error: smsResult.errorMessage,\n });\n else result.sent.push({ phone: smsResult.to });\n });\n\n return result;\n }\n}\n"]}
|
|
@@ -22,5 +22,5 @@ var FROM = process.env.SMS_PROVIDER_FROM_NUMBER;
|
|
|
22
22
|
var REGION = process.env.SMS_PROVIDER_REGION;
|
|
23
23
|
|
|
24
24
|
export { FROM, NotProvidedCredentialsError, PASSWORD, REGION, SMS_PROVIDER, USERNAME, UnknownProviderError };
|
|
25
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=chunk-NCQDKWNI.mjs.map
|
|
26
26
|
//# sourceMappingURL=chunk-NCQDKWNI.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/errors/notProvidedCredentials.error.ts","../../src/errors/unknownProvider.error.ts","../../src/utils/constants.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../src/errors/notProvidedCredentials.error.ts","../../src/errors/unknownProvider.error.ts","../../src/utils/constants.ts"],"names":[],"mappings":";AAAa,IAAA,2BAAA,GAAN,cAA0C,KAAM,CAAA;AAAA,EACnD,WAAc,GAAA;AACV,IAAA,KAAA,CAAM,sCAAsC,CAAA;AAC5C,IAAA,IAAA,CAAK,IAAO,GAAA,6BAAA;AAAA;AAEpB;;;ACLa,IAAA,oBAAA,GAAN,cAAmC,KAAM,CAAA;AAAA,EAC5C,WAAc,GAAA;AACV,IAAA,KAAA,CAAM,6CAA6C,CAAA;AACnD,IAAA,IAAA,CAAK,IAAO,GAAA,sBAAA;AAAA;AAEpB;;;ACLa,IAAA,YAAA,GAAe,QAAQ,GAAI,CAAA;AAE3B,IAAA,QAAA,GAAW,QAAQ,GAAI,CAAA;AACvB,IAAA,QAAA,GAAW,QAAQ,GAAI,CAAA;AACvB,IAAA,IAAA,GAAO,QAAQ,GAAI,CAAA;AACnB,IAAA,MAAA,GAAS,QAAQ,GAAI,CAAA","file":"chunk-NCQDKWNI.mjs","sourcesContent":["export class NotProvidedCredentialsError extends Error {\n constructor() {\n super('SMS sender credentials not provided.');\n this.name = 'NotProvidedCredentialsError';\n }\n}\n","export class UnknownProviderError extends Error {\n constructor() {\n super('Unknown provider. Set PROVIDER env variable');\n this.name = 'UnknownProviderError';\n }\n}\n","export const SMS_PROVIDER = process.env.SMS_PROVIDER;\n\nexport const USERNAME = process.env.SMS_PROVIDER_USERNAME;\nexport const PASSWORD = process.env.SMS_PROVIDER_PASSWORD;\nexport const FROM = process.env.SMS_PROVIDER_FROM_NUMBER;\nexport const REGION = process.env.SMS_PROVIDER_REGION;\n"]}
|
package/dist/esm/index.d.mts
CHANGED
package/dist/esm/index.mjs
CHANGED
|
@@ -5,16 +5,15 @@ var SMSSenderFactory = class {
|
|
|
5
5
|
static async getSMSSender() {
|
|
6
6
|
var _a;
|
|
7
7
|
const provider = (_a = SMS_PROVIDER) == null ? void 0 : _a.toLowerCase();
|
|
8
|
-
if (!provider)
|
|
9
|
-
throw new UnknownProviderError();
|
|
8
|
+
if (!provider) throw new UnknownProviderError();
|
|
10
9
|
const { default: SMSSender } = await this.providerModules[provider]();
|
|
11
10
|
return new SMSSender();
|
|
12
11
|
}
|
|
13
12
|
};
|
|
14
13
|
SMSSenderFactory.providerModules = {
|
|
15
|
-
twilio: () => import('./twilioSmsSender.client-
|
|
14
|
+
twilio: () => import('./twilioSmsSender.client-2AYM7Q6Q.mjs'),
|
|
16
15
|
aws: () => import('./awsSmsSender.client-KAGNU24Z.mjs'),
|
|
17
|
-
azure: () => import('./azureSmsSender.client-
|
|
16
|
+
azure: () => import('./azureSmsSender.client-4MHOTRQ7.mjs'),
|
|
18
17
|
vonage: () => import('./vonageSmsSender.client-FSND4BQX.mjs')
|
|
19
18
|
};
|
|
20
19
|
|
|
@@ -32,5 +31,5 @@ var SMSSenderService = class {
|
|
|
32
31
|
};
|
|
33
32
|
|
|
34
33
|
export { SMSSenderService };
|
|
35
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=index.mjs.map
|
|
36
35
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/smsSenderFactory.service.ts","../../src/services/smsSender.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/services/smsSenderFactory.service.ts","../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;AAKO,IAAM,mBAAN,MAAuB;AAAA,EAW1B,aAAa,YAAoC,GAAA;AAhBrD,IAAA,IAAA,EAAA;AAiBQ,IAAA,MAAM,YAAW,EAAc,GAAA,YAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,WAAA,EAAA;AAC/B,IAAA,IAAI,CAAC,QAAA,EAAgB,MAAA,IAAI,oBAAqB,EAAA;AAE9C,IAAM,MAAA,EAAE,SAAS,SAAU,EAAA,GAAI,MAAM,IAAK,CAAA,eAAA,CAAgB,QAAQ,CAAE,EAAA;AACpE,IAAA,OAAO,IAAI,SAAU,EAAA;AAAA;AAE7B,CAAA;AAlBa,gBAAA,CACM,eAGX,GAAA;AAAA,EACA,MAAA,EAAQ,MAAM,OAAO,uCAAkC,CAAA;AAAA,EACvD,GAAA,EAAK,MAAM,OAAO,oCAA+B,CAAA;AAAA,EACjD,KAAA,EAAO,MAAM,OAAO,sCAAiC,CAAA;AAAA,EACrD,MAAA,EAAQ,MAAM,OAAO,uCAAkC;AAC3D,CAAA;;;ACXG,IAAM,mBAAN,MAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO1B,MAAa,IAAK,CAAA,MAAA,EAAkB,OAAsC,EAAA;AACtE,IAAA,OAAA,CAAQ,MAAM,gBAAiB,CAAA,YAAA,EAAgB,EAAA,IAAA,CAAK,QAAQ,OAAO,CAAA;AAAA;AAE3E","file":"index.mjs","sourcesContent":["import { UnknownProviderError } from '../errors';\nimport { ISMSSender } from '../interfaces';\nimport { SMSProviderModule } from '../types';\nimport { SMS_PROVIDER } from '../utils/constants';\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\n static async getSMSSender(): Promise<ISMSSender> {\n const provider = SMS_PROVIDER?.toLowerCase();\n if (!provider) throw new UnknownProviderError();\n\n const { default: SMSSender } = await this.providerModules[provider]();\n return new 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"]}
|
package/dist/esm/{twilioSmsSender.client-SSZMXU4M.mjs → twilioSmsSender.client-2AYM7Q6Q.mjs}
RENAMED
|
@@ -10,8 +10,7 @@ var TwilioSMSSenderClient = class {
|
|
|
10
10
|
});
|
|
11
11
|
if (USERNAME && PASSWORD && FROM)
|
|
12
12
|
this.client = new Twilio(USERNAME, PASSWORD);
|
|
13
|
-
else
|
|
14
|
-
throw new NotProvidedCredentialsError();
|
|
13
|
+
else throw new NotProvidedCredentialsError();
|
|
15
14
|
}
|
|
16
15
|
async send(phones = [], message) {
|
|
17
16
|
const result = {
|
|
@@ -30,5 +29,5 @@ var TwilioSMSSenderClient = class {
|
|
|
30
29
|
};
|
|
31
30
|
|
|
32
31
|
export { TwilioSMSSenderClient as default };
|
|
33
|
-
//# sourceMappingURL=
|
|
34
|
-
//# sourceMappingURL=twilioSmsSender.client-
|
|
32
|
+
//# sourceMappingURL=twilioSmsSender.client-2AYM7Q6Q.mjs.map
|
|
33
|
+
//# sourceMappingURL=twilioSmsSender.client-2AYM7Q6Q.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/clients/twilioSmsSender.client.ts"],"names":[],"mappings":";;;AAOA,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,WAAc,GAAA;AA4Bd,IAAA,IAAA,CAAQ,UAAU,CACd,KAAA,EACA,YAEA,IAAK,CAAA,MAAA,CAAO,SAAS,MAAO,CAAA;AAAA,MACxB,IAAM,EAAA,IAAA;AAAA,MACN,EAAI,EAAA,KAAA;AAAA,MACJ,IAAM,EAAA;AAAA,KACT,CAAA;AAnCD,IAAA,IAAI,YAAY,QAAY,IAAA,IAAA;AACxB,MAAA,IAAA,CAAK,MAAS,GAAA,IAAI,MAAO,CAAA,QAAA,EAAU,QAAQ,CAAA;AAAA,SAC1C,MAAM,IAAI,2BAA4B,EAAA;AAAA;AAC/C,EAEA,MAAa,IAAA,CACT,MAAmB,GAAA,IACnB,OACmB,EAAA;AACnB,IAAA,MAAM,MAAqB,GAAA;AAAA,MACvB,MAAM,EAAC;AAAA,MACP,QAAQ;AAAC,KACb;AAEA,IAAA,MAAM,OAAQ,CAAA,GAAA;AAAA,MACV,MAAO,CAAA,GAAA;AAAA,QAAI,CAAC,KACR,KAAA,IAAA,CAAK,OAAQ,CAAA,KAAA,EAAO,OAAO,CACtB,CAAA,IAAA,CAAK,MAAM,MAAA,CAAO,KAAK,IAAK,CAAA,EAAE,KAAM,EAAC,CAAC,CACtC,CAAA,KAAA;AAAA,UAAM,CAAC,KACJ,KAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,EAAE,KAAO,EAAA,KAAA,EAAO,KAAM,CAAA,OAAA,EAAS;AAAA;AACtD;AACR,KACJ;AAEA,IAAO,OAAA,MAAA;AAAA;AAYf","file":"twilioSmsSender.client-2AYM7Q6Q.mjs","sourcesContent":["import { ISMSSender } from '../../interfaces/smsSender.interface';\nimport { Twilio } from 'twilio';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { MessageInstance } from 'twilio/lib/rest/api/v2010/account/message';\nimport { SendResult } from '../../types/sendResult.type';\nimport { NotProvidedCredentialsError } from '../../errors';\n\nexport default class TwilioSMSSenderClient implements ISMSSender {\n private client: Twilio;\n constructor() {\n if (USERNAME && PASSWORD && FROM)\n this.client = new Twilio(USERNAME, PASSWORD);\n else throw new NotProvidedCredentialsError();\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this.sendOne(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n }\n\n private sendOne = (\n phone: string,\n message: string,\n ): Promise<MessageInstance> =>\n this.client.messages.create({\n from: FROM,\n to: phone,\n body: message,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/clients/vonageSmsSender.client.ts"],"names":["message"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/services/clients/vonageSmsSender.client.ts"],"names":["message"],"mappings":";;;;AAQA,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,WAAc,GAAA;AAoCd,IAAA,IAAA,CAAQ,UAAU,CAAC,KAAA,EAAe,YAC9B,IAAK,CAAA,MAAA,CAAO,IAAI,IAAK,CAAA;AAAA,MACjB,EAAI,EAAA,KAAA;AAAA,MACJ,IAAM,EAAA,OAAA;AAAA,MACN,IAAM,EAAA;AAAA,KACT,CAAA;AAxCD,IAAI,IAAA,EAAE,YAAY,QAAY,IAAA,IAAA,CAAA;AAC1B,MAAA,MAAM,IAAI,2BAA4B,EAAA;AAC1C,IAAM,MAAA,UAAA,GAAa,IAAI,IAAK,CAAA;AAAA,MACxB,MAAQ,EAAA,QAAA;AAAA,MACR,SAAW,EAAA;AAAA,KACd,CAAA;AACD,IAAK,IAAA,CAAA,MAAA,GAAS,IAAI,MAAA,CAAO,UAAU,CAAA;AAAA;AACvC,EAEA,MAAa,IAAK,CAAA,MAAA,EAAkB,OAAsC,EAAA;AACtE,IAAA,MAAM,MAAqB,GAAA;AAAA,MACvB,MAAM,EAAC;AAAA,MACP,QAAQ;AAAC,KACb;AAEA,IAAA,MAAM,OAAQ,CAAA,GAAA;AAAA,MACV,MAAO,CAAA,GAAA;AAAA,QAAI,CAAC,UACR,IAAK,CAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAE,IAAK,CAAA,CAAC,IAAS,KAAA;AA5B5D,UAAA,IAAA,EAAA;AA6BoB,UACI,IAAA,CAAA,EAAA,GAAA,IAAA,CAAK,aAAL,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAK,CAACA,QAAYA,KAAAA,QAAAA,CAAQ,WAAW,GACtD,CAAA,EAAA;AACE,YAAA,MAAA,CAAO,OAAO,IAAK,CAAA;AAAA,cACf,KAAA;AAAA,cACA,KAAO,EAAA,IAAA,CAAK,QAAS,CAAA,CAAC,CAAE,CAAA;AAAA,aAC3B,CAAA;AAAA,WACE,MAAA;AACH,YAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,EAAE,KAAA,EAAO,CAAA;AAAA;AAC9B,SACH;AAAA;AACL,KACJ;AAEA,IAAO,OAAA,MAAA;AAAA;AASf","file":"vonageSmsSender.client-FSND4BQX.mjs","sourcesContent":["import { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { Vonage } from '@vonage/server-sdk';\nimport { Auth } from '@vonage/auth';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { NotProvidedCredentialsError } from '../../errors';\nimport { SMSMessages } from '@vonage/sms/dist/lib/types/SMSMessages';\n\nexport default class VonageSMSSenderClient implements ISMSSender {\n private client: Vonage;\n constructor() {\n if (!(USERNAME && PASSWORD && FROM))\n throw new NotProvidedCredentialsError();\n const vonageAuth = new Auth({\n apiKey: USERNAME,\n apiSecret: PASSWORD,\n });\n this.client = new Vonage(vonageAuth);\n }\n\n public async send(phones: string[], message: string): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this.sendOne(phone, message).then((data) => {\n if (\n data.messages?.some((message) => message.status !== '0')\n ) {\n result.failed.push({\n phone,\n error: data.messages[0].errorText,\n });\n } else {\n result.sent.push({ phone });\n }\n }),\n ),\n );\n\n return result;\n }\n\n private sendOne = (phone: string, message: string): Promise<SMSMessages> =>\n this.client.sms.send({\n to: phone,\n text: message,\n from: FROM as string,\n });\n}\n"]}
|
package/dist/types/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qrvey/sms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"types": "dist/types/index.d.ts",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"ts-jest": "29.1.1",
|
|
46
46
|
"tsc": "2.0.4",
|
|
47
47
|
"tsconfig": "*",
|
|
48
|
-
"tsup": "
|
|
49
|
-
"twilio": "5.
|
|
48
|
+
"tsup": "8.5.0",
|
|
49
|
+
"twilio": "5.6.1",
|
|
50
50
|
"typescript": "5.2.2"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@azure/communication-sms": "1.2.0-beta.1",
|
|
55
55
|
"@vonage/auth": "1.12.0",
|
|
56
56
|
"@vonage/server-sdk": "3.19.1",
|
|
57
|
-
"twilio": "5.
|
|
57
|
+
"twilio": "5.6.1"
|
|
58
58
|
},
|
|
59
59
|
"peerDependenciesMeta": {
|
|
60
60
|
"@aws-sdk/client-sns": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/clients/azureSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;AAIA,SAAS,iBAAiB;AAE1B,IAAqB,uBAArB,MAAgE;AAAA,EAE5D,cAAc;AACV,QAAI,EAAE,YAAY,YAAY;AAC1B,YAAM,IAAI,4BAA4B;AAC1C,UAAM,mBAAmB,oBAAoB,QAAQ,uCAAuC,QAAQ;AACpG,SAAK,SAAS,IAAI,UAAU,gBAAgB;AAAA,EAChD;AAAA,EAEA,MAAa,KAAK,QAAkB,SAAsC;AACtE,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AACA,UAAM,aAAa,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,MAAM;AAAA,MACN,IAAI;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,eAAW,QAAQ,CAAC,cAAc;AAC9B,UAAI,UAAU;AACV,eAAO,OAAO,KAAK;AAAA,UACf,OAAO,UAAU;AAAA,UACjB,OAAO,UAAU;AAAA,QACrB,CAAC;AAAA;AACA,eAAO,KAAK,KAAK,EAAE,OAAO,UAAU,GAAG,CAAC;AAAA,IACjD,CAAC;AAED,WAAO;AAAA,EACX;AACJ","sourcesContent":["import { NotProvidedCredentialsError } from '../../errors';\nimport { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { SmsClient } from '@azure/communication-sms';\n\nexport default class AzureSMSSenderClient implements ISMSSender {\n client: SmsClient;\n constructor() {\n if (!(USERNAME && PASSWORD && FROM))\n throw new NotProvidedCredentialsError();\n const connectionString = `endpoint=https://${USERNAME}.communication.azure.com/;accesskey=${PASSWORD}`;\n this.client = new SmsClient(connectionString);\n }\n\n public async send(phones: string[], message: string): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n const smsResults = await this.client.send({\n from: FROM as string,\n to: phones,\n message: message,\n });\n\n smsResults.forEach((smsResult) => {\n if (smsResult.errorMessage)\n result.failed.push({\n phone: smsResult.to,\n error: smsResult.errorMessage,\n });\n else result.sent.push({ phone: smsResult.to });\n });\n\n return result;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/clients/twilioSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;AACA,SAAS,cAAc;AAMvB,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,cAAc;AA4Bd,SAAQ,UAAU,CACd,OACA,YAEA,KAAK,OAAO,SAAS,OAAO;AAAA,MACxB,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM;AAAA,IACV,CAAC;AAnCD,QAAI,YAAY,YAAY;AACxB,WAAK,SAAS,IAAI,OAAO,UAAU,QAAQ;AAAA;AAC1C,YAAM,IAAI,4BAA4B;AAAA,EAC/C;AAAA,EAEA,MAAa,KACT,SAAmB,CAAC,GACpB,SACmB;AACnB,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AAEA,UAAM,QAAQ;AAAA,MACV,OAAO;AAAA,QAAI,CAAC,UACR,KAAK,QAAQ,OAAO,OAAO,EACtB,KAAK,MAAM,OAAO,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EACtC;AAAA,UAAM,CAAC,UACJ,OAAO,OAAO,KAAK,EAAE,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,QACtD;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAWJ","sourcesContent":["import { ISMSSender } from '../../interfaces/smsSender.interface';\nimport { Twilio } from 'twilio';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { MessageInstance } from 'twilio/lib/rest/api/v2010/account/message';\nimport { SendResult } from '../../types/sendResult.type';\nimport { NotProvidedCredentialsError } from '../../errors';\n\nexport default class TwilioSMSSenderClient implements ISMSSender {\n private client: Twilio;\n constructor() {\n if (USERNAME && PASSWORD && FROM)\n this.client = new Twilio(USERNAME, PASSWORD);\n else throw new NotProvidedCredentialsError();\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this.sendOne(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n }\n\n private sendOne = (\n phone: string,\n message: string,\n ): Promise<MessageInstance> =>\n this.client.messages.create({\n from: FROM,\n to: phone,\n body: message,\n });\n}\n"]}
|