@awell-health/awell-extensions 2.0.42 → 2.0.44

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/dist/extensions/gridspace/actions/callWithGrace/callWithGrace.d.ts +8 -1
  2. package/dist/extensions/gridspace/actions/callWithGrace/callWithGrace.js +4 -3
  3. package/dist/extensions/gridspace/actions/callWithGrace/callWithGrace.js.map +1 -1
  4. package/dist/extensions/gridspace/actions/callWithGrace/callWithGrace.test.js +4 -1
  5. package/dist/extensions/gridspace/actions/callWithGrace/callWithGrace.test.js.map +1 -1
  6. package/dist/extensions/gridspace/actions/index.d.ts +89 -1
  7. package/dist/extensions/gridspace/actions/index.js +2 -0
  8. package/dist/extensions/gridspace/actions/index.js.map +1 -1
  9. package/dist/extensions/gridspace/actions/uploadContactToCampaign/config.d.ts +45 -0
  10. package/dist/extensions/gridspace/actions/uploadContactToCampaign/config.js +73 -0
  11. package/dist/extensions/gridspace/actions/uploadContactToCampaign/config.js.map +1 -0
  12. package/dist/extensions/gridspace/actions/uploadContactToCampaign/index.d.ts +1 -0
  13. package/dist/extensions/gridspace/actions/uploadContactToCampaign/index.js +18 -0
  14. package/dist/extensions/gridspace/actions/uploadContactToCampaign/index.js.map +1 -0
  15. package/dist/extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.d.ts +82 -0
  16. package/dist/extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.js +44 -0
  17. package/dist/extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.js.map +1 -0
  18. package/dist/extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.test.d.ts +1 -0
  19. package/dist/extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.test.js +59 -0
  20. package/dist/extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.test.js.map +1 -0
  21. package/dist/extensions/gridspace/lib/client.d.ts +7 -3
  22. package/dist/extensions/gridspace/lib/client.js +10 -3
  23. package/dist/extensions/gridspace/lib/client.js.map +1 -1
  24. package/dist/extensions/gridspace/settings.d.ts +15 -5
  25. package/dist/extensions/gridspace/settings.js +15 -10
  26. package/dist/extensions/gridspace/settings.js.map +1 -1
  27. package/dist/extensions/healthie/actions/createPatient/config/fields.d.ts +2 -2
  28. package/dist/extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.js +27 -10
  29. package/dist/extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.js.map +1 -1
  30. package/dist/extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.test.js +43 -0
  31. package/dist/extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.test.js.map +1 -1
  32. package/package.json +1 -1
@@ -55,7 +55,14 @@ export declare const callWithGrace: {
55
55
  description: string;
56
56
  };
57
57
  }, {
58
- basicAuthorization: {
58
+ accountId: {
59
+ label: string;
60
+ key: string;
61
+ obfuscated: false;
62
+ required: true;
63
+ description: string;
64
+ };
65
+ clientSecret: {
59
66
  label: string;
60
67
  key: string;
61
68
  obfuscated: true;
@@ -6,6 +6,7 @@ const config_1 = require("./config");
6
6
  const settings_1 = require("../../settings");
7
7
  const lib_1 = require("../../lib");
8
8
  const zod_1 = require("zod");
9
+ const lodash_1 = require("lodash");
9
10
  exports.callWithGrace = {
10
11
  key: 'callWithGrace',
11
12
  title: 'Call with Grace',
@@ -16,16 +17,16 @@ exports.callWithGrace = {
16
17
  previewable: false,
17
18
  onEvent: async ({ payload, onComplete, onError }) => {
18
19
  const { pathway, patient } = payload;
19
- const { fields: { flowId, data, phoneNumber }, settings: { basicAuthorization }, } = (0, extensions_core_1.validate)({
20
+ const { fields: { flowId, data, phoneNumber }, settings: { accountId, clientSecret }, } = (0, extensions_core_1.validate)({
20
21
  schema: zod_1.z.object({ fields: config_1.FieldsSchema, settings: settings_1.SettingsSchema }),
21
22
  payload,
22
23
  });
23
- const client = new lib_1.GridspaceClient(basicAuthorization);
24
+ const client = new lib_1.GridspaceClient({ accountId, clientSecret });
24
25
  const allData = {
25
26
  ...data,
26
27
  phone_number: phoneNumber,
27
28
  patient_id: patient.id,
28
- ...(patient.profile && { ...patient.profile }),
29
+ ...(!(0, lodash_1.isNil)(patient.profile) && { ...patient.profile }),
29
30
  pathway_id: pathway.id,
30
31
  pathway_definition_id: pathway.definition_id,
31
32
  activity_id: payload.activity.id,
@@ -1 +1 @@
1
- {"version":3,"file":"callWithGrace.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/callWithGrace/callWithGrace.ts"],"names":[],"mappings":";;;AAAA,mEAA+E;AAC/E,qCAA2D;AAC3D,6CAAyD;AACzD,mCAA2C;AAC3C,6BAAuB;AACV,QAAA,aAAa,GAAG;IAC3B,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,+DAA+D;IAC5E,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QACpC,MAAM,EACJ,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EACrC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,GACjC,GAAG,IAAA,0BAAQ,EAAC;YACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,QAAQ,EAAE,yBAAc,EAAE,CAAC;YACpE,OAAO;SACR,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,kBAAkB,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG;YACd,GAAG,IAAI;YACP,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9C,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,qBAAqB,EAAE,OAAO,CAAC,aAAa;YAC5C,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;SACjC,CAAA;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,UAAU,CAAC;YACf,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE;iBACnE;aACF;YACD,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;IACJ,CAAC;CAC+C,CAAA"}
1
+ {"version":3,"file":"callWithGrace.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/callWithGrace/callWithGrace.ts"],"names":[],"mappings":";;;AAAA,mEAA+E;AAC/E,qCAA2D;AAC3D,6CAA8D;AAC9D,mCAA2C;AAC3C,6BAAuB;AACvB,mCAA8B;AACjB,QAAA,aAAa,GAAG;IAC3B,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,+DAA+D;IAC5E,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QACpC,MAAM,EACJ,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EACrC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,GACtC,GAAG,IAAA,0BAAQ,EAAC;YACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,QAAQ,EAAE,yBAAc,EAAE,CAAC;YACpE,OAAO;SACR,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG;YACd,GAAG,IAAI;YACP,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,GAAG,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YACtD,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,qBAAqB,EAAE,OAAO,CAAC,aAAa;YAC5C,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;SACjC,CAAA;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,UAAU,CAAC;YACf,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE;iBACnE;aACF;YACD,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;IACJ,CAAC;CAC+C,CAAA"}
@@ -21,7 +21,10 @@ describe('callWithGrace', () => {
21
21
  data: { foo: 'bar', name: 'John Doe' },
22
22
  phoneNumber: '1234567890',
23
23
  },
24
- settings: { basicAuthorization: 'basicAuthorization' },
24
+ settings: {
25
+ accountId: 'someAccountId',
26
+ clientSecret: 'someClientSecret',
27
+ },
25
28
  }),
26
29
  onComplete,
27
30
  onError,
@@ -1 +1 @@
1
- {"version":3,"file":"callWithGrace.test.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/callWithGrace/callWithGrace.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAC3D,mDAA+C;AAC/C,mDAA2D;AAC3D,mCAA6C;AAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAC7B,MAAM,iBAAiB,GAAG,IAAI;KAC3B,KAAK,CAAC,qBAAe,CAAC,SAAS,EAAE,eAAe,CAAC;KACjD,kBAAkB,CAAC,GAAG,EAAE;IACvB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEJ,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GACjE,6BAAW,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAA;IACvC,UAAU,CAAC,UAAU,CAAC,CAAA;IACtB,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC;gBAC3B,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAS;oBAC7C,WAAW,EAAE,YAAY;iBAC1B;gBACD,QAAQ,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;aACvD,CAAC;YACF,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACvD,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa;YAC1B,qBAAqB,EAAE,uBAAuB;SAC/C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"callWithGrace.test.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/callWithGrace/callWithGrace.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAC3D,mDAA+C;AAC/C,mDAA2D;AAC3D,mCAA6C;AAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAC7B,MAAM,iBAAiB,GAAG,IAAI;KAC3B,KAAK,CAAC,qBAAe,CAAC,SAAS,EAAE,eAAe,CAAC;KACjD,kBAAkB,CAAC,GAAG,EAAE;IACvB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEJ,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GACjE,6BAAW,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAA;IACvC,UAAU,CAAC,UAAU,CAAC,CAAA;IACtB,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC;gBAC3B,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAS;oBAC7C,WAAW,EAAE,YAAY;iBAC1B;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,eAAe;oBAC1B,YAAY,EAAE,kBAAkB;iBACjC;aACF,CAAC;YACF,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACvD,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa;YAC1B,qBAAqB,EAAE,uBAAuB;SAC/C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -55,7 +55,95 @@ export declare const actions: {
55
55
  description: string;
56
56
  };
57
57
  }, {
58
- basicAuthorization: {
58
+ accountId: {
59
+ label: string;
60
+ key: string;
61
+ obfuscated: false;
62
+ required: true;
63
+ description: string;
64
+ };
65
+ clientSecret: {
66
+ label: string;
67
+ key: string;
68
+ obfuscated: true;
69
+ required: true;
70
+ description: string;
71
+ };
72
+ }>;
73
+ onComplete: import("@awell-health/extensions-core").OnCompleteCallback<string>;
74
+ onError: import("@awell-health/extensions-core").OnErrorCallback;
75
+ helpers: import("@awell-health/extensions-core").Helpers;
76
+ }) => Promise<void>;
77
+ };
78
+ uploadContactToCampaign: {
79
+ key: string;
80
+ title: string;
81
+ description: string;
82
+ category: import("@awell-health/extensions-core").Category.COMMUNICATION;
83
+ fields: {
84
+ campaignId: {
85
+ id: string;
86
+ label: string;
87
+ type: import("@awell-health/extensions-core").FieldType.STRING;
88
+ required: true;
89
+ description: string;
90
+ };
91
+ phoneNumber: {
92
+ id: string;
93
+ label: string;
94
+ type: import("@awell-health/extensions-core").FieldType.STRING;
95
+ stringType: import("@awell-health/extensions-core").StringType.PHONE;
96
+ required: true;
97
+ description: string;
98
+ };
99
+ data: {
100
+ id: string;
101
+ label: string;
102
+ type: import("@awell-health/extensions-core").FieldType.JSON;
103
+ required: true;
104
+ description: string;
105
+ };
106
+ };
107
+ dataPoints: {
108
+ data: {
109
+ key: string;
110
+ valueType: "json";
111
+ };
112
+ };
113
+ previewable: false;
114
+ onEvent: ({ payload }: {
115
+ payload: import("@awell-health/extensions-core").NewActivityPayload<{
116
+ campaignId: {
117
+ id: string;
118
+ label: string;
119
+ type: import("@awell-health/extensions-core").FieldType.STRING;
120
+ required: true;
121
+ description: string;
122
+ };
123
+ phoneNumber: {
124
+ id: string;
125
+ label: string;
126
+ type: import("@awell-health/extensions-core").FieldType.STRING;
127
+ stringType: import("@awell-health/extensions-core").StringType.PHONE;
128
+ required: true;
129
+ description: string;
130
+ };
131
+ data: {
132
+ id: string;
133
+ label: string;
134
+ type: import("@awell-health/extensions-core").FieldType.JSON;
135
+ required: true;
136
+ description: string;
137
+ };
138
+ }, {
139
+ accountId: {
140
+ label: string;
141
+ key: string;
142
+ obfuscated: false;
143
+ required: true;
144
+ description: string;
145
+ };
146
+ clientSecret: {
59
147
  label: string;
60
148
  key: string;
61
149
  obfuscated: true;
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.actions = void 0;
4
4
  const callWithGrace_1 = require("./callWithGrace");
5
+ const uploadContactToCampaign_1 = require("./uploadContactToCampaign");
5
6
  exports.actions = {
6
7
  callWithGrace: callWithGrace_1.callWithGrace,
8
+ uploadContactToCampaign: uploadContactToCampaign_1.uploadContactToCampaign,
7
9
  };
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/gridspace/actions/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAElC,QAAA,OAAO,GAAG;IACrB,aAAa,EAAb,6BAAa;CACd,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/gridspace/actions/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,uEAAmE;AAEtD,QAAA,OAAO,GAAG;IACrB,aAAa,EAAb,6BAAa;IACb,uBAAuB,EAAvB,iDAAuB;CACxB,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { FieldType, StringType } from '@awell-health/extensions-core';
2
+ import { z } from 'zod';
3
+ export declare const fields: {
4
+ campaignId: {
5
+ id: string;
6
+ label: string;
7
+ type: FieldType.STRING;
8
+ required: true;
9
+ description: string;
10
+ };
11
+ phoneNumber: {
12
+ id: string;
13
+ label: string;
14
+ type: FieldType.STRING;
15
+ stringType: StringType.PHONE;
16
+ required: true;
17
+ description: string;
18
+ };
19
+ data: {
20
+ id: string;
21
+ label: string;
22
+ type: FieldType.JSON;
23
+ required: true;
24
+ description: string;
25
+ };
26
+ };
27
+ export declare const dataPoints: {
28
+ data: {
29
+ key: string;
30
+ valueType: "json";
31
+ };
32
+ };
33
+ export declare const FieldsSchema: z.ZodObject<{
34
+ campaignId: z.ZodString;
35
+ phoneNumber: z.ZodString;
36
+ data: z.ZodEffects<z.ZodString, Record<string, string>, string>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ data: Record<string, string>;
39
+ phoneNumber: string;
40
+ campaignId: string;
41
+ }, {
42
+ data: string;
43
+ phoneNumber: string;
44
+ campaignId: string;
45
+ }>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsSchema = exports.dataPoints = exports.fields = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const lodash_1 = require("lodash");
6
+ const zod_1 = require("zod");
7
+ exports.fields = {
8
+ campaignId: {
9
+ id: 'campaignId',
10
+ label: 'Campaign ID',
11
+ type: extensions_core_1.FieldType.STRING,
12
+ required: true,
13
+ description: 'The ID of the Gridspace autodialer campaign.',
14
+ },
15
+ phoneNumber: {
16
+ id: 'phoneNumber',
17
+ label: 'Phone Number',
18
+ type: extensions_core_1.FieldType.STRING,
19
+ stringType: extensions_core_1.StringType.PHONE,
20
+ required: true,
21
+ description: 'The phone number to call.',
22
+ },
23
+ data: {
24
+ id: 'data',
25
+ label: 'Data',
26
+ type: extensions_core_1.FieldType.JSON,
27
+ required: true,
28
+ description: 'Any additional data to be passed to the campaign. Should be a JSON object.',
29
+ },
30
+ };
31
+ exports.dataPoints = {
32
+ data: {
33
+ key: 'data',
34
+ valueType: 'json',
35
+ },
36
+ };
37
+ exports.FieldsSchema = zod_1.z.object({
38
+ campaignId: zod_1.z.string(),
39
+ phoneNumber: zod_1.z.string(),
40
+ data: zod_1.z.string().transform((str, ctx) => {
41
+ if ((0, lodash_1.isNil)(str) || (0, lodash_1.isEmpty)(str)) {
42
+ return {};
43
+ }
44
+ try {
45
+ const parsedJson = JSON.parse(str);
46
+ if ((0, lodash_1.isEmpty)(parsedJson)) {
47
+ return {};
48
+ }
49
+ if (typeof parsedJson !== 'object' || Array.isArray(parsedJson)) {
50
+ ctx.addIssue({
51
+ code: 'custom',
52
+ message: 'Data should be an object',
53
+ });
54
+ return zod_1.z.NEVER;
55
+ }
56
+ for (const key in parsedJson) {
57
+ if (typeof parsedJson[key] !== 'string') {
58
+ ctx.addIssue({
59
+ code: 'custom',
60
+ message: `Value for key "${key}" must be a string`,
61
+ });
62
+ return zod_1.z.NEVER;
63
+ }
64
+ }
65
+ return parsedJson;
66
+ }
67
+ catch (e) {
68
+ ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
69
+ return zod_1.z.NEVER;
70
+ }
71
+ }),
72
+ });
73
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/uploadContactToCampaign/config.ts"],"names":[],"mappings":";;;AAAA,mEAKsC;AACtC,mCAAuC;AACvC,6BAAuB;AAEV,QAAA,MAAM,GAAG;IACpB,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8CAA8C;KAC5D;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,UAAU,EAAE,4BAAU,CAAC,KAAK;QAC5B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2BAA2B;KACzC;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,4EAA4E;KAC/E;CACe,CAAA;AAEL,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,MAAM;KAClB;CAC4C,CAAA;AAElC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAA0B,EAAE;QAC9D,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,EAAE,CAAA;SACV;QAED,IAAI;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAElC,IAAI,IAAA,gBAAO,EAAC,UAAU,CAAC,EAAE;gBACvB,OAAO,EAAE,CAAA;aACV;YAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC/D,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,0BAA0B;iBACpC,CAAC,CAAA;gBACF,OAAO,OAAC,CAAC,KAAK,CAAA;aACf;YAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;gBAC5B,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;oBACvC,GAAG,CAAC,QAAQ,CAAC;wBACX,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,kBAAkB,GAAG,oBAAoB;qBACnD,CAAC,CAAA;oBACF,OAAO,OAAC,CAAC,KAAK,CAAA;iBACf;aACF;YAED,OAAO,UAAU,CAAA;SAClB;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;CACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './uploadContactToCampaign';
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./uploadContactToCampaign"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/uploadContactToCampaign/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC"}
@@ -0,0 +1,82 @@
1
+ import { Category } from '@awell-health/extensions-core';
2
+ export declare const uploadContactToCampaign: {
3
+ key: string;
4
+ title: string;
5
+ description: string;
6
+ category: Category.COMMUNICATION;
7
+ fields: {
8
+ campaignId: {
9
+ id: string;
10
+ label: string;
11
+ type: import("@awell-health/extensions-core").FieldType.STRING;
12
+ required: true;
13
+ description: string;
14
+ };
15
+ phoneNumber: {
16
+ id: string;
17
+ label: string;
18
+ type: import("@awell-health/extensions-core").FieldType.STRING;
19
+ stringType: import("@awell-health/extensions-core").StringType.PHONE;
20
+ required: true;
21
+ description: string;
22
+ };
23
+ data: {
24
+ id: string;
25
+ label: string;
26
+ type: import("@awell-health/extensions-core").FieldType.JSON;
27
+ required: true;
28
+ description: string;
29
+ };
30
+ };
31
+ dataPoints: {
32
+ data: {
33
+ key: string;
34
+ valueType: "json";
35
+ };
36
+ };
37
+ previewable: false;
38
+ onEvent: ({ payload }: {
39
+ payload: import("@awell-health/extensions-core").NewActivityPayload<{
40
+ campaignId: {
41
+ id: string;
42
+ label: string;
43
+ type: import("@awell-health/extensions-core").FieldType.STRING;
44
+ required: true;
45
+ description: string;
46
+ };
47
+ phoneNumber: {
48
+ id: string;
49
+ label: string;
50
+ type: import("@awell-health/extensions-core").FieldType.STRING;
51
+ stringType: import("@awell-health/extensions-core").StringType.PHONE;
52
+ required: true;
53
+ description: string;
54
+ };
55
+ data: {
56
+ id: string;
57
+ label: string;
58
+ type: import("@awell-health/extensions-core").FieldType.JSON;
59
+ required: true;
60
+ description: string;
61
+ };
62
+ }, {
63
+ accountId: {
64
+ label: string;
65
+ key: string;
66
+ obfuscated: false;
67
+ required: true;
68
+ description: string;
69
+ };
70
+ clientSecret: {
71
+ label: string;
72
+ key: string;
73
+ obfuscated: true;
74
+ required: true;
75
+ description: string;
76
+ };
77
+ }>;
78
+ onComplete: import("@awell-health/extensions-core").OnCompleteCallback<string>;
79
+ onError: import("@awell-health/extensions-core").OnErrorCallback;
80
+ helpers: import("@awell-health/extensions-core").Helpers;
81
+ }) => Promise<void>;
82
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadContactToCampaign = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const settings_1 = require("../../settings");
7
+ const lib_1 = require("../../lib");
8
+ const zod_1 = require("zod");
9
+ const lodash_1 = require("lodash");
10
+ exports.uploadContactToCampaign = {
11
+ key: 'uploadContactToCampaign',
12
+ title: 'Upload Contact to Campaign',
13
+ description: 'Add a contact to a Gridspace autodialer campaign.',
14
+ category: extensions_core_1.Category.COMMUNICATION,
15
+ fields: config_1.fields,
16
+ dataPoints: config_1.dataPoints,
17
+ previewable: false,
18
+ onEvent: async ({ payload }) => {
19
+ const { pathway, patient, activity } = payload;
20
+ const { fields: { campaignId, data, phoneNumber }, settings: { accountId, clientSecret }, } = (0, extensions_core_1.validate)({
21
+ schema: zod_1.z.object({ fields: config_1.FieldsSchema, settings: settings_1.SettingsSchema }),
22
+ payload,
23
+ });
24
+ const client = new lib_1.GridspaceClient({ accountId, clientSecret });
25
+ const contactData = {
26
+ phone_number: phoneNumber,
27
+ ...data,
28
+ activity_id: activity.id,
29
+ pathway_id: pathway.id,
30
+ pathway_definition_id: pathway.definition_id,
31
+ patient_id: patient.id,
32
+ };
33
+ const columnNames = (0, lodash_1.keys)(contactData);
34
+ const contactRow = (0, lodash_1.values)(contactData);
35
+ const requestBody = {
36
+ column_names: columnNames,
37
+ phone_number_column_name: 'phone_number',
38
+ contact_rows: [contactRow],
39
+ };
40
+ await client.uploadContactsToCampaign(campaignId, requestBody);
41
+ // No need to call onComplete since Gridspace will complete the activity later
42
+ },
43
+ };
44
+ //# sourceMappingURL=uploadContactToCampaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadContactToCampaign.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.ts"],"names":[],"mappings":";;;AAAA,mEAA+E;AAC/E,qCAA2D;AAC3D,6CAA8D;AAC9D,mCAA2C;AAC3C,6BAAuB;AACvB,mCAAqC;AAExB,QAAA,uBAAuB,GAAG;IACrC,GAAG,EAAE,yBAAyB;IAC9B,KAAK,EAAE,4BAA4B;IACnC,WAAW,EAAE,mDAAmD;IAChE,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAC9C,MAAM,EACJ,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EACzC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,GACtC,GAAG,IAAA,0BAAQ,EAAC;YACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,QAAQ,EAAE,yBAAc,EAAE,CAAC;YACpE,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAA;QAE/D,MAAM,WAAW,GAAG;YAClB,YAAY,EAAE,WAAW;YACzB,GAAG,IAAI;YACP,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,qBAAqB,EAAE,OAAO,CAAC,aAAa;YAC5C,UAAU,EAAE,OAAO,CAAC,EAAE;SACvB,CAAA;QAED,MAAM,WAAW,GAAG,IAAA,aAAI,EAAC,WAAW,CAAC,CAAA;QACrC,MAAM,UAAU,GAAG,IAAA,eAAM,EAAC,WAAW,CAAC,CAAA;QAEtC,MAAM,WAAW,GAAG;YAClB,YAAY,EAAE,WAAW;YACzB,wBAAwB,EAAE,cAAc;YACxC,YAAY,EAAE,CAAC,UAAU,CAAC;SAC3B,CAAA;QAED,MAAM,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAE9D,8EAA8E;IAChF,CAAC;CAC+C,CAAA"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const extensions_core_1 = require("@awell-health/extensions-core");
4
+ const uploadContactToCampaign_1 = require("./uploadContactToCampaign");
5
+ const lib_1 = require("../../lib");
6
+ const tests_1 = require("@/tests");
7
+ jest.mock('../../lib/client');
8
+ const mockUploadContactsToCampaign = jest
9
+ .spyOn(lib_1.GridspaceClient.prototype, 'uploadContactsToCampaign')
10
+ .mockImplementation(() => {
11
+ return Promise.resolve({ num_uploaded_contacts: 1 });
12
+ });
13
+ describe('uploadContactToCampaign', () => {
14
+ const { extensionAction, onComplete, onError, helpers, clearMocks } = extensions_core_1.TestHelpers.fromAction(uploadContactToCampaign_1.uploadContactToCampaign);
15
+ beforeEach(clearMocks);
16
+ it('should upload contact to the Gridspace autodialer campaign', async () => {
17
+ await extensionAction.onEvent({
18
+ payload: (0, tests_1.generateTestPayload)({
19
+ fields: {
20
+ campaignId: 'campaign123',
21
+ data: JSON.stringify({ first_name: 'John', last_name: 'Doe' }),
22
+ phoneNumber: '15552223333',
23
+ },
24
+ settings: {
25
+ accountId: 'someAccountId',
26
+ clientSecret: 'someClientSecret',
27
+ },
28
+ }),
29
+ onComplete,
30
+ onError,
31
+ helpers,
32
+ });
33
+ expect(mockUploadContactsToCampaign).toHaveBeenCalledWith('campaign123', {
34
+ column_names: [
35
+ 'phone_number',
36
+ 'first_name',
37
+ 'last_name',
38
+ 'activity_id',
39
+ 'pathway_id',
40
+ 'pathway_definition_id',
41
+ 'patient_id',
42
+ ],
43
+ phone_number_column_name: 'phone_number',
44
+ contact_rows: [
45
+ [
46
+ '15552223333',
47
+ 'John',
48
+ 'Doe',
49
+ 'activity-id',
50
+ 'pathway-id',
51
+ 'pathway-definition-id',
52
+ 'test-patient',
53
+ ],
54
+ ],
55
+ });
56
+ expect(onComplete).not.toHaveBeenCalled();
57
+ });
58
+ });
59
+ //# sourceMappingURL=uploadContactToCampaign.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadContactToCampaign.test.js","sourceRoot":"","sources":["../../../../../extensions/gridspace/actions/uploadContactToCampaign/uploadContactToCampaign.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAC3D,uEAAmE;AACnE,mCAA2C;AAC3C,mCAA6C;AAE7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAC7B,MAAM,4BAA4B,GAAG,IAAI;KACtC,KAAK,CAAC,qBAAe,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC5D,kBAAkB,CAAC,GAAG,EAAE;IACvB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAA;AACtD,CAAC,CAAC,CAAA;AAEJ,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GACjE,6BAAW,CAAC,UAAU,CAAC,iDAAuB,CAAC,CAAA;IAEjD,UAAU,CAAC,UAAU,CAAC,CAAA;IAEtB,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC;gBAC3B,MAAM,EAAE;oBACN,UAAU,EAAE,aAAa;oBACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oBAC9D,WAAW,EAAE,aAAa;iBAC3B;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,eAAe;oBAC1B,YAAY,EAAE,kBAAkB;iBACjC;aACF,CAAC;YACF,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,4BAA4B,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;YACvE,YAAY,EAAE;gBACZ,cAAc;gBACd,YAAY;gBACZ,WAAW;gBACX,aAAa;gBACb,YAAY;gBACZ,uBAAuB;gBACvB,YAAY;aACb;YACD,wBAAwB,EAAE,cAAc;YACxC,YAAY,EAAE;gBACZ;oBACE,aAAa;oBACb,MAAM;oBACN,KAAK;oBACL,aAAa;oBACb,YAAY;oBACZ,uBAAuB;oBACvB,cAAc;iBACf;aACF;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,5 +1,9 @@
1
1
  export declare class GridspaceClient {
2
- private client;
3
- constructor(basicAuthorization: string);
4
- callWithGrace(workflowId: string, data: Record<string, any>): Promise<any>;
2
+ private readonly client;
3
+ constructor({ accountId, clientSecret, }: {
4
+ accountId: string;
5
+ clientSecret: string;
6
+ });
7
+ callWithGrace(workflowId: string, data: Record<string, any>): Promise<unknown>;
8
+ uploadContactsToCampaign(campaignId: string, data: any): Promise<any>;
5
9
  }
@@ -6,12 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GridspaceClient = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  class GridspaceClient {
9
- constructor(basicAuthorization) {
9
+ constructor({ accountId, clientSecret, }) {
10
+ // base 64 encode the accountId and clientSecret in Basic Authentication format
11
+ const token = Buffer.from(`${accountId}:${clientSecret}`).toString('base64');
10
12
  this.client = axios_1.default.create({
11
- baseURL: 'https://app.getinlet.ai',
13
+ baseURL: 'https://api.gridspace.com/v1',
12
14
  headers: {
13
- Authorization: `Basic ${basicAuthorization}`,
15
+ Authorization: `Basic ${token}`,
14
16
  'Content-Type': 'application/json',
17
+ Accept: 'application/json',
15
18
  },
16
19
  });
17
20
  }
@@ -19,6 +22,10 @@ class GridspaceClient {
19
22
  const resp = await this.client.post(`/v0/workflows/${workflowId}/run`, data);
20
23
  return resp.data;
21
24
  }
25
+ async uploadContactsToCampaign(campaignId, data) {
26
+ const response = await this.client.post(`/autodialer/${campaignId}/dialees`, data);
27
+ return response.data;
28
+ }
22
29
  }
23
30
  exports.GridspaceClient = GridspaceClient;
24
31
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../extensions/gridspace/lib/client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4C;AAC5C,MAAa,eAAe;IAE1B,YAAY,kBAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,kBAAkB,EAAE;gBAC5C,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,IAAyB;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,UAAU,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CACF;AAhBD,0CAgBC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../extensions/gridspace/lib/client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiD;AACjD,MAAa,eAAe;IAG1B,YAAY,EACV,SAAS,EACT,YAAY,GAIb;QACC,+EAA+E;QAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5E,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,KAAK,EAAE;gBAC/B,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,IAAyB;QAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,UAAU,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAkB,EAAE,IAAS;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,eAAe,UAAU,UAAU,EACnC,IAAI,CACL,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AArCD,0CAqCC"}
@@ -1,6 +1,13 @@
1
- import z from 'zod';
1
+ import { z } from 'zod';
2
2
  export declare const settings: {
3
- basicAuthorization: {
3
+ accountId: {
4
+ label: string;
5
+ key: string;
6
+ obfuscated: false;
7
+ required: true;
8
+ description: string;
9
+ };
10
+ clientSecret: {
4
11
  label: string;
5
12
  key: string;
6
13
  obfuscated: true;
@@ -9,10 +16,13 @@ export declare const settings: {
9
16
  };
10
17
  };
11
18
  export declare const SettingsSchema: z.ZodObject<{
12
- basicAuthorization: z.ZodString;
19
+ accountId: z.ZodString;
20
+ clientSecret: z.ZodString;
13
21
  }, "strip", z.ZodTypeAny, {
14
- basicAuthorization: string;
22
+ clientSecret: string;
23
+ accountId: string;
15
24
  }, {
16
- basicAuthorization: string;
25
+ clientSecret: string;
26
+ accountId: string;
17
27
  }>;
18
28
  export type ExtensionSettings = z.infer<typeof SettingsSchema>;
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.SettingsSchema = exports.settings = void 0;
7
- const zod_1 = __importDefault(require("zod"));
4
+ const zod_1 = require("zod");
8
5
  exports.settings = {
9
- basicAuthorization: {
10
- label: 'Basic Authorization',
11
- key: 'basicAuthorization',
6
+ accountId: {
7
+ label: 'Account ID',
8
+ key: 'accountId',
9
+ obfuscated: false,
10
+ required: true,
11
+ description: 'Your Gridspace account ID.',
12
+ },
13
+ clientSecret: {
14
+ label: 'Client Secret',
15
+ key: 'clientSecret',
12
16
  obfuscated: true,
13
17
  required: true,
14
- description: 'The basic authorization token for Gridspace.',
18
+ description: 'Your Gridspace client secret.',
15
19
  },
16
20
  };
17
- exports.SettingsSchema = zod_1.default.object({
18
- basicAuthorization: zod_1.default.string(),
21
+ exports.SettingsSchema = zod_1.z.object({
22
+ accountId: zod_1.z.string(),
23
+ clientSecret: zod_1.z.string(),
19
24
  });
20
25
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/gridspace/settings.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAmB;AAEN,QAAA,QAAQ,GAAG;IACtB,kBAAkB,EAAE;QAClB,KAAK,EAAE,qBAAqB;QAC5B,GAAG,EAAE,oBAAoB;QACzB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8CAA8C;KAC5D;CACiB,CAAA;AAEP,QAAA,cAAc,GAAG,aAAC,CAAC,MAAM,CAAC;IACrC,kBAAkB,EAAE,aAAC,CAAC,MAAM,EAAE;CAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/gridspace/settings.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAGV,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE;QACT,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,WAAW;QAChB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,eAAe;QACtB,GAAG,EAAE,cAAc;QACnB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+BAA+B;KAC7C;CACiB,CAAA;AAEP,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAA"}
@@ -67,18 +67,18 @@ export declare const FieldsValidationSchema: z.ZodObject<{
67
67
  email: string;
68
68
  first_name: string;
69
69
  last_name: string;
70
+ phone_number?: string | undefined;
70
71
  provider_id?: string | undefined;
71
72
  legal_name?: string | undefined;
72
73
  skipped_email?: boolean | undefined;
73
- phone_number?: string | undefined;
74
74
  send_invite?: boolean | undefined;
75
75
  }, {
76
76
  email: string;
77
77
  first_name: string;
78
78
  last_name: string;
79
+ phone_number?: string | undefined;
79
80
  provider_id?: string | undefined;
80
81
  legal_name?: string | undefined;
81
82
  skipped_email?: boolean | undefined;
82
- phone_number?: string | undefined;
83
83
  send_invite?: boolean | undefined;
84
84
  }>;
@@ -4,6 +4,7 @@ exports.getSetPasswordLink = void 0;
4
4
  const extensions_core_1 = require("@awell-health/extensions-core");
5
5
  const config_1 = require("./config");
6
6
  const validatePayloadAndCreateSdk_1 = require("../../lib/sdk/validatePayloadAndCreateSdk");
7
+ const lodash_1 = require("lodash");
7
8
  exports.getSetPasswordLink = {
8
9
  key: 'getSetPasswordLink',
9
10
  category: extensions_core_1.Category.EHR_INTEGRATIONS,
@@ -14,24 +15,40 @@ exports.getSetPasswordLink = {
14
15
  dataPoints: config_1.dataPoints,
15
16
  onActivityCreated: async (payload, onComplete, onError) => {
16
17
  var _a, _b;
18
+ const MAX_RETRIES = 3;
19
+ const BASE_DELAY_MS = process.env.NODE_ENV === 'test' ? 10 : 1000;
17
20
  const { fields, healthieSdk } = await (0, validatePayloadAndCreateSdk_1.validatePayloadAndCreateSdk)({
18
21
  fieldsSchema: config_1.FieldsValidationSchema,
19
22
  payload,
20
23
  });
21
- const res = await healthieSdk.client.query({
22
- user: {
23
- __args: {
24
- id: fields.healthiePatientId,
24
+ let setPasswordLink;
25
+ /**
26
+ * We need to retry the API call because:
27
+ * - The setPasswordLink field is not immediately available after creating a new user.
28
+ * - The API response is inconsistent
29
+ */
30
+ for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
31
+ const res = await healthieSdk.client.query({
32
+ user: {
33
+ __args: {
34
+ id: fields.healthiePatientId,
35
+ },
36
+ set_password_link: true,
25
37
  },
26
- set_password_link: true,
27
- },
28
- });
38
+ });
39
+ if (!(0, lodash_1.isNil)((_a = res.user) === null || _a === void 0 ? void 0 : _a.set_password_link)) {
40
+ setPasswordLink = String((_b = res.user) === null || _b === void 0 ? void 0 : _b.set_password_link);
41
+ break;
42
+ }
43
+ // Exponential backoff delay calculation
44
+ const delay = BASE_DELAY_MS * Math.pow(2, attempt);
45
+ await new Promise((resolve) => setTimeout(resolve, delay));
46
+ }
29
47
  await onComplete({
30
48
  data_points: {
31
- setPasswordLink: ((_a = res.user) === null || _a === void 0 ? void 0 : _a.set_password_link) === undefined ||
32
- ((_b = res.user) === null || _b === void 0 ? void 0 : _b.set_password_link) === null
49
+ setPasswordLink: setPasswordLink === undefined || setPasswordLink === null
33
50
  ? undefined
34
- : String(res.user.set_password_link),
51
+ : String(setPasswordLink),
35
52
  },
36
53
  });
37
54
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getSetPasswordLink.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.ts"],"names":[],"mappings":";;;AACA,mEAAwD;AAExD,qCAAqE;AACrE,2FAAuF;AAE1E,QAAA,kBAAkB,GAA2C;IACxE,GAAG,EAAE,oBAAoB;IACzB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;;QACvE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,yDAA2B,EAAC;YAChE,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,IAAI,EAAE;gBACJ,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM,CAAC,iBAAiB;iBAC7B;gBACD,iBAAiB,EAAE,IAAI;aACxB;SACF,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,eAAe,EACb,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,iBAAiB,MAAK,SAAS;oBACzC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,iBAAiB,MAAK,IAAI;oBAClC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;aACzC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"getSetPasswordLink.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.ts"],"names":[],"mappings":";;;AACA,mEAAwD;AAExD,qCAAqE;AACrE,2FAAuF;AACvF,mCAA8B;AAEjB,QAAA,kBAAkB,GAA2C;IACxE,GAAG,EAAE,oBAAoB;IACzB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;;QACvE,MAAM,WAAW,GAAG,CAAC,CAAA;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAEjE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,yDAA2B,EAAC;YAChE,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,eAAmC,CAAA;QAEvC;;;;WAIG;QACH,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzC,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,EAAE,EAAE,MAAM,CAAC,iBAAiB;qBAC7B;oBACD,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,IAAA,cAAK,EAAC,MAAA,GAAG,CAAC,IAAI,0CAAE,iBAAiB,CAAC,EAAE;gBACvC,eAAe,GAAG,MAAM,CAAC,MAAA,GAAG,CAAC,IAAI,0CAAE,iBAAiB,CAAC,CAAA;gBACrD,MAAK;aACN;YAED,wCAAwC;YACxC,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;SAC3D;QAED,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,eAAe,EACb,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;oBACvD,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -7,6 +7,7 @@ const _1 = require(".");
7
7
  jest.mock('@extensions/healthie/lib/sdk/genql', () => ({
8
8
  HealthieSdk: jest.fn().mockImplementation(() => ({
9
9
  client: {
10
+ mutation: jest.fn(),
10
11
  query: jest.fn().mockResolvedValue({
11
12
  user: {
12
13
  set_password_link: 'https://securestaging.gethealthie.com/set_initial_password?signup_token=some-token',
@@ -17,9 +18,14 @@ jest.mock('@extensions/healthie/lib/sdk/genql', () => ({
17
18
  }));
18
19
  const mockedHealthieSdk = jest.mocked(genql_1.HealthieSdk);
19
20
  describe('Healthie - Get password link', () => {
21
+ let mockedClient;
20
22
  const { extensionAction: action, onComplete, onError, helpers, clearMocks, } = extensions_core_1.TestHelpers.fromAction(_1.getSetPasswordLink);
21
23
  beforeEach(() => {
22
24
  clearMocks();
25
+ mockedClient = {
26
+ query: jest.fn(),
27
+ mutation: jest.fn(),
28
+ };
23
29
  });
24
30
  test('Should call onComplete', async () => {
25
31
  await action.onEvent({
@@ -44,5 +50,42 @@ describe('Healthie - Get password link', () => {
44
50
  },
45
51
  });
46
52
  });
53
+ test('Should retry if set_password_link is null and succeed after retries', async () => {
54
+ // Mock the SDK to return null for the first two attempts, and succeed on the third attempt
55
+ mockedClient.query
56
+ .mockResolvedValueOnce({ user: { set_password_link: null } }) // First attempt
57
+ .mockResolvedValueOnce({ user: { set_password_link: null } }) // Second attempt
58
+ .mockResolvedValueOnce({
59
+ user: {
60
+ set_password_link: 'https://securestaging.gethealthie.com/set_initial_password?signup_token=some-token',
61
+ },
62
+ }) // Third attempt
63
+ ;
64
+ genql_1.HealthieSdk.mockImplementationOnce(() => ({
65
+ client: mockedClient,
66
+ }));
67
+ await action.onEvent({
68
+ payload: {
69
+ ...tests_1.testPayload,
70
+ fields: {
71
+ healthiePatientId: '453019',
72
+ },
73
+ settings: {
74
+ apiUrl: 'https://staging-api.gethealthie.com/graphql',
75
+ apiKey: 'apiKey',
76
+ },
77
+ },
78
+ onComplete,
79
+ onError,
80
+ helpers,
81
+ });
82
+ // Ensure the query was called 3 times and succeeded on the third attempt
83
+ expect(mockedClient.query).toHaveBeenCalledTimes(3);
84
+ expect(onComplete).toHaveBeenCalledWith({
85
+ data_points: {
86
+ setPasswordLink: 'https://securestaging.gethealthie.com/set_initial_password?signup_token=some-token',
87
+ },
88
+ });
89
+ });
47
90
  });
48
91
  //# sourceMappingURL=getSetPasswordLink.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSetPasswordLink.test.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.test.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AACrC,mEAA2D;AAC3D,8DAAgE;AAChE,wBAAyD;AAEzD,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACjC,IAAI,EAAE;oBACJ,iBAAiB,EACf,oFAAoF;iBACvF;aACF,CAAC;SACH;KACF,CAAC,CAAC;CACJ,CAAC,CAAC,CAAA;AAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAA;AAElD,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,EACJ,eAAe,EAAE,MAAM,EACvB,UAAU,EACV,OAAO,EACP,OAAO,EACP,UAAU,GACX,GAAG,6BAAW,CAAC,UAAU,CAAC,qBAAe,CAAC,CAAA;IAE3C,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE;gBACP,GAAG,mBAAW;gBACd,MAAM,EAAE;oBACN,iBAAiB,EAAE,QAAQ;iBAC5B;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,6CAA6C;oBACrD,MAAM,EAAE,QAAQ;iBACjB;aACF;YACD,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAA;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,eAAe,EACb,oFAAoF;aACvF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"getSetPasswordLink.test.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/getSetPasswordLink/getSetPasswordLink.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.42",
3
+ "version": "2.0.44",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {