@awell-health/awell-extensions 2.0.25 → 2.0.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/dist/extensions/hubspot/actions/getContact/config/datapoints.d.ts +14 -0
  2. package/dist/extensions/hubspot/actions/getContact/config/datapoints.js +18 -0
  3. package/dist/extensions/hubspot/actions/getContact/config/datapoints.js.map +1 -0
  4. package/dist/extensions/hubspot/actions/getContact/config/fields.d.ts +18 -0
  5. package/dist/extensions/hubspot/actions/getContact/config/fields.js +21 -0
  6. package/dist/extensions/hubspot/actions/getContact/config/fields.js.map +1 -0
  7. package/dist/extensions/hubspot/actions/getContact/config/index.d.ts +2 -0
  8. package/dist/extensions/hubspot/actions/getContact/config/index.js +9 -0
  9. package/dist/extensions/hubspot/actions/getContact/config/index.js.map +1 -0
  10. package/dist/extensions/hubspot/actions/getContact/getContact.d.ts +4 -0
  11. package/dist/extensions/hubspot/actions/getContact/getContact.js +31 -0
  12. package/dist/extensions/hubspot/actions/getContact/getContact.js.map +1 -0
  13. package/dist/extensions/hubspot/actions/getContact/getContact.test.d.ts +1 -0
  14. package/dist/extensions/hubspot/actions/getContact/getContact.test.js +60 -0
  15. package/dist/extensions/hubspot/actions/getContact/getContact.test.js.map +1 -0
  16. package/dist/extensions/hubspot/actions/getContact/index.d.ts +1 -0
  17. package/dist/extensions/hubspot/actions/getContact/index.js +6 -0
  18. package/dist/extensions/hubspot/actions/getContact/index.js.map +1 -0
  19. package/dist/extensions/hubspot/actions/index.d.ts +145 -0
  20. package/dist/extensions/hubspot/actions/index.js +12 -0
  21. package/dist/extensions/hubspot/actions/index.js.map +1 -0
  22. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/datapoints.d.ts +6 -0
  23. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/datapoints.js +10 -0
  24. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/datapoints.js.map +1 -0
  25. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/fields.d.ts +58 -0
  26. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/fields.js +93 -0
  27. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/fields.js.map +1 -0
  28. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/index.d.ts +2 -0
  29. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/index.js +9 -0
  30. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/config/index.js.map +1 -0
  31. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/index.d.ts +1 -0
  32. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/index.js +6 -0
  33. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/index.js.map +1 -0
  34. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/sendEmailWithSingleSendApi.d.ts +4 -0
  35. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/sendEmailWithSingleSendApi.js +37 -0
  36. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/sendEmailWithSingleSendApi.js.map +1 -0
  37. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/sendEmailWithSingleSendApi.test.d.ts +1 -0
  38. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/sendEmailWithSingleSendApi.test.js +57 -0
  39. package/dist/extensions/hubspot/actions/sendEmailWithSingleSendApi/sendEmailWithSingleSendApi.test.js.map +1 -0
  40. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/datapoints.d.ts +1 -0
  41. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/datapoints.js +5 -0
  42. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/datapoints.js.map +1 -0
  43. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/fields.d.ts +48 -0
  44. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/fields.js +45 -0
  45. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/fields.js.map +1 -0
  46. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/index.d.ts +2 -0
  47. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/index.js +9 -0
  48. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/config/index.js.map +1 -0
  49. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/index.d.ts +1 -0
  50. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/index.js +6 -0
  51. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/index.js.map +1 -0
  52. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/sendEmailWithSmtp.d.ts +4 -0
  53. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/sendEmailWithSmtp.js +26 -0
  54. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/sendEmailWithSmtp.js.map +1 -0
  55. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/sendEmailWithSmtp.test.d.ts +1 -0
  56. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/sendEmailWithSmtp.test.js +46 -0
  57. package/dist/extensions/hubspot/actions/sendEmailWithSmtp/sendEmailWithSmtp.test.js.map +1 -0
  58. package/dist/extensions/hubspot/index.d.ts +2 -0
  59. package/dist/extensions/hubspot/index.js +22 -0
  60. package/dist/extensions/hubspot/index.js.map +1 -0
  61. package/dist/extensions/hubspot/lib/index.d.ts +1 -0
  62. package/dist/extensions/hubspot/lib/index.js +6 -0
  63. package/dist/extensions/hubspot/lib/index.js.map +1 -0
  64. package/dist/extensions/hubspot/lib/smtpApi/index.d.ts +1 -0
  65. package/dist/extensions/hubspot/lib/smtpApi/index.js +6 -0
  66. package/dist/extensions/hubspot/lib/smtpApi/index.js.map +1 -0
  67. package/dist/extensions/hubspot/lib/smtpApi/smtp.schema.d.ts +18 -0
  68. package/dist/extensions/hubspot/lib/smtpApi/smtp.schema.js +11 -0
  69. package/dist/extensions/hubspot/lib/smtpApi/smtp.schema.js.map +1 -0
  70. package/dist/extensions/hubspot/lib/smtpApi/smtpClient.d.ts +12 -0
  71. package/dist/extensions/hubspot/lib/smtpApi/smtpClient.js +59 -0
  72. package/dist/extensions/hubspot/lib/smtpApi/smtpClient.js.map +1 -0
  73. package/dist/extensions/hubspot/lib/validatePayloadAndCreateSdk.d.ts +20 -0
  74. package/dist/extensions/hubspot/lib/validatePayloadAndCreateSdk.js +46 -0
  75. package/dist/extensions/hubspot/lib/validatePayloadAndCreateSdk.js.map +1 -0
  76. package/dist/extensions/hubspot/settings.d.ts +37 -0
  77. package/dist/extensions/hubspot/settings.js +33 -0
  78. package/dist/extensions/hubspot/settings.js.map +1 -0
  79. package/dist/extensions/index.js +2 -0
  80. package/dist/extensions/index.js.map +1 -1
  81. package/dist/extensions/markdown.json +4 -0
  82. package/package.json +5 -1
@@ -0,0 +1,14 @@
1
+ export declare const dataPoints: {
2
+ firstName: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ lastName: {
7
+ key: string;
8
+ valueType: "string";
9
+ };
10
+ email: {
11
+ key: string;
12
+ valueType: "string";
13
+ };
14
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ firstName: {
6
+ key: 'firstName',
7
+ valueType: 'string',
8
+ },
9
+ lastName: {
10
+ key: 'lastName',
11
+ valueType: 'string',
12
+ },
13
+ email: {
14
+ key: 'email',
15
+ valueType: 'string',
16
+ },
17
+ };
18
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/getContact/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,SAAS,EAAE,QAAQ;KACpB;IACD,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ contactId: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ contactId: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ contactId: string;
16
+ }, {
17
+ contactId: string;
18
+ }>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FieldsValidationSchema = exports.fields = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const zod_1 = __importDefault(require("zod"));
9
+ exports.fields = {
10
+ contactId: {
11
+ id: 'contactId',
12
+ label: 'Contact ID',
13
+ description: '',
14
+ type: extensions_core_1.FieldType.STRING,
15
+ required: true,
16
+ },
17
+ };
18
+ exports.FieldsValidationSchema = zod_1.default.object({
19
+ contactId: zod_1.default.string().min(1),
20
+ });
21
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/getContact/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACqB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './datapoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var datapoints_1 = require("./datapoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return datapoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/getContact/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../settings';
3
+ import { fields, dataPoints } from './config';
4
+ export declare const getcontact: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getcontact = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const lib_1 = require("../../lib");
6
+ const config_1 = require("./config");
7
+ exports.getcontact = {
8
+ key: 'getcontact',
9
+ category: extensions_core_1.Category.CUSTOMER_SUPPORT,
10
+ title: 'Get contact',
11
+ description: 'Retrieve the contact details from HubSpot',
12
+ fields: config_1.fields,
13
+ previewable: false,
14
+ dataPoints: config_1.dataPoints,
15
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
16
+ var _a, _b, _c;
17
+ const { hubSpotSdk, fields } = await (0, lib_1.validatePayloadAndCreateSdks)({
18
+ fieldsSchema: config_1.FieldsValidationSchema,
19
+ payload,
20
+ });
21
+ const res = await hubSpotSdk.crm.contacts.basicApi.getById(fields.contactId);
22
+ await onComplete({
23
+ data_points: {
24
+ firstName: (_a = res.properties.firstname) !== null && _a !== void 0 ? _a : undefined,
25
+ lastName: (_b = res.properties.lastname) !== null && _b !== void 0 ? _b : undefined,
26
+ email: (_c = res.properties.email) !== null && _c !== void 0 ? _c : undefined,
27
+ },
28
+ });
29
+ },
30
+ };
31
+ //# sourceMappingURL=getContact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContact.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/getContact/getContact.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,mCAAwD;AAExD,qCAAqE;AAExD,QAAA,UAAU,GAInB;IACF,GAAG,EAAE,YAAY;IACjB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;;QAC1E,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAA4B,EAAC;YAChE,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAE5E,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,SAAS,EAAE,MAAA,GAAG,CAAC,UAAU,CAAC,SAAS,mCAAI,SAAS;gBAChD,QAAQ,EAAE,MAAA,GAAG,CAAC,UAAU,CAAC,QAAQ,mCAAI,SAAS;gBAC9C,KAAK,EAAE,MAAA,GAAG,CAAC,UAAU,CAAC,KAAK,mCAAI,SAAS;aACzC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const extensions_core_1 = require("@awell-health/extensions-core");
4
+ const tests_1 = require("@/tests");
5
+ const _1 = require(".");
6
+ const api_client_1 = require("@hubspot/api-client");
7
+ jest.mock('@hubspot/api-client', () => {
8
+ return {
9
+ Client: jest.fn().mockImplementation(() => {
10
+ return {
11
+ crm: {
12
+ contacts: {
13
+ basicApi: {
14
+ getById: jest.fn().mockResolvedValue({
15
+ id: '57898932622',
16
+ properties: {
17
+ firstname: 'John',
18
+ lastname: 'Doe',
19
+ email: 'john.doe@example.com',
20
+ },
21
+ }),
22
+ },
23
+ },
24
+ },
25
+ };
26
+ }),
27
+ };
28
+ });
29
+ const mockedHubspotSdk = jest.mocked(api_client_1.Client);
30
+ describe('HubSpot - Get contact', () => {
31
+ const { onComplete, onError, helpers, extensionAction, clearMocks } = extensions_core_1.TestHelpers.fromAction(_1.getcontact);
32
+ beforeEach(() => {
33
+ clearMocks();
34
+ });
35
+ test('Should work', async () => {
36
+ await extensionAction.onEvent({
37
+ payload: (0, tests_1.generateTestPayload)({
38
+ fields: {
39
+ contactId: '57898932622',
40
+ },
41
+ settings: {
42
+ accessToken: 'accessToken',
43
+ },
44
+ }),
45
+ onComplete,
46
+ onError,
47
+ helpers,
48
+ });
49
+ expect(mockedHubspotSdk).toHaveBeenCalled();
50
+ expect(onError).not.toHaveBeenCalled();
51
+ expect(onComplete).toHaveBeenCalledWith({
52
+ data_points: {
53
+ firstName: 'John',
54
+ lastName: 'Doe',
55
+ email: 'john.doe@example.com',
56
+ },
57
+ });
58
+ });
59
+ });
60
+ //# sourceMappingURL=getContact.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContact.test.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/getContact/getContact.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAC3D,mCAA6C;AAC7C,wBAA8B;AAC9B,oDAA4C;AAE5C,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACpC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACxC,OAAO;gBACL,GAAG,EAAE;oBACH,QAAQ,EAAE;wBACR,QAAQ,EAAE;4BACR,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gCACnC,EAAE,EAAE,aAAa;gCACjB,UAAU,EAAE;oCACV,SAAS,EAAE,MAAM;oCACjB,QAAQ,EAAE,KAAK;oCACf,KAAK,EAAE,sBAAsB;iCAC9B;6BACF,CAAC;yBACH;qBACF;iBACF;aACF,CAAA;QACH,CAAC,CAAC;KACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAM,CAAC,CAAA;AAE5C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GACjE,6BAAW,CAAC,UAAU,CAAC,aAAU,CAAC,CAAA;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC;gBAC3B,MAAM,EAAE;oBACN,SAAS,EAAE,aAAa;iBACzB;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,aAAa;iBAC3B;aACF,CAAC;YACF,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAA;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,sBAAsB;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { getcontact } from './getContact';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getcontact = void 0;
4
+ var getContact_1 = require("./getContact");
5
+ Object.defineProperty(exports, "getcontact", { enumerable: true, get: function () { return getContact_1.getcontact; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/getContact/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,145 @@
1
+ declare const actions: {
2
+ getcontact: import("@awell-health/extensions-core").Action<{
3
+ contactId: {
4
+ id: string;
5
+ label: string;
6
+ description: string;
7
+ type: import("@awell-health/extensions-core").FieldType.STRING;
8
+ required: true;
9
+ };
10
+ }, {
11
+ accessToken: {
12
+ key: string;
13
+ label: string;
14
+ obfuscated: false;
15
+ required: true;
16
+ description: string;
17
+ };
18
+ smtpUsername: {
19
+ key: string;
20
+ label: string;
21
+ obfuscated: false;
22
+ required: false;
23
+ description: string;
24
+ };
25
+ smtpPassword: {
26
+ key: string;
27
+ label: string;
28
+ obfuscated: true;
29
+ required: false;
30
+ description: string;
31
+ };
32
+ }, "firstName" | "lastName" | "email">;
33
+ sendEmailWithSmtp: import("@awell-health/extensions-core").Action<{
34
+ from: {
35
+ id: string;
36
+ label: string;
37
+ description: string;
38
+ type: import("@awell-health/extensions-core").FieldType.STRING;
39
+ required: true;
40
+ };
41
+ to: {
42
+ id: string;
43
+ label: string;
44
+ description: string;
45
+ type: import("@awell-health/extensions-core").FieldType.STRING;
46
+ required: true;
47
+ };
48
+ subject: {
49
+ id: string;
50
+ label: string;
51
+ description: string;
52
+ type: import("@awell-health/extensions-core").FieldType.STRING;
53
+ required: true;
54
+ };
55
+ message: {
56
+ id: string;
57
+ label: string;
58
+ description: string;
59
+ type: import("@awell-health/extensions-core").FieldType.HTML;
60
+ required: true;
61
+ };
62
+ }, {
63
+ accessToken: {
64
+ key: string;
65
+ label: string;
66
+ obfuscated: false;
67
+ required: true;
68
+ description: string;
69
+ };
70
+ smtpUsername: {
71
+ key: string;
72
+ label: string;
73
+ obfuscated: false;
74
+ required: false;
75
+ description: string;
76
+ };
77
+ smtpPassword: {
78
+ key: string;
79
+ label: string;
80
+ obfuscated: true;
81
+ required: false;
82
+ description: string;
83
+ };
84
+ }, never>;
85
+ sendEmailWithSingleSendApi: import("@awell-health/extensions-core").Action<{
86
+ emailId: {
87
+ id: string;
88
+ label: string;
89
+ description: string;
90
+ type: import("@awell-health/extensions-core").FieldType.STRING;
91
+ required: true;
92
+ };
93
+ from: {
94
+ id: string;
95
+ label: string;
96
+ description: string;
97
+ type: import("@awell-health/extensions-core").FieldType.STRING;
98
+ required: true;
99
+ };
100
+ to: {
101
+ id: string;
102
+ label: string;
103
+ description: string;
104
+ type: import("@awell-health/extensions-core").FieldType.STRING;
105
+ required: true;
106
+ };
107
+ contactProperties: {
108
+ id: string;
109
+ label: string;
110
+ description: string;
111
+ type: import("@awell-health/extensions-core").FieldType.JSON;
112
+ required: false;
113
+ };
114
+ customProperties: {
115
+ id: string;
116
+ label: string;
117
+ description: string;
118
+ type: import("@awell-health/extensions-core").FieldType.JSON;
119
+ required: false;
120
+ };
121
+ }, {
122
+ accessToken: {
123
+ key: string;
124
+ label: string;
125
+ obfuscated: false;
126
+ required: true;
127
+ description: string;
128
+ };
129
+ smtpUsername: {
130
+ key: string;
131
+ label: string;
132
+ obfuscated: false;
133
+ required: false;
134
+ description: string;
135
+ };
136
+ smtpPassword: {
137
+ key: string;
138
+ label: string;
139
+ obfuscated: true;
140
+ required: false;
141
+ description: string;
142
+ };
143
+ }, "statusId">;
144
+ };
145
+ export default actions;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getContact_1 = require("./getContact");
4
+ const sendEmailWithSmtp_1 = require("./sendEmailWithSmtp");
5
+ const sendEmailWithSingleSendApi_1 = require("./sendEmailWithSingleSendApi");
6
+ const actions = {
7
+ getcontact: getContact_1.getcontact,
8
+ sendEmailWithSmtp: sendEmailWithSmtp_1.sendEmailWithSmtp,
9
+ sendEmailWithSingleSendApi: sendEmailWithSingleSendApi_1.sendEmailWithSingleSendApi,
10
+ };
11
+ exports.default = actions;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/hubspot/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,2DAAuD;AACvD,6EAAyE;AAEzE,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,uBAAU;IACV,iBAAiB,EAAjB,qCAAiB;IACjB,0BAA0B,EAA1B,uDAA0B;CAC3B,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ statusId: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ statusId: {
6
+ key: 'statusId',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/sendEmailWithSingleSendApi/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ emailId: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ from: {
12
+ id: string;
13
+ label: string;
14
+ description: string;
15
+ type: FieldType.STRING;
16
+ required: true;
17
+ };
18
+ to: {
19
+ id: string;
20
+ label: string;
21
+ description: string;
22
+ type: FieldType.STRING;
23
+ required: true;
24
+ };
25
+ contactProperties: {
26
+ id: string;
27
+ label: string;
28
+ description: string;
29
+ type: FieldType.JSON;
30
+ required: false;
31
+ };
32
+ customProperties: {
33
+ id: string;
34
+ label: string;
35
+ description: string;
36
+ type: FieldType.JSON;
37
+ required: false;
38
+ };
39
+ };
40
+ export declare const FieldsValidationSchema: z.ZodObject<{
41
+ emailId: z.ZodString;
42
+ from: z.ZodString;
43
+ to: z.ZodString;
44
+ contactProperties: z.ZodEffects<z.ZodOptional<z.ZodString>, Record<string, string>, string | undefined>;
45
+ customProperties: z.ZodEffects<z.ZodOptional<z.ZodString>, Record<string, unknown>, string | undefined>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ from: string;
48
+ to: string;
49
+ emailId: string;
50
+ contactProperties: Record<string, string>;
51
+ customProperties: Record<string, unknown>;
52
+ }, {
53
+ from: string;
54
+ to: string;
55
+ emailId: string;
56
+ contactProperties?: string | undefined;
57
+ customProperties?: string | undefined;
58
+ }>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FieldsValidationSchema = exports.fields = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const zod_1 = __importDefault(require("zod"));
9
+ const lodash_1 = require("lodash");
10
+ exports.fields = {
11
+ emailId: {
12
+ id: 'emailId',
13
+ label: 'Email ID',
14
+ description: 'The ID of the email (template)',
15
+ type: extensions_core_1.FieldType.STRING,
16
+ required: true,
17
+ },
18
+ from: {
19
+ id: 'from',
20
+ label: 'From',
21
+ description: '',
22
+ type: extensions_core_1.FieldType.STRING,
23
+ required: true,
24
+ },
25
+ to: {
26
+ id: 'to',
27
+ label: 'To',
28
+ description: '',
29
+ type: extensions_core_1.FieldType.STRING,
30
+ required: true,
31
+ },
32
+ contactProperties: {
33
+ id: 'contactProperties',
34
+ label: 'Contact properties',
35
+ description: 'A JSON map of contact property values. Each property will be set on the contact record.',
36
+ type: extensions_core_1.FieldType.JSON,
37
+ required: false,
38
+ },
39
+ customProperties: {
40
+ id: 'customProperties',
41
+ label: 'Custom properties',
42
+ description: 'A JSON map of key-value properties that will be rendered in the template.',
43
+ type: extensions_core_1.FieldType.JSON,
44
+ required: false,
45
+ },
46
+ };
47
+ exports.FieldsValidationSchema = zod_1.default.object({
48
+ emailId: zod_1.default.string().min(1),
49
+ from: zod_1.default.string().min(1),
50
+ to: zod_1.default.string().min(1),
51
+ contactProperties: zod_1.default
52
+ .string()
53
+ .optional()
54
+ .transform((str, ctx) => {
55
+ if ((0, lodash_1.isEmpty)(str)) {
56
+ return {};
57
+ }
58
+ try {
59
+ const parsedJson = JSON.parse(str);
60
+ if ((0, lodash_1.isEmpty)(parsedJson)) {
61
+ return {};
62
+ }
63
+ if (typeof parsedJson !== 'object' ||
64
+ Array.isArray(parsedJson) ||
65
+ Object.values(parsedJson).some((value) => typeof value !== 'string')) {
66
+ ctx.addIssue({
67
+ code: 'custom',
68
+ message: 'Contact properties must be a key-value map where each value is a string',
69
+ });
70
+ return zod_1.default.NEVER;
71
+ }
72
+ return parsedJson;
73
+ }
74
+ catch (e) {
75
+ ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
76
+ return zod_1.default.NEVER;
77
+ }
78
+ }),
79
+ customProperties: zod_1.default
80
+ .optional(zod_1.default.string())
81
+ .transform((str, ctx) => {
82
+ if ((0, lodash_1.isEmpty)(str))
83
+ return {};
84
+ try {
85
+ return JSON.parse(str);
86
+ }
87
+ catch (e) {
88
+ ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
89
+ return zod_1.default.NEVER;
90
+ }
91
+ }),
92
+ });
93
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/sendEmailWithSingleSendApi/config/fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './datapoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var datapoints_1 = require("./datapoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return datapoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/sendEmailWithSingleSendApi/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { sendEmailWithSingleSendApi } from './sendEmailWithSingleSendApi';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmailWithSingleSendApi = void 0;
4
+ var sendEmailWithSingleSendApi_1 = require("./sendEmailWithSingleSendApi");
5
+ Object.defineProperty(exports, "sendEmailWithSingleSendApi", { enumerable: true, get: function () { return sendEmailWithSingleSendApi_1.sendEmailWithSingleSendApi; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/sendEmailWithSingleSendApi/index.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AAAhE,wIAAA,0BAA0B,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../settings';
3
+ import { fields, dataPoints } from './config';
4
+ export declare const sendEmailWithSingleSendApi: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmailWithSingleSendApi = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const lib_1 = require("../../lib");
6
+ const config_1 = require("./config");
7
+ exports.sendEmailWithSingleSendApi = {
8
+ key: 'sendEmailWithSingleSendApi',
9
+ category: extensions_core_1.Category.CUSTOMER_SUPPORT,
10
+ title: 'Send email (Single Send API)',
11
+ description: 'Send email with the Single Send API',
12
+ fields: config_1.fields,
13
+ previewable: false,
14
+ dataPoints: config_1.dataPoints,
15
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
16
+ const { hubSpotSdk, fields, activity } = await (0, lib_1.validatePayloadAndCreateSdks)({
17
+ fieldsSchema: config_1.FieldsValidationSchema,
18
+ payload,
19
+ });
20
+ const res = await hubSpotSdk.marketing.transactional.singleSendApi.sendEmail({
21
+ emailId: Number(fields.emailId),
22
+ message: {
23
+ _from: fields.from,
24
+ to: fields.to,
25
+ sendId: `awell_activity_${activity.id}`,
26
+ },
27
+ contactProperties: fields.contactProperties,
28
+ customProperties: fields.customProperties,
29
+ });
30
+ await onComplete({
31
+ data_points: {
32
+ statusId: res.statusId,
33
+ },
34
+ });
35
+ },
36
+ };
37
+ //# sourceMappingURL=sendEmailWithSingleSendApi.js.map