@awell-health/awell-extensions 1.1.43 → 1.1.45
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/extensions/athenahealth/actions/index.d.ts +1 -1
- package/dist/extensions/athenahealth/settings.d.ts +2 -2
- package/dist/extensions/awell/v1/actions/updatePatient/config/fields.d.ts +2 -2
- package/dist/extensions/awell/v1/webhooks/index.d.ts +1 -1
- package/dist/extensions/awell/v1/webhooks/pathwayStart.d.ts +3 -1
- package/dist/extensions/awell/v1/webhooks/pathwayStart.js +13 -3
- package/dist/extensions/awell/v1/webhooks/pathwayStart.js.map +1 -1
- package/dist/extensions/calDotCom/actions/createBooking/config/fields.d.ts +12 -12
- package/dist/extensions/calDotCom/actions/updateBooking/config/fields.d.ts +6 -6
- package/dist/extensions/calDotCom/schema.d.ts +70 -70
- package/dist/extensions/calDotCom/webhooks/index.d.ts +1 -1
- package/dist/extensions/calendly/schema.d.ts +262 -262
- package/dist/extensions/calendly/webhooks/index.d.ts +1 -1
- package/dist/extensions/canvasMedical/v1/actions/createClaim/config/fields.d.ts +2 -2
- package/dist/extensions/canvasMedical/v1/actions/createCoverage/config/fields.d.ts +2 -2
- package/dist/extensions/canvasMedical/v1/actions/createQuestionnaireResponses/config/fields.d.ts +2 -2
- package/dist/extensions/canvasMedical/v1/actions/updateCoverage/config/fields.d.ts +4 -4
- package/dist/extensions/canvasMedical/v1/validation/address.zod.d.ts +4 -4
- package/dist/extensions/canvasMedical/v1/validation/appointment.zod.d.ts +48 -48
- package/dist/extensions/canvasMedical/v1/validation/claim.d.ts +6 -6
- package/dist/extensions/canvasMedical/v1/validation/coding.zod.d.ts +2 -2
- package/dist/extensions/canvasMedical/v1/validation/coverage.zod.d.ts +6 -6
- package/dist/extensions/canvasMedical/v1/validation/identifier.zod.d.ts +8 -8
- package/dist/extensions/canvasMedical/v1/validation/patient.zod.d.ts +148 -148
- package/dist/extensions/canvasMedical/v1/validation/questionnaireResponses.zod.d.ts +30 -30
- package/dist/extensions/canvasMedical/v1/validation/settings.zod.d.ts +4 -4
- package/dist/extensions/canvasMedical/v1/validation/task.zod.d.ts +12 -12
- package/dist/extensions/collectData/v1/actions/remoteSingleSelect/config/fields.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/atoms/patientReference.schema.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/atoms/taskGroup.schema.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/atoms/taskListReference.schema.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/atoms/taskReference.schema.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/atoms/taskWorkflowStatusReference.schema.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/atoms/userReference.schema.d.ts +2 -2
- package/dist/extensions/dockHealth/api/schema/patient.schema.d.ts +10 -10
- package/dist/extensions/dockHealth/api/schema/task.schema.d.ts +77 -77
- package/dist/extensions/dockHealth/lib/dock.types.d.ts +2 -2
- package/dist/extensions/elation/actions/index.d.ts +2 -2
- package/dist/extensions/elation/validation/appointment.zod.d.ts +18 -18
- package/dist/extensions/elation/validation/labOrder.zod.d.ts +2 -2
- package/dist/extensions/elation/validation/nonVisitNote.zod.d.ts +6 -6
- package/dist/extensions/elation/validation/patient.zod.d.ts +116 -116
- package/dist/extensions/elation/validation/physician.zod.d.ts +2 -2
- package/dist/extensions/elation/validation/settings.zod.d.ts +6 -6
- package/dist/extensions/elation/webhooks/index.d.ts +1 -1
- package/dist/extensions/formsort/settings.d.ts +3 -3
- package/dist/extensions/healthie/actions/createAppointment/config/fields.d.ts +30 -0
- package/dist/extensions/healthie/actions/createAppointment/config/fields.js +28 -1
- package/dist/extensions/healthie/actions/createAppointment/config/fields.js.map +1 -1
- package/dist/extensions/healthie/actions/createAppointment/config/index.d.ts +1 -1
- package/dist/extensions/healthie/actions/createAppointment/config/index.js +2 -1
- package/dist/extensions/healthie/actions/createAppointment/config/index.js.map +1 -1
- package/dist/extensions/healthie/actions/createAppointment/createAppointment.js +19 -61
- package/dist/extensions/healthie/actions/createAppointment/createAppointment.js.map +1 -1
- package/dist/extensions/healthie/actions/createAppointment/createAppointment.test.d.ts +1 -0
- package/dist/extensions/healthie/actions/createAppointment/createAppointment.test.js +42 -0
- package/dist/extensions/healthie/actions/createAppointment/createAppointment.test.js.map +1 -0
- package/dist/extensions/healthie/actions/createMetricEntry/createMetricEntry.js +1 -1
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.js +1 -1
- package/dist/extensions/healthie/actions/index.d.ts +7 -0
- package/dist/extensions/healthie/actions/updatePatientQuickNote/updatePatientQuickNote.js +1 -1
- package/dist/extensions/healthie/lib/helpers.d.ts +8 -0
- package/dist/extensions/healthie/lib/helpers.js +6 -1
- package/dist/extensions/healthie/lib/helpers.js.map +1 -1
- package/dist/extensions/healthie/lib/sdk/createSdk.d.ts +10 -0
- package/dist/extensions/healthie/lib/sdk/createSdk.js +17 -0
- package/dist/extensions/healthie/lib/sdk/createSdk.js.map +1 -0
- package/dist/extensions/healthie/lib/sdk/errors.d.ts +1 -0
- package/dist/extensions/healthie/lib/sdk/errors.js +46 -1
- package/dist/extensions/healthie/lib/sdk/errors.js.map +1 -1
- package/dist/extensions/healthie/lib/sdk/generated/sdk.d.ts +399 -11
- package/dist/extensions/healthie/lib/sdk/generated/sdk.js +112 -5
- package/dist/extensions/healthie/lib/sdk/generated/sdk.js.map +1 -1
- package/dist/extensions/healthie/lib/sdk/validatePayloadAndCreateSdk.d.ts +2 -2
- package/dist/extensions/healthie/lib/sdk/validatePayloadAndCreateSdk.js +1 -1
- package/dist/extensions/healthie/lib/types.d.ts +2 -1
- package/dist/extensions/healthie/lib/types.js +2 -0
- package/dist/extensions/healthie/lib/types.js.map +1 -1
- package/dist/extensions/healthie/lib/validation/createTask.zod.d.ts +1 -1
- package/dist/extensions/healthie/lib/validation/sendFormCompletionRequest.zod.d.ts +4 -4
- package/dist/extensions/healthie/settings.d.ts +1 -1
- package/dist/extensions/healthie/settings.js +2 -2
- package/dist/extensions/healthie/webhooks/appliedTagCreated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/appliedTagCreated.js +20 -7
- package/dist/extensions/healthie/webhooks/appliedTagCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/appliedTagDeleted.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/appliedTagDeleted.js +20 -7
- package/dist/extensions/healthie/webhooks/appliedTagDeleted.js.map +1 -1
- package/dist/extensions/healthie/webhooks/appointmentCreated.d.ts +6 -1
- package/dist/extensions/healthie/webhooks/appointmentCreated.js +26 -6
- package/dist/extensions/healthie/webhooks/appointmentCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/appointmentCreated.test.d.ts +1 -0
- package/dist/extensions/healthie/webhooks/appointmentCreated.test.js +61 -0
- package/dist/extensions/healthie/webhooks/appointmentCreated.test.js.map +1 -0
- package/dist/extensions/healthie/webhooks/appointmentDeleted.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/appointmentDeleted.js +22 -6
- package/dist/extensions/healthie/webhooks/appointmentDeleted.js.map +1 -1
- package/dist/extensions/healthie/webhooks/appointmentUpdated.d.ts +6 -1
- package/dist/extensions/healthie/webhooks/appointmentUpdated.js +26 -6
- package/dist/extensions/healthie/webhooks/appointmentUpdated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupCreated.d.ts +6 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupCreated.js +27 -7
- package/dist/extensions/healthie/webhooks/formAnswerGroupCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupDeleted.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupDeleted.js +21 -6
- package/dist/extensions/healthie/webhooks/formAnswerGroupDeleted.js.map +1 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupLocked.d.ts +6 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupLocked.js +26 -6
- package/dist/extensions/healthie/webhooks/formAnswerGroupLocked.js.map +1 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupSigned.d.ts +6 -1
- package/dist/extensions/healthie/webhooks/formAnswerGroupSigned.js +26 -6
- package/dist/extensions/healthie/webhooks/formAnswerGroupSigned.js.map +1 -1
- package/dist/extensions/healthie/webhooks/goalCreated.d.ts +3 -2
- package/dist/extensions/healthie/webhooks/goalCreated.js +22 -9
- package/dist/extensions/healthie/webhooks/goalCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/goalCreated.test.d.ts +1 -0
- package/dist/extensions/healthie/webhooks/goalCreated.test.js +35 -0
- package/dist/extensions/healthie/webhooks/goalCreated.test.js.map +1 -0
- package/dist/extensions/healthie/webhooks/goalUpdated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/goalUpdated.js +21 -8
- package/dist/extensions/healthie/webhooks/goalUpdated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/index.d.ts +316 -5
- package/dist/extensions/healthie/webhooks/index.js +0 -8
- package/dist/extensions/healthie/webhooks/index.js.map +1 -1
- package/dist/extensions/healthie/webhooks/labOrderCreated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/labOrderCreated.js +20 -7
- package/dist/extensions/healthie/webhooks/labOrderCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/labOrderUpdated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/labOrderUpdated.js +20 -7
- package/dist/extensions/healthie/webhooks/labOrderUpdated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/messageCreated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/messageCreated.js +21 -7
- package/dist/extensions/healthie/webhooks/messageCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/messageDeleted.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/messageDeleted.js +21 -7
- package/dist/extensions/healthie/webhooks/messageDeleted.js.map +1 -1
- package/dist/extensions/healthie/webhooks/metricEntryCreated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/metricEntryCreated.js +20 -7
- package/dist/extensions/healthie/webhooks/metricEntryCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/metricEntryUpdated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/metricEntryUpdated.js +20 -7
- package/dist/extensions/healthie/webhooks/metricEntryUpdated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/patientCreated.js +8 -1
- package/dist/extensions/healthie/webhooks/patientCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/patientUpdated.js +8 -1
- package/dist/extensions/healthie/webhooks/patientUpdated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/requestedFormCompletionCreated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/requestedFormCompletionCreated.js +20 -7
- package/dist/extensions/healthie/webhooks/requestedFormCompletionCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/requestedFormCompletionUpdated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/requestedFormCompletionUpdated.js +20 -7
- package/dist/extensions/healthie/webhooks/requestedFormCompletionUpdated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/taskCreated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/taskCreated.js +20 -7
- package/dist/extensions/healthie/webhooks/taskCreated.js.map +1 -1
- package/dist/extensions/healthie/webhooks/taskUpdated.d.ts +2 -1
- package/dist/extensions/healthie/webhooks/taskUpdated.js +21 -8
- package/dist/extensions/healthie/webhooks/taskUpdated.js.map +1 -1
- package/dist/extensions/hello-world/webhooks/index.d.ts +1 -1
- package/dist/extensions/infobip/v1/actions/sendEmail/config/fields.d.ts +2 -2
- package/dist/extensions/mailgun/settings.d.ts +1 -1
- package/dist/extensions/mailgun/v1/actions/sendEmailWithTemplate/config/fields.d.ts +2 -2
- package/dist/extensions/math/v1/actions/calculateDateDifference/config/fields.d.ts +2 -2
- package/dist/extensions/math/v1/actions/generateRandomNumber/config/fields.d.ts +2 -2
- package/dist/extensions/medplum/actions/createPatient/config/fields.d.ts +4 -4
- package/dist/extensions/medplum/actions/createServiceRequest/config/fields.d.ts +4 -4
- package/dist/extensions/medplum/actions/createTask/config/fields.d.ts +6 -6
- package/dist/extensions/medplum/fhir/schemas/atoms/PeriodSchema.d.ts +2 -2
- package/dist/extensions/medplum/fhir/schemas/resources/patient.schema.d.ts +4 -4
- package/dist/extensions/medplum/fhir/schemas/resources/serviceRequest.schema.d.ts +4 -4
- package/dist/extensions/medplum/fhir/schemas/resources/task.schema.d.ts +6 -6
- package/dist/extensions/medplum/settings.d.ts +2 -2
- package/dist/extensions/medplum/settings.js +2 -2
- package/dist/extensions/medplum/settings.js.map +1 -1
- package/dist/extensions/metriport/actions/index.d.ts +1 -1
- package/dist/extensions/metriport/actions/patient/validation.d.ts +4 -4
- package/dist/extensions/stripe/actions/createCustomer/config/fields.d.ts +2 -2
- package/dist/extensions/stripe/actions/embeddedCheckout/config/fields.d.ts +2 -2
- package/dist/extensions/talkDesk/settings.d.ts +1 -1
- package/dist/extensions/textline/client/schema.d.ts +10 -10
- package/dist/extensions/westFax/actions/sendFax/sendFax.test.js +13 -3
- package/dist/extensions/westFax/actions/sendFax/sendFax.test.js.map +1 -1
- package/dist/extensions/westFax/settings.d.ts +2 -2
- package/dist/extensions/zendesk/v1/actions/createTask/config/fields.d.ts +2 -2
- package/dist/extensions/zusHealth/validation/settings.zod.d.ts +6 -6
- package/dist/extensions/zusHealth/webhooks/index.d.ts +37 -1
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.d.ts +2 -1
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.js.map +1 -1
- package/dist/extensions/zusHealth/webhooks/patientDischarged.d.ts +2 -1
- package/dist/extensions/zusHealth/webhooks/patientDischarged.js.map +1 -1
- package/dist/src/test-server.js +4 -0
- package/dist/src/test-server.js.map +1 -1
- package/package.json +4 -3
- package/dist/extensions/healthie/webhooks/goalDeleted.d.ts +0 -11
- package/dist/extensions/healthie/webhooks/goalDeleted.js +0 -30
- package/dist/extensions/healthie/webhooks/goalDeleted.js.map +0 -1
- package/dist/extensions/healthie/webhooks/metricEntryDeleted.d.ts +0 -11
- package/dist/extensions/healthie/webhooks/metricEntryDeleted.js +0 -30
- package/dist/extensions/healthie/webhooks/metricEntryDeleted.js.map +0 -1
- package/dist/extensions/healthie/webhooks/requestedFormCompletionDeleted.d.ts +0 -11
- package/dist/extensions/healthie/webhooks/requestedFormCompletionDeleted.js +0 -30
- package/dist/extensions/healthie/webhooks/requestedFormCompletionDeleted.js.map +0 -1
- package/dist/extensions/healthie/webhooks/taskDeleted.d.ts +0 -11
- package/dist/extensions/healthie/webhooks/taskDeleted.js +0 -30
- package/dist/extensions/healthie/webhooks/taskDeleted.js.map +0 -1
@@ -8,16 +8,16 @@ export declare const physicianSchema: z.ZodObject<{
|
|
8
8
|
license_state: z.ZodOptional<z.ZodString>;
|
9
9
|
credentials: z.ZodOptional<z.ZodString>;
|
10
10
|
}, "strict", z.ZodTypeAny, {
|
11
|
-
email?: string | undefined;
|
12
11
|
credentials?: string | undefined;
|
12
|
+
email?: string | undefined;
|
13
13
|
first_name?: string | undefined;
|
14
14
|
last_name?: string | undefined;
|
15
15
|
npi?: string | undefined;
|
16
16
|
license?: string | undefined;
|
17
17
|
license_state?: string | undefined;
|
18
18
|
}, {
|
19
|
-
email?: string | undefined;
|
20
19
|
credentials?: string | undefined;
|
20
|
+
email?: string | undefined;
|
21
21
|
first_name?: string | undefined;
|
22
22
|
last_name?: string | undefined;
|
23
23
|
npi?: string | undefined;
|
@@ -7,17 +7,17 @@ export declare const settingsSchema: z.ZodObject<{
|
|
7
7
|
username: z.ZodString;
|
8
8
|
password: z.ZodString;
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
10
|
-
|
10
|
+
base_url: string;
|
11
|
+
client_secret: string;
|
11
12
|
auth_url: string;
|
12
13
|
client_id: string;
|
13
|
-
client_secret: string;
|
14
14
|
username: string;
|
15
|
-
base_url: string;
|
16
|
-
}, {
|
17
15
|
password: string;
|
16
|
+
}, {
|
17
|
+
base_url: string;
|
18
|
+
client_secret: string;
|
18
19
|
auth_url: string;
|
19
20
|
client_id: string;
|
20
|
-
client_secret: string;
|
21
21
|
username: string;
|
22
|
-
|
22
|
+
password: string;
|
23
23
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
export declare const webhooks: (import("@awell-health/extensions-core").Webhook<"patientId", import("../types/subscription").SubscriptionEvent
|
1
|
+
export declare const webhooks: (import("@awell-health/extensions-core").Webhook<"patientId", import("../types/subscription").SubscriptionEvent, Record<string, import("@awell-health/extensions-core").Setting>> | import("@awell-health/extensions-core").Webhook<"appointmentId", import("../types/subscription").SubscriptionEvent, Record<string, import("@awell-health/extensions-core").Setting>>)[];
|
@@ -21,12 +21,12 @@ export declare const SettingsValidationSchema: z.ZodObject<{
|
|
21
21
|
* we currently have today + Formsort's API is in alpha currently.
|
22
22
|
*/
|
23
23
|
apiKey: z.ZodOptional<z.ZodString>;
|
24
|
-
environment: z.ZodEffects<z.ZodOptional<z.ZodEnum<["production", "staging"]>>, "
|
24
|
+
environment: z.ZodEffects<z.ZodOptional<z.ZodEnum<["production", "staging"]>>, "production" | "staging", "production" | "staging" | undefined>;
|
25
25
|
}, "strip", z.ZodTypeAny, {
|
26
|
-
environment: "
|
26
|
+
environment: "production" | "staging";
|
27
27
|
apiKey?: string | undefined;
|
28
28
|
}, {
|
29
|
-
environment?: "staging" | "production" | undefined;
|
30
29
|
apiKey?: string | undefined;
|
30
|
+
environment?: "production" | "staging" | undefined;
|
31
31
|
}>;
|
32
32
|
export declare const validateSettings: (settings: unknown) => z.infer<typeof SettingsValidationSchema>;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { FieldType } from '@awell-health/extensions-core';
|
2
|
+
import { z } from 'zod';
|
2
3
|
export declare const fields: {
|
3
4
|
patientId: {
|
4
5
|
id: string;
|
@@ -34,4 +35,33 @@ export declare const fields: {
|
|
34
35
|
type: FieldType.DATE;
|
35
36
|
required: true;
|
36
37
|
};
|
38
|
+
metadata: {
|
39
|
+
id: string;
|
40
|
+
label: string;
|
41
|
+
description: string;
|
42
|
+
type: FieldType.JSON;
|
43
|
+
required: false;
|
44
|
+
};
|
37
45
|
};
|
46
|
+
export declare const FieldsValidationSchema: z.ZodObject<{
|
47
|
+
patientId: z.ZodString;
|
48
|
+
otherPartyId: z.ZodOptional<z.ZodString>;
|
49
|
+
contactTypeId: z.ZodString;
|
50
|
+
appointmentTypeId: z.ZodString;
|
51
|
+
datetime: z.ZodEffects<z.ZodDate, string, Date>;
|
52
|
+
metadata: z.ZodEffects<z.ZodString, Record<string, any>, string>;
|
53
|
+
}, "strip", z.ZodTypeAny, {
|
54
|
+
patientId: string;
|
55
|
+
metadata: Record<string, any>;
|
56
|
+
datetime: string;
|
57
|
+
contactTypeId: string;
|
58
|
+
appointmentTypeId: string;
|
59
|
+
otherPartyId?: string | undefined;
|
60
|
+
}, {
|
61
|
+
patientId: string;
|
62
|
+
metadata: string;
|
63
|
+
datetime: Date;
|
64
|
+
contactTypeId: string;
|
65
|
+
appointmentTypeId: string;
|
66
|
+
otherPartyId?: string | undefined;
|
67
|
+
}>;
|
@@ -1,7 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.fields = void 0;
|
3
|
+
exports.FieldsValidationSchema = exports.fields = void 0;
|
4
4
|
const extensions_core_1 = require("@awell-health/extensions-core");
|
5
|
+
const lodash_1 = require("lodash");
|
6
|
+
const zod_1 = require("zod");
|
5
7
|
exports.fields = {
|
6
8
|
patientId: {
|
7
9
|
id: 'patientId',
|
@@ -37,5 +39,30 @@ exports.fields = {
|
|
37
39
|
type: extensions_core_1.FieldType.DATE,
|
38
40
|
required: true,
|
39
41
|
},
|
42
|
+
metadata: {
|
43
|
+
id: 'metadata',
|
44
|
+
label: 'Metadata',
|
45
|
+
description: '',
|
46
|
+
type: extensions_core_1.FieldType.JSON,
|
47
|
+
required: false,
|
48
|
+
},
|
40
49
|
};
|
50
|
+
exports.FieldsValidationSchema = zod_1.z.object({
|
51
|
+
patientId: zod_1.z.string().min(1),
|
52
|
+
otherPartyId: zod_1.z.string().optional(),
|
53
|
+
contactTypeId: zod_1.z.string().min(1),
|
54
|
+
appointmentTypeId: zod_1.z.string().min(1),
|
55
|
+
datetime: extensions_core_1.DateTimeSchema,
|
56
|
+
metadata: zod_1.z.string().transform((str, ctx) => {
|
57
|
+
if ((0, lodash_1.isNil)(str) || (0, lodash_1.isEmpty)(str))
|
58
|
+
return {};
|
59
|
+
try {
|
60
|
+
return JSON.parse(str);
|
61
|
+
}
|
62
|
+
catch (e) {
|
63
|
+
ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
|
64
|
+
return zod_1.z.NEVER;
|
65
|
+
}
|
66
|
+
}),
|
67
|
+
});
|
41
68
|
//# sourceMappingURL=fields.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/actions/createAppointment/config/fields.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/actions/createAppointment/config/fields.ts"],"names":[],"mappings":";;;AAAA,mEAIsC;AACtC,mCAAuC;AACvC,6BAAmC;AAEtB,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,yHAAyH;QAC3H,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;IACD,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,yDAAyD;QACtE,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,gCAAc;IACxB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAuB,EAAE;QAC/D,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAA;QACzC,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACvB;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;YACzD,OAAO,OAAC,CAAC,KAAK,CAAA;SACf;IACH,CAAC,CAAC;CAC+C,CAAC,CAAA"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export { fields } from './fields';
|
1
|
+
export { fields, FieldsValidationSchema } from './fields';
|
2
2
|
export { dataPoints } from './dataPoints';
|
@@ -1,8 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.dataPoints = exports.fields = void 0;
|
3
|
+
exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
|
4
4
|
var fields_1 = require("./fields");
|
5
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; } });
|
6
7
|
var dataPoints_1 = require("./dataPoints");
|
7
8
|
Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return dataPoints_1.dataPoints; } });
|
8
9
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/actions/createAppointment/config/index.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/actions/createAppointment/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
|
@@ -2,9 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.createAppointment = void 0;
|
4
4
|
const extensions_core_1 = require("@awell-health/extensions-core");
|
5
|
-
const
|
6
|
-
const sdk_1 = require("../../lib/sdk/generated/sdk");
|
7
|
-
const graphqlClient_1 = require("../../lib/sdk/graphqlClient");
|
5
|
+
const validatePayloadAndCreateSdk_1 = require("../../lib/sdk/validatePayloadAndCreateSdk");
|
8
6
|
const config_1 = require("./config");
|
9
7
|
exports.createAppointment = {
|
10
8
|
key: 'createAppointment',
|
@@ -13,66 +11,26 @@ exports.createAppointment = {
|
|
13
11
|
description: 'Create a 1:1 appointment in Healthie.',
|
14
12
|
fields: config_1.fields,
|
15
13
|
dataPoints: config_1.dataPoints,
|
16
|
-
previewable:
|
14
|
+
previewable: false,
|
17
15
|
onActivityCreated: async (payload, onComplete, onError) => {
|
18
16
|
var _a, _b;
|
19
|
-
const { fields,
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
});
|
37
|
-
}
|
38
|
-
else {
|
39
|
-
await onError({
|
40
|
-
events: [
|
41
|
-
{
|
42
|
-
date: new Date().toISOString(),
|
43
|
-
text: { en: 'API client requires an API url and API key' },
|
44
|
-
error: {
|
45
|
-
category: 'MISSING_SETTINGS',
|
46
|
-
message: 'Missing api url or api key',
|
47
|
-
},
|
48
|
-
},
|
49
|
-
],
|
50
|
-
});
|
51
|
-
}
|
52
|
-
}
|
53
|
-
catch (err) {
|
54
|
-
if (err instanceof errors_1.HealthieError) {
|
55
|
-
const errors = (0, errors_1.mapHealthieToActivityError)(err.errors);
|
56
|
-
await onError({
|
57
|
-
events: errors,
|
58
|
-
});
|
59
|
-
}
|
60
|
-
else {
|
61
|
-
const error = err;
|
62
|
-
await onError({
|
63
|
-
events: [
|
64
|
-
{
|
65
|
-
date: new Date().toISOString(),
|
66
|
-
text: { en: 'Healthie API reported an error' },
|
67
|
-
error: {
|
68
|
-
category: 'SERVER_ERROR',
|
69
|
-
message: error.message,
|
70
|
-
},
|
71
|
-
},
|
72
|
-
],
|
73
|
-
});
|
74
|
-
}
|
75
|
-
}
|
17
|
+
const { fields: { patientId, appointmentTypeId, datetime, contactTypeId, otherPartyId, metadata, }, sdk, } = await (0, validatePayloadAndCreateSdk_1.validatePayloadAndCreateSdk)({
|
18
|
+
fieldsSchema: config_1.FieldsValidationSchema,
|
19
|
+
payload,
|
20
|
+
});
|
21
|
+
const { data } = await sdk.createAppointment({
|
22
|
+
appointment_type_id: appointmentTypeId,
|
23
|
+
contact_type: contactTypeId,
|
24
|
+
other_party_id: otherPartyId,
|
25
|
+
datetime,
|
26
|
+
user_id: patientId,
|
27
|
+
metadata: JSON.stringify(metadata),
|
28
|
+
});
|
29
|
+
await onComplete({
|
30
|
+
data_points: {
|
31
|
+
appointmentId: (_b = (_a = data.createAppointment) === null || _a === void 0 ? void 0 : _a.appointment) === null || _b === void 0 ? void 0 : _b.id,
|
32
|
+
},
|
33
|
+
});
|
76
34
|
},
|
77
35
|
};
|
78
36
|
//# sourceMappingURL=createAppointment.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createAppointment.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/createAppointment/createAppointment.ts"],"names":[],"mappings":";;;AACA,mEAAwD;AACxD,
|
1
|
+
{"version":3,"file":"createAppointment.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/createAppointment/createAppointment.ts"],"names":[],"mappings":";;;AACA,mEAAwD;AACxD,2FAAuF;AAEvF,qCAAqE;AAExD,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,uCAAuC;IACpD,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;;QACvE,MAAM,EACJ,MAAM,EAAE,EACN,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,QAAQ,GACT,EACD,GAAG,GACJ,GAAG,MAAM,IAAA,yDAA2B,EAAC;YACpC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC;YAC3C,mBAAmB,EAAE,iBAAiB;YACtC,YAAY,EAAE,aAAa;YAC3B,cAAc,EAAE,YAAY;YAC5B,QAAQ;YACR,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,aAAa,EAAE,MAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,0CAAE,EAAE;aACvD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,42 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tests_1 = require("../../../../src/tests");
|
4
|
+
const sdk_1 = require("../../lib/sdk/generated/sdk");
|
5
|
+
const sdk_2 = require("../../lib/sdk/generated/__mocks__/sdk");
|
6
|
+
const _1 = require(".");
|
7
|
+
jest.mock('../../lib/sdk/generated/sdk');
|
8
|
+
jest.mock('../../lib/sdk/graphqlClient');
|
9
|
+
describe('Create appointment action', () => {
|
10
|
+
const onComplete = jest.fn();
|
11
|
+
const onError = jest.fn();
|
12
|
+
beforeAll(() => {
|
13
|
+
;
|
14
|
+
sdk_1.getSdk.mockImplementation(sdk_2.mockGetSdk);
|
15
|
+
});
|
16
|
+
beforeEach(() => {
|
17
|
+
jest.clearAllMocks();
|
18
|
+
});
|
19
|
+
test('Should create an appointment', async () => {
|
20
|
+
await _1.createAppointment.onActivityCreated((0, tests_1.generateTestPayload)({
|
21
|
+
fields: {
|
22
|
+
patientId: 'a-patient-id',
|
23
|
+
otherPartyId: 'other-party-id',
|
24
|
+
contactTypeId: 'contact-type-id',
|
25
|
+
appointmentTypeId: 'appointment-type-id',
|
26
|
+
datetime: '2024-07-09T07:49:38Z',
|
27
|
+
metadata: JSON.stringify({ hello: 'world' }),
|
28
|
+
},
|
29
|
+
settings: {
|
30
|
+
apiKey: 'apiKey',
|
31
|
+
apiUrl: 'test-url',
|
32
|
+
},
|
33
|
+
}), onComplete, onError);
|
34
|
+
expect(sdk_2.mockGetSdkReturn.createAppointment).toHaveBeenCalled();
|
35
|
+
expect(onComplete).toHaveBeenCalledWith({
|
36
|
+
data_points: {
|
37
|
+
appointmentId: 'appointment-id-1',
|
38
|
+
},
|
39
|
+
});
|
40
|
+
});
|
41
|
+
});
|
42
|
+
//# sourceMappingURL=createAppointment.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createAppointment.test.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/createAppointment/createAppointment.test.ts"],"names":[],"mappings":";;AAAA,iDAA2D;AAC3D,qDAAoD;AACpD,+DAG8C;AAC9C,wBAAqC;AAErC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;AACxC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;AAExC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,CAAC;QAAC,YAAoB,CAAC,kBAAkB,CAAC,gBAAU,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,oBAAiB,CAAC,iBAAiB,CACvC,IAAA,2BAAmB,EAAC;YAClB,MAAM,EAAE;gBACN,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,gBAAgB;gBAC9B,aAAa,EAAE,iBAAiB;gBAChC,iBAAiB,EAAE,qBAAqB;gBACxC,QAAQ,EAAE,sBAAsB;gBAChC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;aAC7C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,UAAU;aACnB;SACF,CAAC,EACF,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,sBAAgB,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAA;QAC7D,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,aAAa,EAAE,kBAAkB;aAClC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -21,7 +21,7 @@ exports.createMetricEntry = {
|
|
21
21
|
try {
|
22
22
|
const { settings, fields: { userId, category, metricStat }, } = (0, extensions_core_1.validate)({
|
23
23
|
schema: zod_1.z.object({
|
24
|
-
settings: settings_1.
|
24
|
+
settings: settings_1.SettingsValidationSchema,
|
25
25
|
fields: config_1.FieldsValidationSchema,
|
26
26
|
}),
|
27
27
|
payload,
|
@@ -24,7 +24,7 @@ exports.getMetricEntry = {
|
|
24
24
|
try {
|
25
25
|
const { settings, fields: { patientId, category }, } = (0, extensions_core_1.validate)({
|
26
26
|
schema: zod_1.z.object({
|
27
|
-
settings: settings_1.
|
27
|
+
settings: settings_1.SettingsValidationSchema,
|
28
28
|
fields: config_1.FieldsValidationSchema,
|
29
29
|
}),
|
30
30
|
payload,
|
@@ -34,6 +34,13 @@ export declare const actions: {
|
|
34
34
|
type: import("@awell-health/extensions-core").FieldType.DATE;
|
35
35
|
required: true;
|
36
36
|
};
|
37
|
+
metadata: {
|
38
|
+
id: string;
|
39
|
+
label: string;
|
40
|
+
description: string;
|
41
|
+
type: import("@awell-health/extensions-core").FieldType.JSON;
|
42
|
+
required: false;
|
43
|
+
};
|
37
44
|
}, {
|
38
45
|
apiUrl: {
|
39
46
|
key: string;
|
@@ -22,7 +22,7 @@ exports.updatePatientQuickNote = {
|
|
22
22
|
try {
|
23
23
|
const { settings, fields: { patientId, overwrite, quickNote }, } = (0, extensions_core_1.validate)({
|
24
24
|
schema: zod_1.z.object({
|
25
|
-
settings: settings_1.
|
25
|
+
settings: settings_1.SettingsValidationSchema,
|
26
26
|
fields: config_1.FieldsValidationSchema,
|
27
27
|
}),
|
28
28
|
payload,
|
@@ -1 +1,9 @@
|
|
1
|
+
import { z } from 'zod';
|
1
2
|
export declare const mapHealthieGenderToIsoSex: (healthieGender: string | undefined | null) => 0 | 1 | 2;
|
3
|
+
export declare const webhookPayloadSchema: z.ZodObject<{
|
4
|
+
resource_id: z.ZodNumber;
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
6
|
+
resource_id: number;
|
7
|
+
}, {
|
8
|
+
resource_id: number;
|
9
|
+
}>;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.mapHealthieGenderToIsoSex = void 0;
|
3
|
+
exports.webhookPayloadSchema = exports.mapHealthieGenderToIsoSex = void 0;
|
4
|
+
const zod_1 = require("zod");
|
4
5
|
const mapHealthieGenderToIsoSex = (healthieGender) => {
|
5
6
|
const lowercaseGender = healthieGender === null || healthieGender === void 0 ? void 0 : healthieGender.toLowerCase();
|
6
7
|
switch (lowercaseGender) {
|
@@ -15,4 +16,8 @@ const mapHealthieGenderToIsoSex = (healthieGender) => {
|
|
15
16
|
}
|
16
17
|
};
|
17
18
|
exports.mapHealthieGenderToIsoSex = mapHealthieGenderToIsoSex;
|
19
|
+
exports.webhookPayloadSchema = zod_1.z
|
20
|
+
.object({
|
21
|
+
resource_id: zod_1.z.number(),
|
22
|
+
});
|
18
23
|
//# sourceMappingURL=helpers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../extensions/healthie/lib/helpers.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../extensions/healthie/lib/helpers.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEhB,MAAM,yBAAyB,GAAG,CACvC,cAAyC,EAC9B,EAAE;IACb,MAAM,eAAe,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE,CAAA;IACrD,QAAQ,eAAe,EAAE;QACvB,KAAK,GAAG,CAAC;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,CAAA;QACV,KAAK,GAAG,CAAC;QACT,KAAK,MAAM;YACT,OAAO,CAAC,CAAA;QACV;YACE,OAAO,CAAC,CAAA;KACX;AACH,CAAC,CAAA;AAdY,QAAA,yBAAyB,6BAcrC;AAEY,QAAA,oBAAoB,GAAG,OAAC;KACpC,MAAM,CAAC;IACN,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAA"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { type SettingsValues } from '@awell-health/extensions-core';
|
2
|
+
import { type settings } from '../../settings';
|
3
|
+
import { getSdk } from './generated/sdk';
|
4
|
+
type CreateSdkArgs = (args: {
|
5
|
+
settings: SettingsValues<typeof settings>;
|
6
|
+
}) => Promise<{
|
7
|
+
sdk: ReturnType<typeof getSdk>;
|
8
|
+
}>;
|
9
|
+
export declare const createSdk: CreateSdkArgs;
|
10
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createSdk = void 0;
|
4
|
+
const sdk_1 = require("./generated/sdk");
|
5
|
+
const graphqlClient_1 = require("./graphqlClient");
|
6
|
+
// Single function to create the SDK
|
7
|
+
const createSdk = async ({ settings }) => {
|
8
|
+
const client = (0, graphqlClient_1.initialiseClient)(settings);
|
9
|
+
// Check if the client was successfully initialized
|
10
|
+
if (client === undefined) {
|
11
|
+
throw new Error('There was a problem creating the Healthie GraphQL API Client. Please check your extension settings to validate the API URL and API Key.');
|
12
|
+
}
|
13
|
+
const sdk = (0, sdk_1.getSdk)(client);
|
14
|
+
return { sdk };
|
15
|
+
};
|
16
|
+
exports.createSdk = createSdk;
|
17
|
+
//# sourceMappingURL=createSdk.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createSdk.js","sourceRoot":"","sources":["../../../../../extensions/healthie/lib/sdk/createSdk.ts"],"names":[],"mappings":";;;AAEA,yCAAwC;AACxC,mDAAkD;AAQlD,oCAAoC;AAC7B,MAAM,SAAS,GAAkB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAE7D,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC,QAAQ,CAAC,CAAC;IAE1C,mDAAmD;IACnD,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,yIAAyI,CAAC,CAAC;KAC5J;IAED,MAAM,GAAG,GAAG,IAAA,YAAM,EAAC,MAAM,CAAC,CAAC;IAE3B,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB"}
|
@@ -7,3 +7,4 @@ export declare class HealthieError extends Error {
|
|
7
7
|
}
|
8
8
|
export declare const getHealthieErrorFromResponse: (response: Response<unknown> | Error) => FieldError[] | undefined;
|
9
9
|
export declare const mapHealthieToActivityError: (errors?: Array<FieldError | null>) => ActivityEvent[];
|
10
|
+
export declare const formatError: (error?: unknown | Error) => any;
|
@@ -1,7 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.mapHealthieToActivityError = exports.getHealthieErrorFromResponse = exports.HealthieError = void 0;
|
3
|
+
exports.formatError = exports.mapHealthieToActivityError = exports.getHealthieErrorFromResponse = exports.HealthieError = void 0;
|
4
4
|
const lodash_1 = require("lodash");
|
5
|
+
const zod_1 = require("zod");
|
6
|
+
const zod_validation_error_1 = require("zod-validation-error");
|
5
7
|
class HealthieError extends Error {
|
6
8
|
constructor(errors) {
|
7
9
|
super('Error in Healthie: invalid object name or field, or a record is not found.');
|
@@ -39,4 +41,47 @@ const mapHealthieToActivityError = (errors) => {
|
|
39
41
|
}));
|
40
42
|
};
|
41
43
|
exports.mapHealthieToActivityError = mapHealthieToActivityError;
|
44
|
+
const formatError = (error) => {
|
45
|
+
var _a;
|
46
|
+
switch (true) {
|
47
|
+
case (error instanceof zod_1.ZodError): {
|
48
|
+
const err = (0, zod_validation_error_1.fromZodError)(error);
|
49
|
+
return {
|
50
|
+
events: [
|
51
|
+
{
|
52
|
+
date: new Date().toISOString(),
|
53
|
+
text: { en: err.name },
|
54
|
+
error: {
|
55
|
+
category: 'WRONG_INPUT',
|
56
|
+
message: `${err.message}`,
|
57
|
+
},
|
58
|
+
},
|
59
|
+
],
|
60
|
+
};
|
61
|
+
}
|
62
|
+
case (error instanceof HealthieError): {
|
63
|
+
const errors = (0, exports.mapHealthieToActivityError)(error.errors);
|
64
|
+
return {
|
65
|
+
events: errors,
|
66
|
+
};
|
67
|
+
}
|
68
|
+
default: {
|
69
|
+
const err = error;
|
70
|
+
const errMessage = (_a = err.message) !== null && _a !== void 0 ? _a : 'Unable to process the webhook';
|
71
|
+
return {
|
72
|
+
events: [
|
73
|
+
{
|
74
|
+
date: new Date().toISOString(),
|
75
|
+
text: { en: errMessage },
|
76
|
+
error: {
|
77
|
+
category: 'SERVER_ERROR',
|
78
|
+
message: errMessage,
|
79
|
+
},
|
80
|
+
}
|
81
|
+
]
|
82
|
+
};
|
83
|
+
}
|
84
|
+
}
|
85
|
+
};
|
86
|
+
exports.formatError = formatError;
|
42
87
|
//# sourceMappingURL=errors.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../extensions/healthie/lib/sdk/errors.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../extensions/healthie/lib/sdk/errors.ts"],"names":[],"mappings":"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"}
|