@awell-health/awell-extensions 1.0.122 → 1.0.124

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.
Files changed (70) hide show
  1. package/dist/extensions/index.js +2 -0
  2. package/dist/extensions/index.js.map +1 -1
  3. package/dist/extensions/infobip/index.d.ts +2 -0
  4. package/dist/extensions/infobip/index.js +42 -0
  5. package/dist/extensions/infobip/index.js.map +1 -0
  6. package/dist/extensions/infobip/settings.d.ts +47 -0
  7. package/dist/extensions/infobip/settings.js +45 -0
  8. package/dist/extensions/infobip/settings.js.map +1 -0
  9. package/dist/extensions/infobip/v1/actions/index.d.ts +3 -0
  10. package/dist/extensions/infobip/v1/actions/index.js +10 -0
  11. package/dist/extensions/infobip/v1/actions/index.js.map +1 -0
  12. package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.d.ts +48 -0
  13. package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.js +42 -0
  14. package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.js.map +1 -0
  15. package/dist/extensions/infobip/v1/actions/sendEmail/config/index.d.ts +1 -0
  16. package/dist/extensions/infobip/v1/actions/sendEmail/config/index.js +7 -0
  17. package/dist/extensions/infobip/v1/actions/sendEmail/config/index.js.map +1 -0
  18. package/dist/extensions/infobip/v1/actions/sendEmail/index.d.ts +1 -0
  19. package/dist/extensions/infobip/v1/actions/sendEmail/index.js +6 -0
  20. package/dist/extensions/infobip/v1/actions/sendEmail/index.js.map +1 -0
  21. package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.d.ts +4 -0
  22. package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.js +59 -0
  23. package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.js.map +1 -0
  24. package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.test.d.ts +1 -0
  25. package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.test.js +34 -0
  26. package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.test.js.map +1 -0
  27. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.d.ts +54 -0
  28. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.js +55 -0
  29. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.js.map +1 -0
  30. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.d.ts +1 -0
  31. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.js +7 -0
  32. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.js.map +1 -0
  33. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/index.d.ts +1 -0
  34. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/index.js +6 -0
  35. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/index.js.map +1 -0
  36. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.d.ts +4 -0
  37. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.js +47 -0
  38. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.js.map +1 -0
  39. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.test.d.ts +1 -0
  40. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.test.js +34 -0
  41. package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.test.js.map +1 -0
  42. package/dist/extensions/infobip/v1/actions/sendSms/config/fields.d.ts +40 -0
  43. package/dist/extensions/infobip/v1/actions/sendSms/config/fields.js +36 -0
  44. package/dist/extensions/infobip/v1/actions/sendSms/config/fields.js.map +1 -0
  45. package/dist/extensions/infobip/v1/actions/sendSms/config/index.d.ts +1 -0
  46. package/dist/extensions/infobip/v1/actions/sendSms/config/index.js +7 -0
  47. package/dist/extensions/infobip/v1/actions/sendSms/config/index.js.map +1 -0
  48. package/dist/extensions/infobip/v1/actions/sendSms/index.d.ts +1 -0
  49. package/dist/extensions/infobip/v1/actions/sendSms/index.js +6 -0
  50. package/dist/extensions/infobip/v1/actions/sendSms/index.js.map +1 -0
  51. package/dist/extensions/infobip/v1/actions/sendSms/sendSms.d.ts +4 -0
  52. package/dist/extensions/infobip/v1/actions/sendSms/sendSms.js +63 -0
  53. package/dist/extensions/infobip/v1/actions/sendSms/sendSms.js.map +1 -0
  54. package/dist/extensions/infobip/v1/actions/sendSms/sendSms.test.d.ts +1 -0
  55. package/dist/extensions/infobip/v1/actions/sendSms/sendSms.test.js +33 -0
  56. package/dist/extensions/infobip/v1/actions/sendSms/sendSms.test.js.map +1 -0
  57. package/dist/extensions/infobip/v1/client/client.d.ts +27 -0
  58. package/dist/extensions/infobip/v1/client/client.js +91 -0
  59. package/dist/extensions/infobip/v1/client/client.js.map +1 -0
  60. package/dist/extensions/infobip/v1/client/error.d.ts +5 -0
  61. package/dist/extensions/infobip/v1/client/error.js +45 -0
  62. package/dist/extensions/infobip/v1/client/error.js.map +1 -0
  63. package/dist/extensions/infobip/v1/client/index.d.ts +2 -0
  64. package/dist/extensions/infobip/v1/client/index.js +19 -0
  65. package/dist/extensions/infobip/v1/client/index.js.map +1 -0
  66. package/dist/extensions/infobip/v1/types.d.ts +34 -0
  67. package/dist/extensions/infobip/v1/types.js +3 -0
  68. package/dist/extensions/infobip/v1/types.js.map +1 -0
  69. package/dist/extensions/markdown.json +4 -0
  70. package/package.json +1 -1
@@ -48,6 +48,7 @@ const sendbird_1 = require("./sendbird");
48
48
  const transform_1 = require("./transform");
49
49
  const iterable_1 = require("./iterable");
50
50
  const zendesk_1 = require("./zendesk");
51
+ const infobip_1 = require("./infobip");
51
52
  const json = __importStar(require("./markdown.json"));
52
53
  exports.markdown = json;
53
54
  exports.extensions = [
@@ -77,5 +78,6 @@ exports.extensions = [
77
78
  // ZusHealth,
78
79
  iterable_1.Iterable,
79
80
  zendesk_1.Zendesk,
81
+ infobip_1.Infobip,
80
82
  ];
81
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,yCAAqC;AACrC,uCAAmC;AAEnC,sDAAuC;AAG1B,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,aAAK;IACL,qBAAS;IACT,6BAAa;IACb,uBAAU;IACV,yBAAW;IACX,iBAAO;IACP,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,6BAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,4CAA4C;IAC5C,aAAa;IACb,mBAAQ;IACR,iBAAO;CACR,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,yCAAqC;AACrC,uCAAmC;AACnC,uCAAmC;AAEnC,sDAAuC;AAG1B,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,aAAK;IACL,qBAAS;IACT,6BAAa;IACb,uBAAU;IACV,yBAAW;IACX,iBAAO;IACP,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,6BAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,4CAA4C;IAC5C,aAAa;IACb,mBAAQ;IACR,iBAAO;IACP,iBAAO;CACR,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { type Extension } from '@awell-health/extensions-core';
2
+ export declare const Infobip: Extension;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
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
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Infobip = void 0;
27
+ const extensions_core_1 = require("@awell-health/extensions-core");
28
+ const actions = __importStar(require("./v1/actions"));
29
+ const settings_1 = require("./settings");
30
+ exports.Infobip = {
31
+ key: 'infobip',
32
+ title: 'Infobip',
33
+ icon_url: 'https://res.cloudinary.com/da7x4rzl4/image/upload/v1697459181/Awell%20Extensions/download_3.png',
34
+ description: 'Infobip is a global cloud communications platform that provides a wide range of communication and customer engagement solutions for businesses.',
35
+ category: extensions_core_1.Category.COMMUNICATION,
36
+ author: {
37
+ authorType: extensions_core_1.AuthorType.AWELL,
38
+ },
39
+ actions,
40
+ settings: settings_1.settings,
41
+ };
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/infobip/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mEAAoE;AACpE,sDAAuC;AACvC,yCAAqC;AAExB,QAAA,OAAO,GAAc;IAChC,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,QAAQ,EACN,iGAAiG;IACnG,WAAW,EACT,iJAAiJ;IACnJ,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,KAAK;KAC7B;IACD,OAAO;IACP,QAAQ,EAAR,mBAAQ;CACT,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ export declare const settings: {
3
+ baseUrl: {
4
+ label: string;
5
+ key: string;
6
+ obfuscated: false;
7
+ required: true;
8
+ description: string;
9
+ };
10
+ apiKey: {
11
+ label: string;
12
+ key: string;
13
+ obfuscated: true;
14
+ required: true;
15
+ description: string;
16
+ };
17
+ fromPhoneNumber: {
18
+ label: string;
19
+ key: string;
20
+ obfuscated: false;
21
+ required: true;
22
+ description: string;
23
+ };
24
+ fromEmail: {
25
+ label: string;
26
+ key: string;
27
+ obfuscated: false;
28
+ required: true;
29
+ description: string;
30
+ };
31
+ };
32
+ export declare const SettingsValidationSchema: z.ZodObject<{
33
+ baseUrl: z.ZodString;
34
+ apiKey: z.ZodString;
35
+ fromPhoneNumber: z.ZodString;
36
+ fromEmail: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ apiKey: string;
39
+ baseUrl: string;
40
+ fromEmail: string;
41
+ fromPhoneNumber: string;
42
+ }, {
43
+ apiKey: string;
44
+ baseUrl: string;
45
+ fromEmail: string;
46
+ fromPhoneNumber: string;
47
+ }>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SettingsValidationSchema = exports.settings = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.settings = {
6
+ baseUrl: {
7
+ label: 'Base URL',
8
+ key: 'baseUrl',
9
+ obfuscated: false,
10
+ required: true,
11
+ description: 'Your unique API base URL',
12
+ },
13
+ apiKey: {
14
+ label: 'API key',
15
+ key: 'apiKey',
16
+ obfuscated: true,
17
+ required: true,
18
+ description: 'Your Infobip API key',
19
+ },
20
+ fromPhoneNumber: {
21
+ label: 'From phone number',
22
+ key: 'fromPhoneNumber',
23
+ obfuscated: false,
24
+ required: true,
25
+ description: 'The phone number you wish to use for sending text messages, must be in E.164 format (eg. +19033428784)',
26
+ },
27
+ fromEmail: {
28
+ label: 'From email',
29
+ key: 'fromEmail',
30
+ obfuscated: false,
31
+ required: true,
32
+ description: 'The email address you wish to use for sending text messages. When you are using Broadcast templates, the from email defined in the template will be used.',
33
+ },
34
+ };
35
+ exports.SettingsValidationSchema = zod_1.z.object({
36
+ baseUrl: zod_1.z.string().url().nonempty({
37
+ message: 'Missing "Base URL" in the extension settings.',
38
+ }),
39
+ apiKey: zod_1.z.string().nonempty({
40
+ message: 'Missing "API key" in the extension settings.',
41
+ }),
42
+ fromPhoneNumber: zod_1.z.string(),
43
+ fromEmail: zod_1.z.string().email(),
44
+ });
45
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/infobip/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE;QACP,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,SAAS;QACd,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,0BAA0B;KACxC;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,QAAQ;QACb,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sBAAsB;KACpC;IACD,eAAe,EAAE;QACf,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,iBAAiB;QACtB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,wGAAwG;KAC3G;IACD,SAAS,EAAE;QACT,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,WAAW;QAChB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,2JAA2J;KAC9J;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,+CAA+C;KACzD,CAAC;IACF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,8CAA8C;KACxD,CAAC;IACF,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;CACsB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { sendSms } from './sendSms';
2
+ export { sendEmail } from './sendEmail';
3
+ export { sendEmailWithTemplate } from './sendEmailWithTemplate';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmailWithTemplate = exports.sendEmail = exports.sendSms = void 0;
4
+ var sendSms_1 = require("./sendSms");
5
+ Object.defineProperty(exports, "sendSms", { enumerable: true, get: function () { return sendSms_1.sendSms; } });
6
+ var sendEmail_1 = require("./sendEmail");
7
+ Object.defineProperty(exports, "sendEmail", { enumerable: true, get: function () { return sendEmail_1.sendEmail; } });
8
+ var sendEmailWithTemplate_1 = require("./sendEmailWithTemplate");
9
+ Object.defineProperty(exports, "sendEmailWithTemplate", { enumerable: true, get: function () { return sendEmailWithTemplate_1.sendEmailWithTemplate; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/infobip/v1/actions/index.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ import { FieldType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ from: {
5
+ label: string;
6
+ id: string;
7
+ type: FieldType.STRING;
8
+ required: false;
9
+ description: string;
10
+ };
11
+ to: {
12
+ label: string;
13
+ id: string;
14
+ type: FieldType.STRING;
15
+ required: true;
16
+ description: string;
17
+ };
18
+ subject: {
19
+ label: string;
20
+ id: string;
21
+ type: FieldType.STRING;
22
+ required: true;
23
+ description: string;
24
+ };
25
+ content: {
26
+ label: string;
27
+ id: string;
28
+ type: FieldType.HTML;
29
+ required: true;
30
+ description: string;
31
+ };
32
+ };
33
+ export declare const FieldsValidationSchema: z.ZodObject<{
34
+ from: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
35
+ to: z.ZodString;
36
+ subject: z.ZodString;
37
+ content: z.ZodString;
38
+ }, "strip", z.ZodTypeAny, {
39
+ content: string;
40
+ subject: string;
41
+ to: string;
42
+ from?: string | undefined;
43
+ }, {
44
+ content: string;
45
+ subject: string;
46
+ to: string;
47
+ from?: string | undefined;
48
+ }>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ exports.fields = {
7
+ from: {
8
+ label: 'From',
9
+ id: 'from',
10
+ type: extensions_core_1.FieldType.STRING,
11
+ required: false,
12
+ description: 'The email address you wish to use for sending emails. Defaults to value provided in settings.',
13
+ },
14
+ to: {
15
+ label: 'To',
16
+ id: 'to',
17
+ type: extensions_core_1.FieldType.STRING,
18
+ required: true,
19
+ description: 'The email address to which you intend to send the email',
20
+ },
21
+ subject: {
22
+ label: 'Subject',
23
+ id: 'subject',
24
+ type: extensions_core_1.FieldType.STRING,
25
+ required: true,
26
+ description: '',
27
+ },
28
+ content: {
29
+ label: 'Content',
30
+ id: 'content',
31
+ type: extensions_core_1.FieldType.HTML,
32
+ required: true,
33
+ description: '',
34
+ },
35
+ };
36
+ exports.FieldsValidationSchema = zod_1.z.object({
37
+ from: (0, extensions_core_1.makeStringOptional)(zod_1.z.string()),
38
+ to: zod_1.z.string().email(),
39
+ subject: zod_1.z.string(),
40
+ content: zod_1.z.string(),
41
+ });
42
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/infobip/v1/actions/sendEmail/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAIsC;AAEzB,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,+FAA+F;KAClG;IACD,EAAE,EAAE;QACF,KAAK,EAAE,IAAI;QACX,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,yDAAyD;KACvE;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE;KAChB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,IAAA,oCAAkB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACpC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACtB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CAC8B,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { FieldsValidationSchema, fields } from './fields';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fields = exports.FieldsValidationSchema = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
6
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/infobip/v1/actions/sendEmail/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gHAAA,sBAAsB,OAAA;AAAE,gGAAA,MAAM,OAAA"}
@@ -0,0 +1 @@
1
+ export { sendEmail } from './sendEmail';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmail = void 0;
4
+ var sendEmail_1 = require("./sendEmail");
5
+ Object.defineProperty(exports, "sendEmail", { enumerable: true, get: function () { return sendEmail_1.sendEmail; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/infobip/v1/actions/sendEmail/index.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAA9B,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../../settings';
3
+ import { fields } from './config';
4
+ export declare const sendEmail: Action<typeof fields, typeof settings>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmail = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ const settings_1 = require("../../../settings");
7
+ const config_1 = require("./config");
8
+ const lodash_1 = require("lodash");
9
+ const error_1 = require("../../client/error");
10
+ const client_1 = require("../../client");
11
+ exports.sendEmail = {
12
+ key: 'sendEmail',
13
+ title: 'Send email',
14
+ description: 'Sends email using Infobip',
15
+ category: extensions_core_1.Category.COMMUNICATION,
16
+ fields: config_1.fields,
17
+ previewable: false,
18
+ onActivityCreated: async (payload, onComplete, onError) => {
19
+ try {
20
+ const { settings: { baseUrl, apiKey, fromEmail }, fields: { from, to, subject, content }, } = (0, extensions_core_1.validate)({
21
+ schema: zod_1.z
22
+ .object({
23
+ settings: settings_1.SettingsValidationSchema,
24
+ fields: config_1.FieldsValidationSchema,
25
+ })
26
+ .superRefine((value, ctx) => {
27
+ if ((0, lodash_1.isEmpty)(value.fields.from) &&
28
+ (0, lodash_1.isEmpty)(value.settings.fromEmail)) {
29
+ ctx.addIssue({
30
+ code: zod_1.z.ZodIssueCode.custom,
31
+ fatal: true,
32
+ message: '"From" email is missing in both settings and in the action fields.',
33
+ });
34
+ }
35
+ }),
36
+ payload,
37
+ });
38
+ const client = new client_1.InfobipClient({ baseUrl, apiToken: apiKey });
39
+ await client.emailApi.send({
40
+ from: from !== null && from !== void 0 ? from : fromEmail,
41
+ to: [to],
42
+ subject,
43
+ html: content,
44
+ });
45
+ await onComplete();
46
+ }
47
+ catch (err) {
48
+ if ((0, error_1.isInfobipError)(err)) {
49
+ const events = (0, error_1.infobipErrorToActivityEvent)(err);
50
+ await onError({ events });
51
+ }
52
+ else {
53
+ // re-throw to be handled in extensions server
54
+ throw err;
55
+ }
56
+ }
57
+ },
58
+ };
59
+ //# sourceMappingURL=sendEmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../../../../../extensions/infobip/v1/actions/sendEmail/sendEmail.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mEAA+E;AAC/E,gDAA2E;AAC3E,qCAAyD;AACzD,mCAAgC;AAChC,8CAAgF;AAChF,yCAA4C;AAE/B,QAAA,SAAS,GAA2C;IAC/D,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EACxC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GACvC,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC;qBACN,MAAM,CAAC;oBACN,QAAQ,EAAE,mCAAwB;oBAClC,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;qBACD,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC1B,IACE,IAAA,gBAAO,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC1B,IAAA,gBAAO,EAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EACjC;wBACA,GAAG,CAAC,QAAQ,CAAC;4BACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;4BAC3B,KAAK,EAAE,IAAI;4BACX,OAAO,EACL,oEAAoE;yBACvE,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC;gBACJ,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YAE/D,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACzB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS;gBACvB,EAAE,EAAE,CAAC,EAAE,CAAC;gBACR,OAAO;gBACP,IAAI,EAAE,OAAO;aACd,CAAC,CAAA;YAEF,MAAM,UAAU,EAAE,CAAA;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAA,sBAAc,EAAC,GAAG,CAAC,EAAE;gBACvB,MAAM,MAAM,GAAG,IAAA,mCAA2B,EAAC,GAAG,CAAC,CAAA;gBAC/C,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;aAC1B;iBAAM;gBACL,8CAA8C;gBAC9C,MAAM,GAAG,CAAA;aACV;SACF;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __mocks__1 = require("../../client/__mocks__");
4
+ const __1 = require("..");
5
+ const tests_1 = require("../../../../../src/tests");
6
+ jest.mock('../../client');
7
+ describe('Send email', () => {
8
+ const onComplete = jest.fn();
9
+ const onError = jest.fn();
10
+ const basePayload = (0, tests_1.generateTestPayload)({
11
+ fields: {
12
+ from: __mocks__1.mockedEmailData.from,
13
+ to: __mocks__1.mockedEmailData.to[0],
14
+ subject: __mocks__1.mockedEmailData.subject,
15
+ content: __mocks__1.mockedEmailData.html,
16
+ },
17
+ settings: {
18
+ baseUrl: 'https://example.api.com',
19
+ apiKey: 'apiKey',
20
+ fromPhoneNumber: '+19033428784',
21
+ fromEmail: 'john@doe.com',
22
+ },
23
+ });
24
+ beforeEach(() => {
25
+ jest.clearAllMocks();
26
+ });
27
+ test('Should call the onComplete callback', async () => {
28
+ await __1.sendEmail.onActivityCreated(basePayload, onComplete, onError);
29
+ expect(__mocks__1.InfobipClientMockImplementation.emailApi.send).toHaveBeenCalledWith(__mocks__1.mockedEmailData);
30
+ expect(onComplete).toHaveBeenCalled();
31
+ expect(onError).not.toHaveBeenCalled();
32
+ });
33
+ });
34
+ //# sourceMappingURL=sendEmail.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendEmail.test.js","sourceRoot":"","sources":["../../../../../../extensions/infobip/v1/actions/sendEmail/sendEmail.test.ts"],"names":[],"mappings":";;AAAA,qDAG+B;AAC/B,0BAA8B;AAC9B,oDAA8D;AAE9D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAEzB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,MAAM,WAAW,GAAG,IAAA,2BAAmB,EAAC;QACtC,MAAM,EAAE;YACN,IAAI,EAAE,0BAAe,CAAC,IAAI;YAC1B,EAAE,EAAE,0BAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,0BAAe,CAAC,OAAO;YAChC,OAAO,EAAE,0BAAe,CAAC,IAAI;SAC9B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,cAAc;YAC/B,SAAS,EAAE,cAAc;SAC1B;KACF,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,aAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QAEnE,MAAM,CAAC,0CAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACxE,0BAAe,CAChB,CAAA;QACD,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+ import { FieldType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ to: {
5
+ label: string;
6
+ id: string;
7
+ type: FieldType.STRING;
8
+ required: true;
9
+ description: string;
10
+ };
11
+ subject: {
12
+ label: string;
13
+ id: string;
14
+ type: FieldType.STRING;
15
+ required: false;
16
+ description: string;
17
+ };
18
+ templateId: {
19
+ label: string;
20
+ id: string;
21
+ type: FieldType.NUMERIC;
22
+ required: true;
23
+ description: string;
24
+ };
25
+ placeholders: {
26
+ label: string;
27
+ id: string;
28
+ type: FieldType.JSON;
29
+ required: true;
30
+ description: string;
31
+ };
32
+ };
33
+ export declare const FieldsValidationSchema: z.ZodObject<{
34
+ to: z.ZodString;
35
+ subject: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
36
+ templateId: z.ZodNumber;
37
+ placeholders: z.ZodEffects<z.ZodOptional<z.ZodString>, string | number | boolean | {
38
+ [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
39
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null, string | undefined>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ templateId: number;
42
+ to: string;
43
+ placeholders: ((string | number | boolean | {
44
+ [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
45
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[]) & (string | number | boolean | {
46
+ [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
47
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | undefined)) | null;
48
+ subject?: string | undefined;
49
+ }, {
50
+ templateId: number;
51
+ to: string;
52
+ subject?: string | undefined;
53
+ placeholders?: string | undefined;
54
+ }>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ const lodash_1 = require("lodash");
7
+ exports.fields = {
8
+ to: {
9
+ label: 'To',
10
+ id: 'to',
11
+ type: extensions_core_1.FieldType.STRING,
12
+ required: true,
13
+ description: 'The email address to which you intend to send the email',
14
+ },
15
+ subject: {
16
+ label: 'Subject',
17
+ id: 'subject',
18
+ type: extensions_core_1.FieldType.STRING,
19
+ required: false,
20
+ description: 'When provided, it overwrites the subject specified in the Broadcast template',
21
+ },
22
+ templateId: {
23
+ label: 'Template ID',
24
+ id: 'templateId',
25
+ type: extensions_core_1.FieldType.NUMERIC,
26
+ required: true,
27
+ description: 'The ID of the template used for generating email content',
28
+ },
29
+ placeholders: {
30
+ label: 'Placeholders',
31
+ id: 'placeholders',
32
+ type: extensions_core_1.FieldType.JSON,
33
+ required: true,
34
+ description: 'The values for the placeholders defined in your template. Must be a valid key-value pair JSON object.',
35
+ },
36
+ };
37
+ exports.FieldsValidationSchema = zod_1.z.object({
38
+ to: zod_1.z.string().email(),
39
+ subject: (0, extensions_core_1.makeStringOptional)(zod_1.z.string()),
40
+ templateId: zod_1.z.number(),
41
+ placeholders: zod_1.z
42
+ .optional(zod_1.z.string())
43
+ .transform((str, ctx) => {
44
+ if ((0, lodash_1.isNil)(str) || (0, lodash_1.isEmpty)(str))
45
+ return {};
46
+ try {
47
+ return JSON.parse(str);
48
+ }
49
+ catch (e) {
50
+ ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
51
+ return zod_1.z.NEVER;
52
+ }
53
+ }),
54
+ });
55
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAKsC;AACtC,mCAAuC;AAE1B,QAAA,MAAM,GAAG;IACpB,EAAE,EAAE;QACF,KAAK,EAAE,IAAI;QACX,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,yDAAyD;KACvE;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,8EAA8E;KACjF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,aAAa;QACpB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,0DAA0D;KACxE;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,uGAAuG;KAC1G;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACtB,OAAO,EAAE,IAAA,oCAAkB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACvC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,OAAC;SACZ,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACpB,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAoC,EAAE;QACxD,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAA;QAEzC,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACvB;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;YACzD,OAAO,OAAC,CAAC,KAAK,CAAA;SACf;IACH,CAAC,CAAC;CAC6C,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { FieldsValidationSchema, fields } from './fields';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fields = exports.FieldsValidationSchema = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
6
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gHAAA,sBAAsB,OAAA;AAAE,gGAAA,MAAM,OAAA"}
@@ -0,0 +1 @@
1
+ export { sendEmailWithTemplate } from './sendEmailWithTemplate';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmailWithTemplate = void 0;
4
+ var sendEmailWithTemplate_1 = require("./sendEmailWithTemplate");
5
+ Object.defineProperty(exports, "sendEmailWithTemplate", { enumerable: true, get: function () { return sendEmailWithTemplate_1.sendEmailWithTemplate; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/infobip/v1/actions/sendEmailWithTemplate/index.ts"],"names":[],"mappings":";;;AAAA,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../../settings';
3
+ import { fields } from './config';
4
+ export declare const sendEmailWithTemplate: Action<typeof fields, typeof settings>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmailWithTemplate = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ const settings_1 = require("../../../settings");
7
+ const config_1 = require("./config");
8
+ const error_1 = require("../../client/error");
9
+ const client_1 = require("../../client");
10
+ exports.sendEmailWithTemplate = {
11
+ key: 'sendEmailWithTemplate',
12
+ title: 'Send email with template',
13
+ description: 'Sends email with a template using Infobip',
14
+ category: extensions_core_1.Category.COMMUNICATION,
15
+ fields: config_1.fields,
16
+ previewable: false,
17
+ onActivityCreated: async (payload, onComplete, onError) => {
18
+ try {
19
+ const { settings: { baseUrl, apiKey }, fields: { to, subject, templateId, placeholders }, } = (0, extensions_core_1.validate)({
20
+ schema: zod_1.z.object({
21
+ settings: settings_1.SettingsValidationSchema,
22
+ fields: config_1.FieldsValidationSchema,
23
+ }),
24
+ payload,
25
+ });
26
+ const client = new client_1.InfobipClient({ baseUrl, apiToken: apiKey });
27
+ await client.emailApi.send({
28
+ to: [to],
29
+ subject,
30
+ templateId,
31
+ defaultPlaceholders: JSON.stringify(placeholders),
32
+ });
33
+ await onComplete();
34
+ }
35
+ catch (err) {
36
+ if ((0, error_1.isInfobipError)(err)) {
37
+ const events = (0, error_1.infobipErrorToActivityEvent)(err);
38
+ await onError({ events });
39
+ }
40
+ else {
41
+ // re-throw to be handled in extensions server
42
+ throw err;
43
+ }
44
+ }
45
+ },
46
+ };
47
+ //# sourceMappingURL=sendEmailWithTemplate.js.map