@awell-health/awell-extensions 2.0.299 → 2.0.300

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.
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ export declare const FRESHDESK_IDENTIFIER_SYSTEM = "http://freshdesk.io/";
2
3
  export declare const settings: {
3
4
  domain: {
4
5
  key: string;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingsValidationSchema = exports.settings = void 0;
3
+ exports.SettingsValidationSchema = exports.settings = exports.FRESHDESK_IDENTIFIER_SYSTEM = void 0;
4
4
  const zod_1 = require("zod");
5
+ exports.FRESHDESK_IDENTIFIER_SYSTEM = 'http://freshdesk.io/';
5
6
  exports.settings = {
6
7
  domain: {
7
8
  key: 'domain',
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/freshdesk/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,6EAA6E;QAC/E,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;KAClB;IACD,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC0B,CAAC,CAAA"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/freshdesk/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,2BAA2B,GAAG,sBAAsB,CAAA;AAEpD,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,6EAA6E;QAC/E,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;KAClB;IACD,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC0B,CAAC,CAAA"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ticketCreatedPayload = void 0;
4
4
  exports.ticketCreatedPayload = {
5
5
  freshdesk_webhook: {
6
- ticket_id: '295186',
6
+ ticket_id: '20',
7
7
  },
8
8
  };
9
9
  //# sourceMappingURL=ticketCreated.mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ticketCreated.mock.js","sourceRoot":"","sources":["../../../../../../extensions/freshdesk/webhooks/TicketCreated/__testdata__/ticketCreated.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAG;IAClC,iBAAiB,EAAE;QACjB,SAAS,EAAE,QAAQ;KACpB;CACoC,CAAA"}
1
+ {"version":3,"file":"ticketCreated.mock.js","sourceRoot":"","sources":["../../../../../../extensions/freshdesk/webhooks/TicketCreated/__testdata__/ticketCreated.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAG;IAClC,iBAAiB,EAAE;QACjB,SAAS,EAAE,IAAI;KAChB;CACoC,CAAA"}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ticketCreated = void 0;
4
+ const settings_1 = require("../../settings");
4
5
  const types_1 = require("./types");
6
+ const client_1 = require("../../lib/api/client");
7
+ const lodash_1 = require("lodash");
5
8
  const dataPoints = {
6
9
  ticketId: {
7
10
  key: 'ticketId',
@@ -12,6 +15,7 @@ exports.ticketCreated = {
12
15
  key: 'ticketCreated',
13
16
  dataPoints,
14
17
  onEvent: async ({ payload: { payload, rawBody, headers, settings }, onSuccess, onError, }) => {
18
+ var _a;
15
19
  const parsedPayload = types_1.zTicketCreatedWebhookPayload.safeParse(payload);
16
20
  if (!parsedPayload.success) {
17
21
  await onError({
@@ -22,10 +26,33 @@ exports.ticketCreated = {
22
26
  });
23
27
  return;
24
28
  }
29
+ const parsedSettings = settings_1.SettingsValidationSchema.safeParse(settings);
30
+ if (!parsedSettings.success) {
31
+ await onError({
32
+ response: {
33
+ statusCode: 400,
34
+ message: JSON.stringify(parsedSettings.error, null, 2),
35
+ },
36
+ });
37
+ return;
38
+ }
39
+ const baseUrl = `https://${parsedSettings.data.domain}.freshdesk.com/api/v2`;
40
+ const freshdeskSdk = new client_1.FreshdeskApiClient({
41
+ baseUrl,
42
+ apiKey: parsedSettings.data.apiKey,
43
+ });
44
+ const ticket = await freshdeskSdk.getTicket(parsedPayload.data.freshdesk_webhook.ticket_id.toString());
45
+ const requesterId = (_a = ticket.data) === null || _a === void 0 ? void 0 : _a.requester_id; // requested ID is the ID of the Freshdesk contact/patient
25
46
  await onSuccess({
26
47
  data_points: {
27
- ticketId: parsedPayload.data.freshdesk_webhook.ticket_id,
48
+ ticketId: parsedPayload.data.freshdesk_webhook.ticket_id.toString(),
28
49
  },
50
+ ...(!(0, lodash_1.isNil)(requesterId) && {
51
+ patient_identifier: {
52
+ system: settings_1.FRESHDESK_IDENTIFIER_SYSTEM,
53
+ value: ticket.data.requester_id.toString(),
54
+ },
55
+ }),
29
56
  });
30
57
  },
31
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ticketCreated.js","sourceRoot":"","sources":["../../../../../extensions/freshdesk/webhooks/TicketCreated/ticketCreated.ts"],"names":[],"mappings":";;;AAMA,mCAAsD;AAEtD,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,UAAU;IACV,OAAO,EAAE,KAAK,EAAE,EACd,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAChD,SAAS,EACT,OAAO,GACR,EAAE,EAAE;QACH,MAAM,aAAa,GAAG,oCAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAErE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC;gBACZ,QAAQ,EAAE;oBACR,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtD;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,SAAS,CAAC;YACd,WAAW,EAAE;gBACX,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS;aACzD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"ticketCreated.js","sourceRoot":"","sources":["../../../../../extensions/freshdesk/webhooks/TicketCreated/ticketCreated.ts"],"names":[],"mappings":";;;AAIA,6CAIuB;AAEvB,mCAAsD;AACtD,iDAAyD;AACzD,mCAA8B;AAE9B,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,UAAU;IACV,OAAO,EAAE,KAAK,EAAE,EACd,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAChD,SAAS,EACT,OAAO,GACR,EAAE,EAAE;;QACH,MAAM,aAAa,GAAG,oCAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAErE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC;gBACZ,QAAQ,EAAE;oBACR,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtD;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,cAAc,GAAG,mCAAwB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAEnE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,CAAC;gBACZ,QAAQ,EAAE;oBACR,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvD;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,cAAc,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAA;QAE5E,MAAM,YAAY,GAAG,IAAI,2BAAkB,CAAC;YAC1C,OAAO;YACP,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM;SACnC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CACzC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC1D,CAAA;QACD,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,IAAI,0CAAE,YAAY,CAAA,CAAC,0DAA0D;QAExG,MAAM,SAAS,CAAC;YACd,WAAW,EAAE;gBACX,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE;aACpE;YACD,GAAG,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,IAAI;gBACzB,kBAAkB,EAAE;oBAClB,MAAM,EAAE,sCAA2B;oBACnC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;iBAC3C;aACF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -16,19 +16,19 @@ import { z } from 'zod';
16
16
  */
17
17
  export declare const zTicketCreatedWebhookPayload: z.ZodObject<{
18
18
  freshdesk_webhook: z.ZodObject<{
19
- ticket_id: z.ZodString;
19
+ ticket_id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
20
20
  }, "strip", z.ZodTypeAny, {
21
- ticket_id: string;
21
+ ticket_id: string | number;
22
22
  }, {
23
- ticket_id: string;
23
+ ticket_id: string | number;
24
24
  }>;
25
25
  }, "strip", z.ZodTypeAny, {
26
26
  freshdesk_webhook: {
27
- ticket_id: string;
27
+ ticket_id: string | number;
28
28
  };
29
29
  }, {
30
30
  freshdesk_webhook: {
31
- ticket_id: string;
31
+ ticket_id: string | number;
32
32
  };
33
33
  }>;
34
34
  export type TicketCreatedWebhookPayload = z.infer<typeof zTicketCreatedWebhookPayload>;
@@ -19,7 +19,7 @@ const zod_1 = require("zod");
19
19
  */
20
20
  exports.zTicketCreatedWebhookPayload = zod_1.z.object({
21
21
  freshdesk_webhook: zod_1.z.object({
22
- ticket_id: zod_1.z.string(),
22
+ ticket_id: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]),
23
23
  }),
24
24
  });
25
25
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../extensions/freshdesk/webhooks/TicketCreated/types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB;;;;;;;;;;;;;;GAcG;AAEU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,iBAAiB,EAAE,OAAC,CAAC,MAAM,CAAC;QAC1B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC;CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../extensions/freshdesk/webhooks/TicketCreated/types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB;;;;;;;;;;;;;;GAcG;AAEU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,iBAAiB,EAAE,OAAC,CAAC,MAAM,CAAC;QAC1B,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC7C,CAAC;CACH,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export declare const webhooks: import("@awell-health/extensions-core").Webhook<"ticketId", {
2
2
  freshdesk_webhook: {
3
- ticket_id: string;
3
+ ticket_id: string | number;
4
4
  };
5
5
  }, {
6
6
  domain: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.299",
3
+ "version": "2.0.300",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {