@awell-health/awell-extensions 2.0.284 → 2.0.286

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/extensions/freshdesk/actions/addNoteToTicket/addNoteToTicket.d.ts +4 -0
  2. package/dist/extensions/freshdesk/actions/addNoteToTicket/addNoteToTicket.js +33 -0
  3. package/dist/extensions/freshdesk/actions/addNoteToTicket/addNoteToTicket.js.map +1 -0
  4. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/dataPoints.d.ts +1 -0
  5. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/dataPoints.js +5 -0
  6. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/dataPoints.js.map +1 -0
  7. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/fields.d.ts +68 -0
  8. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/fields.js +72 -0
  9. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/fields.js.map +1 -0
  10. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/index.d.ts +2 -0
  11. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/index.js +9 -0
  12. package/dist/extensions/freshdesk/actions/addNoteToTicket/config/index.js.map +1 -0
  13. package/dist/extensions/freshdesk/actions/addNoteToTicket/index.d.ts +1 -0
  14. package/dist/extensions/freshdesk/actions/addNoteToTicket/index.js +18 -0
  15. package/dist/extensions/freshdesk/actions/addNoteToTicket/index.js.map +1 -0
  16. package/dist/extensions/freshdesk/actions/getTicket/config/dataPoints.d.ts +54 -0
  17. package/dist/extensions/freshdesk/actions/getTicket/config/dataPoints.js +58 -0
  18. package/dist/extensions/freshdesk/actions/getTicket/config/dataPoints.js.map +1 -0
  19. package/dist/extensions/freshdesk/actions/getTicket/config/fields.d.ts +18 -0
  20. package/dist/extensions/freshdesk/actions/getTicket/config/fields.js +18 -0
  21. package/dist/extensions/freshdesk/actions/getTicket/config/fields.js.map +1 -0
  22. package/dist/extensions/freshdesk/actions/getTicket/config/index.d.ts +2 -0
  23. package/dist/extensions/freshdesk/actions/getTicket/config/index.js +9 -0
  24. package/dist/extensions/freshdesk/actions/getTicket/config/index.js.map +1 -0
  25. package/dist/extensions/freshdesk/actions/getTicket/getTicket.d.ts +4 -0
  26. package/dist/extensions/freshdesk/actions/getTicket/getTicket.js +45 -0
  27. package/dist/extensions/freshdesk/actions/getTicket/getTicket.js.map +1 -0
  28. package/dist/extensions/freshdesk/actions/getTicket/index.d.ts +1 -0
  29. package/dist/extensions/freshdesk/actions/getTicket/index.js +18 -0
  30. package/dist/extensions/freshdesk/actions/getTicket/index.js.map +1 -0
  31. package/dist/extensions/freshdesk/actions/index.d.ts +177 -1
  32. package/dist/extensions/freshdesk/actions/index.js +8 -1
  33. package/dist/extensions/freshdesk/actions/index.js.map +1 -1
  34. package/dist/extensions/freshdesk/actions/updateTicket/config/dataPoints.d.ts +1 -0
  35. package/dist/extensions/freshdesk/actions/updateTicket/config/dataPoints.js +5 -0
  36. package/dist/extensions/freshdesk/actions/updateTicket/config/dataPoints.js.map +1 -0
  37. package/dist/extensions/freshdesk/actions/updateTicket/config/fields.d.ts +110 -0
  38. package/dist/extensions/freshdesk/actions/updateTicket/config/fields.js +134 -0
  39. package/dist/extensions/freshdesk/actions/updateTicket/config/fields.js.map +1 -0
  40. package/dist/extensions/freshdesk/actions/updateTicket/config/index.d.ts +2 -0
  41. package/dist/extensions/freshdesk/actions/updateTicket/config/index.js +9 -0
  42. package/dist/extensions/freshdesk/actions/updateTicket/config/index.js.map +1 -0
  43. package/dist/extensions/freshdesk/actions/updateTicket/index.d.ts +1 -0
  44. package/dist/extensions/freshdesk/actions/updateTicket/index.js +18 -0
  45. package/dist/extensions/freshdesk/actions/updateTicket/index.js.map +1 -0
  46. package/dist/extensions/freshdesk/actions/updateTicket/updateTicket.d.ts +4 -0
  47. package/dist/extensions/freshdesk/actions/updateTicket/updateTicket.js +48 -0
  48. package/dist/extensions/freshdesk/actions/updateTicket/updateTicket.js.map +1 -0
  49. package/dist/extensions/freshdesk/lib/api/client.d.ts +18 -0
  50. package/dist/extensions/freshdesk/lib/api/client.js +32 -0
  51. package/dist/extensions/freshdesk/lib/api/client.js.map +1 -0
  52. package/dist/extensions/freshdesk/lib/api/schema/AddNote.schema.d.ts +62 -0
  53. package/dist/extensions/freshdesk/lib/api/schema/AddNote.schema.js +26 -0
  54. package/dist/extensions/freshdesk/lib/api/schema/AddNote.schema.js.map +1 -0
  55. package/dist/extensions/freshdesk/lib/api/schema/GetTicket.schema.d.ts +93 -0
  56. package/dist/extensions/freshdesk/lib/api/schema/GetTicket.schema.js +6 -0
  57. package/dist/extensions/freshdesk/lib/api/schema/GetTicket.schema.js.map +1 -0
  58. package/dist/extensions/freshdesk/lib/api/schema/UpdateTicket.schema.d.ts +179 -0
  59. package/dist/extensions/freshdesk/lib/api/schema/UpdateTicket.schema.js +36 -0
  60. package/dist/extensions/freshdesk/lib/api/schema/UpdateTicket.schema.js.map +1 -0
  61. package/dist/extensions/freshdesk/lib/api/schema/atoms/Ticket.Schema.d.ts +92 -0
  62. package/dist/extensions/freshdesk/lib/api/schema/atoms/Ticket.Schema.js +37 -0
  63. package/dist/extensions/freshdesk/lib/api/schema/atoms/Ticket.Schema.js.map +1 -0
  64. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketPriority.schema.d.ts +11 -0
  65. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketPriority.schema.js +20 -0
  66. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketPriority.schema.js.map +1 -0
  67. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketSource.schema.d.ts +13 -0
  68. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketSource.schema.js +24 -0
  69. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketSource.schema.js.map +1 -0
  70. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketStatus.schema.d.ts +11 -0
  71. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketStatus.schema.js +20 -0
  72. package/dist/extensions/freshdesk/lib/api/schema/atoms/TicketStatus.schema.js.map +1 -0
  73. package/dist/extensions/freshdesk/lib/api/schema/atoms/index.d.ts +4 -0
  74. package/dist/extensions/freshdesk/lib/api/schema/atoms/index.js +21 -0
  75. package/dist/extensions/freshdesk/lib/api/schema/atoms/index.js.map +1 -0
  76. package/dist/extensions/freshdesk/lib/api/schema/index.d.ts +3 -0
  77. package/dist/extensions/freshdesk/lib/api/schema/index.js +20 -0
  78. package/dist/extensions/freshdesk/lib/api/schema/index.js.map +1 -0
  79. package/dist/extensions/freshdesk/lib/validatePayloadAndCreateSdk.d.ts +18 -0
  80. package/dist/extensions/freshdesk/lib/validatePayloadAndCreateSdk.js +35 -0
  81. package/dist/extensions/freshdesk/lib/validatePayloadAndCreateSdk.js.map +1 -0
  82. package/dist/extensions/freshdesk/webhooks/TicketCreated/types.d.ts +15 -0
  83. package/dist/extensions/sendbird/v1/actions/updateTicket/config/fields.d.ts +2 -2
  84. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TicketStatusSchema = exports.TicketStatusDescriptionString = exports.TicketStatus = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.TicketStatus = {
6
+ Open: 2,
7
+ Pending: 3,
8
+ Resolved: 4,
9
+ Closed: 5,
10
+ };
11
+ exports.TicketStatusDescriptionString = Object.entries(exports.TicketStatus)
12
+ .map(([key, value]) => `${value} (${key})`)
13
+ .join(', ');
14
+ exports.TicketStatusSchema = zod_1.z.union([
15
+ zod_1.z.literal(exports.TicketStatus.Open),
16
+ zod_1.z.literal(exports.TicketStatus.Pending),
17
+ zod_1.z.literal(exports.TicketStatus.Resolved),
18
+ zod_1.z.literal(exports.TicketStatus.Closed),
19
+ ]);
20
+ //# sourceMappingURL=TicketStatus.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TicketStatus.schema.js","sourceRoot":"","sources":["../../../../../../../extensions/freshdesk/lib/api/schema/atoms/TicketStatus.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACD,CAAA;AAEG,QAAA,6BAA6B,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAY,CAAC;KACtE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,GAAG,GAAG,CAAC;KAC1C,IAAI,CAAC,IAAI,CAAC,CAAA;AAEA,QAAA,kBAAkB,GAAG,OAAC,CAAC,KAAK,CAAC;IACxC,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,IAAI,CAAC;IAC5B,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,OAAO,CAAC;IAC/B,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,QAAQ,CAAC;IAChC,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,MAAM,CAAC;CAC/B,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './TicketPriority.schema';
2
+ export * from './TicketSource.schema';
3
+ export * from './TicketStatus.schema';
4
+ export * from './Ticket.Schema';
@@ -0,0 +1,21 @@
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("./TicketPriority.schema"), exports);
18
+ __exportStar(require("./TicketSource.schema"), exports);
19
+ __exportStar(require("./TicketStatus.schema"), exports);
20
+ __exportStar(require("./Ticket.Schema"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/freshdesk/lib/api/schema/atoms/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,wDAAqC;AACrC,wDAAqC;AACrC,kDAA+B"}
@@ -0,0 +1,3 @@
1
+ export * from './UpdateTicket.schema';
2
+ export * from './AddNote.schema';
3
+ export * from './GetTicket.schema';
@@ -0,0 +1,20 @@
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("./UpdateTicket.schema"), exports);
18
+ __exportStar(require("./AddNote.schema"), exports);
19
+ __exportStar(require("./GetTicket.schema"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/freshdesk/lib/api/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,mDAAgC;AAChC,qDAAkC"}
@@ -0,0 +1,18 @@
1
+ import { type NewActivityPayload, type Pathway, type Patient } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ import { SettingsValidationSchema } from '../settings';
4
+ import { type Activity } from '@awell-health/extensions-core/dist/types/Activity';
5
+ import { FreshdeskApiClient } from './api/client';
6
+ type ValidatePayloadAndCreateSdk = <T extends z.ZodTypeAny, P extends NewActivityPayload<any, any>>(args: {
7
+ fieldsSchema: T;
8
+ payload: P;
9
+ }) => Promise<{
10
+ freshdeskSdk: FreshdeskApiClient;
11
+ fields: z.infer<(typeof args)['fieldsSchema']>;
12
+ settings: z.infer<typeof SettingsValidationSchema>;
13
+ pathway: Pathway;
14
+ patient: Patient;
15
+ activity: Activity;
16
+ }>;
17
+ export declare const validatePayloadAndCreateSdk: ValidatePayloadAndCreateSdk;
18
+ export {};
@@ -0,0 +1,35 @@
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.validatePayloadAndCreateSdk = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const zod_1 = __importDefault(require("zod"));
9
+ const settings_1 = require("../settings");
10
+ const client_1 = require("./api/client");
11
+ const validatePayloadAndCreateSdk = async ({ fieldsSchema, payload, }) => {
12
+ const { settings, fields } = (0, extensions_core_1.validate)({
13
+ schema: zod_1.default.object({
14
+ fields: fieldsSchema,
15
+ settings: settings_1.SettingsValidationSchema,
16
+ }),
17
+ payload,
18
+ });
19
+ const { patient, pathway, activity } = payload;
20
+ const baseUrl = `https://${settings.domain}.freshdesk.com/api/v2`;
21
+ const freshdeskSdk = new client_1.FreshdeskApiClient({
22
+ baseUrl,
23
+ apiKey: settings.apiKey,
24
+ });
25
+ return {
26
+ freshdeskSdk,
27
+ settings,
28
+ fields,
29
+ patient,
30
+ pathway,
31
+ activity,
32
+ };
33
+ };
34
+ exports.validatePayloadAndCreateSdk = validatePayloadAndCreateSdk;
35
+ //# sourceMappingURL=validatePayloadAndCreateSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePayloadAndCreateSdk.js","sourceRoot":"","sources":["../../../../extensions/freshdesk/lib/validatePayloadAndCreateSdk.ts"],"names":[],"mappings":";;;;;;AAAA,mEAKsC;AACtC,8CAAmB;AACnB,0CAAsD;AAEtD,yCAAiD;AAiB1C,MAAM,2BAA2B,GAAgC,KAAK,EAAE,EAC7E,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAQ,EAAC;QACpC,MAAM,EAAE,aAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,mCAAwB;SACnC,CAAC;QACF,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAE9C,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,MAAM,uBAAuB,CAAA;IAEjE,MAAM,YAAY,GAAG,IAAI,2BAAkB,CAAC;QAC1C,OAAO;QACP,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IAEF,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,2BAA2B,+BA6BvC"}
@@ -1 +1,16 @@
1
+ /**
2
+ * Problem:
3
+ * Freshdesk allows their users to define a custom webhook payload.
4
+ * This means there's no "standard" webhook payload and it's not possible to define a schema for it.
5
+ *
6
+ * Alternative 1:
7
+ * If a customer wants to use a webhook-based integration with Freshdesk, we register the webhook
8
+ * in a private extension and define a custom contract and schema together with the customer and use that instead.
9
+ *
10
+ * Alternative 2:
11
+ * We try to define a schema for the webhook payload that is flexible enough to handle all possible payloads.
12
+ * Haven't attempted this yet.
13
+ *
14
+ * See https://support.freshdesk.com/support/solutions/articles/132589-using-webhooks-in-automation-rules
15
+ */
1
16
  export type TicketCreatedWebhookPayload = Record<string, unknown>;
@@ -30,10 +30,10 @@ export declare const FieldsValidationSchema: z.ZodObject<{
30
30
  priority: z.ZodEnum<[TicketPriority, ...TicketPriority[]]>;
31
31
  }, "strip", z.ZodTypeAny, {
32
32
  priority: TicketPriority;
33
- relatedChannelUrls: string;
34
33
  ticketId: number;
34
+ relatedChannelUrls: string;
35
35
  }, {
36
36
  priority: TicketPriority;
37
- relatedChannelUrls: string;
38
37
  ticketId: number;
38
+ relatedChannelUrls: string;
39
39
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.284",
3
+ "version": "2.0.286",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {