@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.
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/infobip/index.d.ts +2 -0
- package/dist/extensions/infobip/index.js +42 -0
- package/dist/extensions/infobip/index.js.map +1 -0
- package/dist/extensions/infobip/settings.d.ts +47 -0
- package/dist/extensions/infobip/settings.js +45 -0
- package/dist/extensions/infobip/settings.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/index.d.ts +3 -0
- package/dist/extensions/infobip/v1/actions/index.js +10 -0
- package/dist/extensions/infobip/v1/actions/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.d.ts +48 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.js +42 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/config/index.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/config/index.js +7 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/config/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/index.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/index.js +6 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.d.ts +4 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.js +59 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.test.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.test.js +34 -0
- package/dist/extensions/infobip/v1/actions/sendEmail/sendEmail.test.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.d.ts +54 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.js +55 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/fields.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.js +7 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/config/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/index.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/index.js +6 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.d.ts +4 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.js +47 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.test.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.test.js +34 -0
- package/dist/extensions/infobip/v1/actions/sendEmailWithTemplate/sendEmailWithTemplate.test.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/config/fields.d.ts +40 -0
- package/dist/extensions/infobip/v1/actions/sendSms/config/fields.js +36 -0
- package/dist/extensions/infobip/v1/actions/sendSms/config/fields.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/config/index.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/config/index.js +7 -0
- package/dist/extensions/infobip/v1/actions/sendSms/config/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/index.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/index.js +6 -0
- package/dist/extensions/infobip/v1/actions/sendSms/index.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/sendSms.d.ts +4 -0
- package/dist/extensions/infobip/v1/actions/sendSms/sendSms.js +63 -0
- package/dist/extensions/infobip/v1/actions/sendSms/sendSms.js.map +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/sendSms.test.d.ts +1 -0
- package/dist/extensions/infobip/v1/actions/sendSms/sendSms.test.js +33 -0
- package/dist/extensions/infobip/v1/actions/sendSms/sendSms.test.js.map +1 -0
- package/dist/extensions/infobip/v1/client/client.d.ts +27 -0
- package/dist/extensions/infobip/v1/client/client.js +91 -0
- package/dist/extensions/infobip/v1/client/client.js.map +1 -0
- package/dist/extensions/infobip/v1/client/error.d.ts +5 -0
- package/dist/extensions/infobip/v1/client/error.js +45 -0
- package/dist/extensions/infobip/v1/client/error.js.map +1 -0
- package/dist/extensions/infobip/v1/client/index.d.ts +2 -0
- package/dist/extensions/infobip/v1/client/index.js +19 -0
- package/dist/extensions/infobip/v1/client/index.js.map +1 -0
- package/dist/extensions/infobip/v1/types.d.ts +34 -0
- package/dist/extensions/infobip/v1/types.js +3 -0
- package/dist/extensions/infobip/v1/types.js.map +1 -0
- package/dist/extensions/markdown.json +4 -0
- package/package.json +1 -1
package/dist/extensions/index.js
CHANGED
@@ -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,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,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,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 @@
|
|
1
|
+
export {};
|
@@ -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,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
|