@awell-health/awell-extensions 1.0.118 → 1.0.119
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.
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/markdown.json +4 -0
- package/dist/extensions/zendesk/index.d.ts +2 -0
- package/dist/extensions/zendesk/index.js +42 -0
- package/dist/extensions/zendesk/index.js.map +1 -0
- package/dist/extensions/zendesk/settings.d.ts +17 -0
- package/dist/extensions/zendesk/settings.js +19 -0
- package/dist/extensions/zendesk/settings.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/completeTask.d.ts +4 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/completeTask.js +45 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/completeTask.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/completeTask.test.d.ts +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/completeTask.test.js +30 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/completeTask.test.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/config/fields.d.ts +18 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/config/fields.js +18 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/config/fields.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/config/index.d.ts +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/config/index.js +7 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/config/index.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/index.d.ts +1 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/index.js +6 -0
- package/dist/extensions/zendesk/v1/actions/completeTask/index.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/dataPoints.d.ts +6 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/dataPoints.js +10 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/dataPoints.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/fields.d.ts +80 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/fields.js +71 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/fields.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/index.d.ts +2 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/index.js +9 -0
- package/dist/extensions/zendesk/v1/actions/createTask/config/index.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/createTask.d.ts +4 -0
- package/dist/extensions/zendesk/v1/actions/createTask/createTask.js +52 -0
- package/dist/extensions/zendesk/v1/actions/createTask/createTask.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/createTask.test.d.ts +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/createTask.test.js +44 -0
- package/dist/extensions/zendesk/v1/actions/createTask/createTask.test.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/index.d.ts +1 -0
- package/dist/extensions/zendesk/v1/actions/createTask/index.js +6 -0
- package/dist/extensions/zendesk/v1/actions/createTask/index.js.map +1 -0
- package/dist/extensions/zendesk/v1/actions/index.d.ts +2 -0
- package/dist/extensions/zendesk/v1/actions/index.js +8 -0
- package/dist/extensions/zendesk/v1/actions/index.js.map +1 -0
- package/dist/extensions/zendesk/v1/client/client.d.ts +18 -0
- package/dist/extensions/zendesk/v1/client/client.js +80 -0
- package/dist/extensions/zendesk/v1/client/client.js.map +1 -0
- package/dist/extensions/zendesk/v1/client/error.d.ts +5 -0
- package/dist/extensions/zendesk/v1/client/error.js +50 -0
- package/dist/extensions/zendesk/v1/client/error.js.map +1 -0
- package/dist/extensions/zendesk/v1/client/index.d.ts +2 -0
- package/dist/extensions/zendesk/v1/client/index.js +19 -0
- package/dist/extensions/zendesk/v1/client/index.js.map +1 -0
- package/dist/extensions/zendesk/v1/client/types.d.ts +37 -0
- package/dist/extensions/zendesk/v1/client/types.js +11 -0
- package/dist/extensions/zendesk/v1/client/types.js.map +1 -0
- package/dist/extensions/zendesk/v1/types.d.ts +18 -0
- package/dist/extensions/zendesk/v1/types.js +3 -0
- package/dist/extensions/zendesk/v1/types.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/index.d.ts +1 -1
- package/package.json +2 -2
package/dist/extensions/index.js
CHANGED
@@ -47,6 +47,7 @@ const docuSign_1 = require("./docuSign");
|
|
47
47
|
const sendbird_1 = require("./sendbird");
|
48
48
|
const transform_1 = require("./transform");
|
49
49
|
const iterable_1 = require("./iterable");
|
50
|
+
const zendesk_1 = require("./zendesk");
|
50
51
|
const json = __importStar(require("./markdown.json"));
|
51
52
|
exports.markdown = json;
|
52
53
|
exports.extensions = [
|
@@ -75,5 +76,6 @@ exports.extensions = [
|
|
75
76
|
// ZusHealth is not ready for public use yet
|
76
77
|
// ZusHealth,
|
77
78
|
iterable_1.Iterable,
|
79
|
+
zendesk_1.Zendesk,
|
78
80
|
];
|
79
81
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,yCAAqC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,yCAAqC;AACrC,uCAAmC;AAEnC,sDAAuC;AAG1B,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,aAAK;IACL,qBAAS;IACT,6BAAa;IACb,uBAAU;IACV,yBAAW;IACX,iBAAO;IACP,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,6BAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,4CAA4C;IAC5C,aAAa;IACb,mBAAQ;IACR,iBAAO;CACR,CAAA"}
|
@@ -91,6 +91,10 @@
|
|
91
91
|
"readme": "---\ntitle: Wellinks\ndescription: The purpose of this extension is to keep application logic out of the Pathways and Tracks. Some actions require interactions with the Healthie API, hence the need for the API URL and Key in the settings.\n---\n# Wellinks Extension\n\nThe purpose of this extension is to keep application logic out of the Pathways and Tracks. Some actions require interactions with the Healthie API, hence the need for the API URL and Key in the settings.\n\n## Extension Settings\n\nYou will need to provide the API URL and Key for the Wellinks Healthie instance.\n\n# Custom Actions\n\n## Check for Override\n\nChecks to see if the patient in Healthie has an active Override form.\n\n## Check for Scheduled Appointments\n\nChecks to see if the patient in Healthie has an appointment of a specific type scheduled in the future.\n\n## Check for Chat\n\nChecks that a Chat message (either to or from a patient and coach) has happened at least 24 hours after an appointment\n\n## Insert Member List Event\n\nAdds an Insert Member List Event to the Platform Database.\n\n## Check for Flourish Customer\n\nQueries Flourish to see if there is a record that has a matching ThirdPartyIdentifier. Returns True/False.\n\n## Submit a PAM Survey\n\nSubmits a PAM 13 Survey (completed in the Careflow) to Flourish and returns the PAM Score and Levl.",
|
92
92
|
"changelog": "# Wellinks Changelog\n\n## May 18th, 2023\n\nAdded the checkForOverride action.\n\n## May 19th, 2023\n\nAdded the checkForScheduledAppointment action.\n\n## May 25th, 2023\n\nAdded datapoints for actions\n\n\n## July 6th, 2023\n\nAdded new action to unenroll user from Sendgrid.\n\n## July 16th, 2023\n\nAdded a new action to insert a Member Event List to the Platform DB. This requires setting the platform API URL and API Key values for the extension.\n\n## September 12th, 2023\n\nAdds a new action to check Flourish for a customer with a matching ThirdPartyIdentifier.\n\n## September 18th, 2023\n\nAdds a new action to submit a PAM13 survey to Flourish, returning a PAM Score, level, and whether or not the submission was a success.\n\n## September 19th, 2023\n\nAdds a new action to create a customer in Flourish, returning true or false based on whether or not the creation was a success."
|
93
93
|
},
|
94
|
+
"zendesk": {
|
95
|
+
"readme": "---\ntitle: Zendesk\ndescription: Zendesk is a customer service and support platform that provides a suite of tools and software for businesses to manage their customer interactions.\n---\n\n# Zendesk\n\nZendesk is a customer service and support platform that provides a suite of tools and software for businesses to manage their customer interactions. It offers a range of customer service solutions, including help desk ticketing systems, customer support and engagement, and self-service options. Zendesk is designed to help companies streamline their customer support processes, improve communication with their customers, and resolve issues more efficiently.\n\n## Extension settings\n\nIn order to set up this extension, you will need a **sales API token**. You can visit Zendesk Sales CRM dashboard and go to **Settings > Integration > OAuth** to enable and create an API token.\n\n## Custom Actions\n\n### Create task\n\nCreates a new task. You can create either a floating task or create a related task and associate it with one of the resource types: Leads, Contacts, Deals.\n\n### Complete task\n\nMarks a task as completed.\n",
|
96
|
+
"changelog": "# Zendesk changelog\n"
|
97
|
+
},
|
94
98
|
"zusHealth": {
|
95
99
|
"readme": "---\ntitle: Zus Health\ndescription: Zus is the only shared health data platform designed to accelerate healthcare data interoperability by providing easy-to-use patient data at the point of care via API, embedded components, and direct EHR integrations.\n---\n\n# Zus Health\n\n[Zus Health](https://zushealth.com/) is the only shared health data platform designed to accelerate healthcare data interoperability by providing easy-to-use patient data at the point of care via API, embedded components, and direct EHR integrations.\n\n## Zus Health x Awell\n\nThis extension allows you to fetch resource via webhooks\n\n## Extension settings\n\nFor the extension to function correctly, you must include the following elements in your settings:\n\n`client_id` and `client_secret`: These values are generated on the Zus Health platform.\n`base_url`: This determines the base URL for your FHIR endpoint, for example, https://api.sandbox.zusapi.com/fhir.\n`auth_url`: This determines the base URL for your authorization endpoint, for example, https://zus-sandbox.us.auth0.com/oauth/token.\n`audience`: This determines the API hostname, for example, https://api.sandbox.zusapi.com.\n\n## Webhooks\n\nWebhooks offer a great way to listen to updates to resources in Zus and trigger Awell care flows. These updates include ADT feed events for your patient population, and the relevant Encounter data can then be incorporated in the new flow.\n",
|
96
100
|
"changelog": "# Zus Health changelog\n"
|
@@ -0,0 +1,42 @@
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.Zendesk = void 0;
|
27
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
28
|
+
const actions = __importStar(require("./v1/actions"));
|
29
|
+
const settings_1 = require("./settings");
|
30
|
+
exports.Zendesk = {
|
31
|
+
key: 'zendesk',
|
32
|
+
title: 'Zendesk',
|
33
|
+
icon_url: 'https://res.cloudinary.com/da7x4rzl4/image/upload/v1697013804/Awell%20Extensions/ezgif.com-webp-to-png.png',
|
34
|
+
description: 'Zendesk is a customer service and support platform that provides a suite of tools and software for businesses to manage their customer interactions.',
|
35
|
+
category: extensions_core_1.Category.CUSTOMER_SUPPORT,
|
36
|
+
author: {
|
37
|
+
authorType: extensions_core_1.AuthorType.AWELL,
|
38
|
+
},
|
39
|
+
actions,
|
40
|
+
settings: settings_1.settings,
|
41
|
+
};
|
42
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/zendesk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mEAAoE;AACpE,sDAAuC;AACvC,yCAAqC;AAExB,QAAA,OAAO,GAAc;IAChC,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,QAAQ,EACN,4GAA4G;IAC9G,WAAW,EACT,sJAAsJ;IACxJ,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,KAAK;KAC7B;IACD,OAAO;IACP,QAAQ,EAAR,mBAAQ;CACT,CAAA"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { z } from 'zod';
|
2
|
+
export declare const settings: {
|
3
|
+
salesApiToken: {
|
4
|
+
label: string;
|
5
|
+
key: string;
|
6
|
+
obfuscated: true;
|
7
|
+
required: true;
|
8
|
+
description: string;
|
9
|
+
};
|
10
|
+
};
|
11
|
+
export declare const SettingsValidationSchema: z.ZodObject<{
|
12
|
+
salesApiToken: z.ZodString;
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
14
|
+
salesApiToken: string;
|
15
|
+
}, {
|
16
|
+
salesApiToken: string;
|
17
|
+
}>;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.SettingsValidationSchema = exports.settings = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
exports.settings = {
|
6
|
+
salesApiToken: {
|
7
|
+
label: 'Sales API token',
|
8
|
+
key: 'salesApiToken',
|
9
|
+
obfuscated: true,
|
10
|
+
required: true,
|
11
|
+
description: 'Visit Zendesk Sales CRM dashboard and go to Settings > Integration > OAuth to enable and create an API token',
|
12
|
+
},
|
13
|
+
};
|
14
|
+
exports.SettingsValidationSchema = zod_1.z.object({
|
15
|
+
salesApiToken: zod_1.z.string().nonempty({
|
16
|
+
message: 'Missing "Sales API token" in the extension settings.',
|
17
|
+
}),
|
18
|
+
});
|
19
|
+
//# sourceMappingURL=settings.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/zendesk/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE;QACb,KAAK,EAAE,iBAAiB;QACxB,GAAG,EAAE,eAAe;QACpB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,8GAA8G;KACjH;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,sDAAsD;KAChE,CAAC;CACiD,CAAC,CAAA"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.completeTask = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
6
|
+
const settings_1 = require("../../../settings");
|
7
|
+
const config_1 = require("./config");
|
8
|
+
const client_1 = require("../../client");
|
9
|
+
exports.completeTask = {
|
10
|
+
key: 'completeTask',
|
11
|
+
title: 'Complete a task',
|
12
|
+
description: 'Completes a task in Zendesk',
|
13
|
+
category: extensions_core_1.Category.CUSTOMER_SUPPORT,
|
14
|
+
fields: config_1.fields,
|
15
|
+
previewable: false,
|
16
|
+
onActivityCreated: async (payload, onComplete, onError) => {
|
17
|
+
try {
|
18
|
+
const { settings: { salesApiToken }, fields: { taskId }, } = (0, extensions_core_1.validate)({
|
19
|
+
schema: zod_1.z.object({
|
20
|
+
settings: settings_1.SettingsValidationSchema,
|
21
|
+
fields: config_1.FieldsValidationSchema,
|
22
|
+
}),
|
23
|
+
payload,
|
24
|
+
});
|
25
|
+
const client = new client_1.ZendeskClient({
|
26
|
+
salesApiToken,
|
27
|
+
});
|
28
|
+
await client.salesApi.updateTask(taskId, {
|
29
|
+
completed: true,
|
30
|
+
});
|
31
|
+
await onComplete();
|
32
|
+
}
|
33
|
+
catch (err) {
|
34
|
+
if ((0, client_1.isSalesApiError)(err)) {
|
35
|
+
const events = (0, client_1.salesApiErrorToActivityEvent)(err);
|
36
|
+
await onError({ events });
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
// re-throw to be handled in extensions server
|
40
|
+
throw err;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
},
|
44
|
+
};
|
45
|
+
//# sourceMappingURL=completeTask.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"completeTask.js","sourceRoot":"","sources":["../../../../../../extensions/zendesk/v1/actions/completeTask/completeTask.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAGvB,mEAAkE;AAClE,gDAA4D;AAC5D,qCAAyD;AACzD,yCAIqB;AAER,QAAA,YAAY,GAA2C;IAClE,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,6BAA6B;IAC1C,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,QAAQ,EAAE,EAAE,aAAa,EAAE,EAC3B,MAAM,EAAE,EAAE,MAAM,EAAE,GACnB,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;oBACf,QAAQ,EAAE,mCAAwB;oBAClC,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;gBACF,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAC;gBAC/B,aAAa;aACd,CAAC,CAAA;YAEF,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE;gBACvC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,MAAM,UAAU,EAAE,CAAA;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE;gBACxB,MAAM,MAAM,GAAG,IAAA,qCAA4B,EAAC,GAAG,CAAC,CAAA;gBAChD,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;aAC1B;iBAAM;gBACL,8CAA8C;gBAC9C,MAAM,GAAG,CAAA;aACV;SACF;IACH,CAAC;CACF,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const __mocks__1 = require("../../client/__mocks__");
|
4
|
+
const __1 = require("..");
|
5
|
+
const tests_1 = require("../../../../../src/tests");
|
6
|
+
jest.mock('../../client');
|
7
|
+
describe('Complete task', () => {
|
8
|
+
const onComplete = jest.fn();
|
9
|
+
const onError = jest.fn();
|
10
|
+
const basePayload = (0, tests_1.generateTestPayload)({
|
11
|
+
fields: {
|
12
|
+
taskId: __mocks__1.mockedTaskData.id,
|
13
|
+
},
|
14
|
+
settings: {
|
15
|
+
salesApiToken: 'salesApiToken',
|
16
|
+
},
|
17
|
+
});
|
18
|
+
beforeEach(() => {
|
19
|
+
jest.clearAllMocks();
|
20
|
+
});
|
21
|
+
test('Should call the onComplete callback', async () => {
|
22
|
+
await __1.completeTask.onActivityCreated(basePayload, onComplete, onError);
|
23
|
+
expect(__mocks__1.ZendeskClientMockImplementation.salesApi.updateTask).toHaveBeenCalledWith(basePayload.fields.taskId, {
|
24
|
+
completed: true,
|
25
|
+
});
|
26
|
+
expect(onComplete).toHaveBeenCalledWith();
|
27
|
+
expect(onError).not.toHaveBeenCalled();
|
28
|
+
});
|
29
|
+
});
|
30
|
+
//# sourceMappingURL=completeTask.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"completeTask.test.js","sourceRoot":"","sources":["../../../../../../extensions/zendesk/v1/actions/completeTask/completeTask.test.ts"],"names":[],"mappings":";;AAAA,qDAG+B;AAC/B,0BAAiC;AACjC,oDAA8D;AAE9D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAEzB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,MAAM,WAAW,GAAG,IAAA,2BAAmB,EAAC;QACtC,MAAM,EAAE;YACN,MAAM,EAAE,yBAAc,CAAC,EAAE;SAC1B;QACD,QAAQ,EAAE;YACR,aAAa,EAAE,eAAe;SAC/B;KACF,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,gBAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QAEtE,MAAM,CACJ,0CAA+B,CAAC,QAAQ,CAAC,UAAU,CACpD,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,EAAE,CAAA;QACzC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { z } from 'zod';
|
2
|
+
import { FieldType } from '@awell-health/extensions-core';
|
3
|
+
export declare const fields: {
|
4
|
+
taskId: {
|
5
|
+
label: string;
|
6
|
+
id: string;
|
7
|
+
type: FieldType.NUMERIC;
|
8
|
+
required: true;
|
9
|
+
description: string;
|
10
|
+
};
|
11
|
+
};
|
12
|
+
export declare const FieldsValidationSchema: z.ZodObject<{
|
13
|
+
taskId: z.ZodNumber;
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
15
|
+
taskId: number;
|
16
|
+
}, {
|
17
|
+
taskId: number;
|
18
|
+
}>;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FieldsValidationSchema = exports.fields = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
6
|
+
exports.fields = {
|
7
|
+
taskId: {
|
8
|
+
label: 'Task ID',
|
9
|
+
id: 'taskId',
|
10
|
+
type: extensions_core_1.FieldType.NUMERIC,
|
11
|
+
required: true,
|
12
|
+
description: 'The ID of the task to complete in Zendesk',
|
13
|
+
},
|
14
|
+
};
|
15
|
+
exports.FieldsValidationSchema = zod_1.z.object({
|
16
|
+
taskId: extensions_core_1.NumericIdSchema,
|
17
|
+
});
|
18
|
+
//# sourceMappingURL=fields.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/zendesk/v1/actions/completeTask/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAIsC;AAEzB,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2CAA2C;KACzD;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,iCAAe;CAC0B,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { FieldsValidationSchema, fields } from './fields';
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.fields = exports.FieldsValidationSchema = void 0;
|
4
|
+
var fields_1 = require("./fields");
|
5
|
+
Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
|
6
|
+
Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
|
7
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/zendesk/v1/actions/completeTask/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gHAAA,sBAAsB,OAAA;AAAE,gGAAA,MAAM,OAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { completeTask } from './completeTask';
|
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.completeTask = void 0;
|
4
|
+
var completeTask_1 = require("./completeTask");
|
5
|
+
Object.defineProperty(exports, "completeTask", { enumerable: true, get: function () { return completeTask_1.completeTask; } });
|
6
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/zendesk/v1/actions/completeTask/index.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,4GAAA,YAAY,OAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../../extensions/zendesk/v1/actions/createTask/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { z } from 'zod';
|
2
|
+
import { FieldType, StringType } from '@awell-health/extensions-core';
|
3
|
+
import { ResourceType } from '../../../client/types';
|
4
|
+
export declare const fields: {
|
5
|
+
content: {
|
6
|
+
label: string;
|
7
|
+
id: string;
|
8
|
+
type: FieldType.STRING;
|
9
|
+
stringType: StringType.TEXT;
|
10
|
+
required: true;
|
11
|
+
description: string;
|
12
|
+
};
|
13
|
+
dueDate: {
|
14
|
+
label: string;
|
15
|
+
id: string;
|
16
|
+
type: FieldType.DATE;
|
17
|
+
required: false;
|
18
|
+
description: string;
|
19
|
+
};
|
20
|
+
ownerId: {
|
21
|
+
label: string;
|
22
|
+
id: string;
|
23
|
+
type: FieldType.NUMERIC;
|
24
|
+
required: false;
|
25
|
+
description: string;
|
26
|
+
};
|
27
|
+
resourceType: {
|
28
|
+
label: string;
|
29
|
+
id: string;
|
30
|
+
type: FieldType.STRING;
|
31
|
+
required: false;
|
32
|
+
description: string;
|
33
|
+
};
|
34
|
+
resourceId: {
|
35
|
+
label: string;
|
36
|
+
id: string;
|
37
|
+
type: FieldType.NUMERIC;
|
38
|
+
required: false;
|
39
|
+
description: string;
|
40
|
+
};
|
41
|
+
completed: {
|
42
|
+
label: string;
|
43
|
+
id: string;
|
44
|
+
type: FieldType.BOOLEAN;
|
45
|
+
required: false;
|
46
|
+
description: string;
|
47
|
+
};
|
48
|
+
remindAt: {
|
49
|
+
label: string;
|
50
|
+
id: string;
|
51
|
+
type: FieldType.DATE;
|
52
|
+
required: false;
|
53
|
+
description: string;
|
54
|
+
};
|
55
|
+
};
|
56
|
+
export declare const FieldsValidationSchema: z.ZodObject<{
|
57
|
+
content: z.ZodString;
|
58
|
+
dueDate: z.ZodUnion<[z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
|
59
|
+
ownerId: z.ZodUnion<[z.ZodOptional<z.ZodNumber>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
|
60
|
+
resourceType: z.ZodUnion<[z.ZodOptional<z.ZodEnum<[ResourceType, ...ResourceType[]]>>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
|
61
|
+
resourceId: z.ZodUnion<[z.ZodOptional<z.ZodNumber>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
|
62
|
+
completed: z.ZodOptional<z.ZodBoolean>;
|
63
|
+
remindAt: z.ZodUnion<[z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>, z.ZodEffects<z.ZodLiteral<"">, undefined, "">]>;
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
65
|
+
content: string;
|
66
|
+
dueDate?: string | undefined;
|
67
|
+
ownerId?: number | undefined;
|
68
|
+
resourceType?: ResourceType | undefined;
|
69
|
+
resourceId?: number | undefined;
|
70
|
+
completed?: boolean | undefined;
|
71
|
+
remindAt?: string | undefined;
|
72
|
+
}, {
|
73
|
+
content: string;
|
74
|
+
dueDate?: "" | Date | undefined;
|
75
|
+
ownerId?: number | "" | undefined;
|
76
|
+
resourceType?: "" | ResourceType | undefined;
|
77
|
+
resourceId?: number | "" | undefined;
|
78
|
+
completed?: boolean | undefined;
|
79
|
+
remindAt?: "" | Date | undefined;
|
80
|
+
}>;
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FieldsValidationSchema = exports.fields = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
6
|
+
const types_1 = require("../../../client/types");
|
7
|
+
exports.fields = {
|
8
|
+
content: {
|
9
|
+
label: 'Content',
|
10
|
+
id: 'content',
|
11
|
+
type: extensions_core_1.FieldType.STRING,
|
12
|
+
stringType: extensions_core_1.StringType.TEXT,
|
13
|
+
required: true,
|
14
|
+
description: 'Content of the task.',
|
15
|
+
},
|
16
|
+
dueDate: {
|
17
|
+
label: 'Due date',
|
18
|
+
id: 'dueDate',
|
19
|
+
// Time will be auto-set to 00:00:00 as FieldType.DATE provides only date
|
20
|
+
type: extensions_core_1.FieldType.DATE,
|
21
|
+
required: false,
|
22
|
+
description: '',
|
23
|
+
},
|
24
|
+
ownerId: {
|
25
|
+
label: 'Owner ID',
|
26
|
+
id: 'ownerId',
|
27
|
+
type: extensions_core_1.FieldType.NUMERIC,
|
28
|
+
required: false,
|
29
|
+
description: 'Unique identifier of the user the task is assigned to, defaults to the user who created the task',
|
30
|
+
},
|
31
|
+
resourceType: {
|
32
|
+
label: 'Resource type',
|
33
|
+
id: 'resourceType',
|
34
|
+
type: extensions_core_1.FieldType.STRING,
|
35
|
+
required: false,
|
36
|
+
description: 'Name of the resource type the task is attached to. Possible values: "lead", "contact", "deal".',
|
37
|
+
},
|
38
|
+
resourceId: {
|
39
|
+
label: 'Resource ID',
|
40
|
+
id: 'resourceId',
|
41
|
+
type: extensions_core_1.FieldType.NUMERIC,
|
42
|
+
required: false,
|
43
|
+
description: 'Unique identifier of the resource the task is attached to.',
|
44
|
+
},
|
45
|
+
completed: {
|
46
|
+
label: 'Completed?',
|
47
|
+
id: 'completed',
|
48
|
+
type: extensions_core_1.FieldType.BOOLEAN,
|
49
|
+
required: false,
|
50
|
+
description: 'Indicator of whether the task is completed or not.',
|
51
|
+
},
|
52
|
+
remindAt: {
|
53
|
+
label: 'Remind at',
|
54
|
+
id: 'remindAt',
|
55
|
+
// Time will be auto-set to 00:00:00 as FieldType.DATE provides only date
|
56
|
+
type: extensions_core_1.FieldType.DATE,
|
57
|
+
required: false,
|
58
|
+
description: 'The date at which Zendesk should send you a reminder about the task.',
|
59
|
+
},
|
60
|
+
};
|
61
|
+
const resourceTypeEnum = zod_1.z.enum([types_1.ResourceType.CONTACT, types_1.ResourceType.DEAL, types_1.ResourceType.LEAD]);
|
62
|
+
exports.FieldsValidationSchema = zod_1.z.object({
|
63
|
+
content: zod_1.z.string().nonempty(),
|
64
|
+
dueDate: extensions_core_1.DateTimeOptionalSchema,
|
65
|
+
ownerId: (0, extensions_core_1.makeStringOptional)(extensions_core_1.NumericIdSchema),
|
66
|
+
resourceType: (0, extensions_core_1.makeStringOptional)(resourceTypeEnum),
|
67
|
+
resourceId: (0, extensions_core_1.makeStringOptional)(extensions_core_1.NumericIdSchema),
|
68
|
+
completed: zod_1.z.boolean().optional(),
|
69
|
+
remindAt: extensions_core_1.DateTimeOptionalSchema,
|
70
|
+
});
|
71
|
+
//# sourceMappingURL=fields.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/zendesk/v1/actions/createTask/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAOsC;AACtC,iDAAoD;AAEvC,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,UAAU,EAAE,4BAAU,CAAC,IAAI;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sBAAsB;KACpC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,UAAU;QACjB,EAAE,EAAE,SAAS;QACb,yEAAyE;QACzE,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;KAChB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,UAAU;QACjB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,kGAAkG;KACrG;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,eAAe;QACtB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,gGAAgG;KACnG;IACD,UAAU,EAAE;QACV,KAAK,EAAE,aAAa;QACpB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,4DAA4D;KAC1E;IACD,SAAS,EAAE;QACT,KAAK,EAAE,YAAY;QACnB,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,oDAAoD;KAClE;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,UAAU;QACd,yEAAyE;QACzE,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,sEAAsE;KACzE;CAC8B,CAAA;AAEjC,MAAM,gBAAgB,GAAG,OAAC,CAAC,IAAI,CAG7B,CAAC,oBAAY,CAAC,OAAO,EAAE,oBAAY,CAAC,IAAI,EAAE,oBAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AAElD,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,wCAAsB;IAC/B,OAAO,EAAE,IAAA,oCAAkB,EAAC,iCAAe,CAAC;IAC5C,YAAY,EAAE,IAAA,oCAAkB,EAAC,gBAAgB,CAAC;IAClD,UAAU,EAAE,IAAA,oCAAkB,EAAC,iCAAe,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,wCAAsB;CACiB,CAAC,CAAA"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.dataPoints = exports.fields = exports.FieldsValidationSchema = void 0;
|
4
|
+
var fields_1 = require("./fields");
|
5
|
+
Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
|
6
|
+
Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
|
7
|
+
var dataPoints_1 = require("./dataPoints");
|
8
|
+
Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return dataPoints_1.dataPoints; } });
|
9
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/zendesk/v1/actions/createTask/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gHAAA,sBAAsB,OAAA;AAAE,gGAAA,MAAM,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createTask = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
6
|
+
const settings_1 = require("../../../settings");
|
7
|
+
const config_1 = require("./config");
|
8
|
+
const client_1 = require("../../client");
|
9
|
+
exports.createTask = {
|
10
|
+
key: 'createTask',
|
11
|
+
title: 'Create task',
|
12
|
+
description: 'Creates a new task in Zendesk',
|
13
|
+
category: extensions_core_1.Category.CUSTOMER_SUPPORT,
|
14
|
+
fields: config_1.fields,
|
15
|
+
dataPoints: config_1.dataPoints,
|
16
|
+
previewable: false,
|
17
|
+
onActivityCreated: async (payload, onComplete, onError) => {
|
18
|
+
try {
|
19
|
+
const { settings: { salesApiToken }, fields: { content, dueDate, ownerId, resourceType, resourceId, completed, remindAt, }, } = (0, extensions_core_1.validate)({
|
20
|
+
schema: zod_1.z.object({
|
21
|
+
settings: settings_1.SettingsValidationSchema,
|
22
|
+
fields: config_1.FieldsValidationSchema,
|
23
|
+
}),
|
24
|
+
payload,
|
25
|
+
});
|
26
|
+
const client = new client_1.ZendeskClient({
|
27
|
+
salesApiToken,
|
28
|
+
});
|
29
|
+
const res = await client.salesApi.createTask({
|
30
|
+
content,
|
31
|
+
due_date: dueDate,
|
32
|
+
owner_id: ownerId,
|
33
|
+
resource_type: resourceType,
|
34
|
+
resource_id: resourceId,
|
35
|
+
completed,
|
36
|
+
remind_at: remindAt,
|
37
|
+
});
|
38
|
+
await onComplete({ data_points: { taskId: String(res.data.data.id) } });
|
39
|
+
}
|
40
|
+
catch (err) {
|
41
|
+
if ((0, client_1.isSalesApiError)(err)) {
|
42
|
+
const events = (0, client_1.salesApiErrorToActivityEvent)(err);
|
43
|
+
await onError({ events });
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
// re-throw to be handled in extensions server
|
47
|
+
throw err;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
},
|
51
|
+
};
|
52
|
+
//# sourceMappingURL=createTask.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createTask.js","sourceRoot":"","sources":["../../../../../../extensions/zendesk/v1/actions/createTask/createTask.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAGvB,mEAAkE;AAClE,gDAA4D;AAC5D,qCAAqE;AACrE,yCAIqB;AAER,QAAA,UAAU,GAA2C;IAChE,GAAG,EAAE,YAAY;IACjB,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,+BAA+B;IAC5C,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,QAAQ,EAAE,EAAE,aAAa,EAAE,EAC3B,MAAM,EAAE,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,GACT,GACF,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;oBACf,QAAQ,EAAE,mCAAwB;oBAClC,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;gBACF,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAC;gBAC/B,aAAa;aACd,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC3C,OAAO;gBACP,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,OAAO;gBACjB,aAAa,EAAE,YAAY;gBAC3B,WAAW,EAAE,UAAU;gBACvB,SAAS;gBACT,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;SACxE;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE;gBACxB,MAAM,MAAM,GAAG,IAAA,qCAA4B,EAAC,GAAG,CAAC,CAAA;gBAChD,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;aAC1B;iBAAM;gBACL,8CAA8C;gBAC9C,MAAM,GAAG,CAAA;aACV;SACF;IACH,CAAC;CACF,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const __mocks__1 = require("../../client/__mocks__");
|
4
|
+
const __1 = require("..");
|
5
|
+
const tests_1 = require("../../../../../src/tests");
|
6
|
+
jest.mock('../../client');
|
7
|
+
describe('Create task', () => {
|
8
|
+
const onComplete = jest.fn();
|
9
|
+
const onError = jest.fn();
|
10
|
+
const basePayload = (0, tests_1.generateTestPayload)({
|
11
|
+
fields: {
|
12
|
+
content: __mocks__1.mockedTaskData.content,
|
13
|
+
dueDate: __mocks__1.mockedDates.isoDate,
|
14
|
+
ownerId: __mocks__1.mockedTaskData.owner_id,
|
15
|
+
resourceType: __mocks__1.mockedTaskData.resource_type,
|
16
|
+
resourceId: __mocks__1.mockedTaskData.resource_id,
|
17
|
+
completed: __mocks__1.mockedTaskData.completed,
|
18
|
+
remindAt: __mocks__1.mockedDates.isoDate,
|
19
|
+
},
|
20
|
+
settings: {
|
21
|
+
salesApiToken: 'salesApiToken',
|
22
|
+
},
|
23
|
+
});
|
24
|
+
beforeEach(() => {
|
25
|
+
jest.clearAllMocks();
|
26
|
+
});
|
27
|
+
test('Should call the onComplete callback', async () => {
|
28
|
+
await __1.createTask.onActivityCreated(basePayload, onComplete, onError);
|
29
|
+
expect(__mocks__1.ZendeskClientMockImplementation.salesApi.createTask).toHaveBeenCalledWith({
|
30
|
+
content: __mocks__1.mockedTaskData.content,
|
31
|
+
due_date: __mocks__1.mockedTaskData.due_date,
|
32
|
+
owner_id: __mocks__1.mockedTaskData.owner_id,
|
33
|
+
resource_type: __mocks__1.mockedTaskData.resource_type,
|
34
|
+
resource_id: __mocks__1.mockedTaskData.resource_id,
|
35
|
+
completed: __mocks__1.mockedTaskData.completed,
|
36
|
+
remind_at: __mocks__1.mockedTaskData.remind_at,
|
37
|
+
});
|
38
|
+
expect(onComplete).toHaveBeenCalledWith({
|
39
|
+
data_points: { taskId: String(__mocks__1.mockedTaskData.id) },
|
40
|
+
});
|
41
|
+
expect(onError).not.toHaveBeenCalled();
|
42
|
+
});
|
43
|
+
});
|
44
|
+
//# sourceMappingURL=createTask.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createTask.test.js","sourceRoot":"","sources":["../../../../../../extensions/zendesk/v1/actions/createTask/createTask.test.ts"],"names":[],"mappings":";;AAAA,qDAI+B;AAC/B,0BAA+B;AAC/B,oDAA8D;AAE9D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAEzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,MAAM,WAAW,GAAG,IAAA,2BAAmB,EAAC;QACtC,MAAM,EAAE;YACN,OAAO,EAAE,yBAAc,CAAC,OAAO;YAC/B,OAAO,EAAE,sBAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,yBAAc,CAAC,QAAQ;YAChC,YAAY,EAAE,yBAAc,CAAC,aAAa;YAC1C,UAAU,EAAE,yBAAc,CAAC,WAAW;YACtC,SAAS,EAAE,yBAAc,CAAC,SAAS;YACnC,QAAQ,EAAE,sBAAW,CAAC,OAAO;SAC9B;QACD,QAAQ,EAAE;YACR,aAAa,EAAE,eAAe;SAC/B;KACF,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,cAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QAEpE,MAAM,CACJ,0CAA+B,CAAC,QAAQ,CAAC,UAAU,CACpD,CAAC,oBAAoB,CAAC;YACrB,OAAO,EAAE,yBAAc,CAAC,OAAO;YAC/B,QAAQ,EAAE,yBAAc,CAAC,QAAQ;YACjC,QAAQ,EAAE,yBAAc,CAAC,QAAQ;YACjC,aAAa,EAAE,yBAAc,CAAC,aAAa;YAC3C,WAAW,EAAE,yBAAc,CAAC,WAAW;YACvC,SAAS,EAAE,yBAAc,CAAC,SAAS;YACnC,SAAS,EAAE,yBAAc,CAAC,SAAS;SACpC,CAAC,CAAA;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,yBAAc,CAAC,EAAE,CAAC,EAAE;SACnD,CAAC,CAAA;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { createTask } from './createTask';
|
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createTask = void 0;
|
4
|
+
var createTask_1 = require("./createTask");
|
5
|
+
Object.defineProperty(exports, "createTask", { enumerable: true, get: function () { return createTask_1.createTask; } });
|
6
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/zendesk/v1/actions/createTask/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.completeTask = exports.createTask = void 0;
|
4
|
+
var createTask_1 = require("./createTask");
|
5
|
+
Object.defineProperty(exports, "createTask", { enumerable: true, get: function () { return createTask_1.createTask; } });
|
6
|
+
var completeTask_1 = require("./completeTask");
|
7
|
+
Object.defineProperty(exports, "completeTask", { enumerable: true, get: function () { return completeTask_1.completeTask; } });
|
8
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/zendesk/v1/actions/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+CAA6C;AAApC,4GAAA,YAAY,OAAA"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { type AxiosResponse } from 'axios';
|
2
|
+
import { type Task, type TaskInput } from '../types';
|
3
|
+
import { ResourceType, type SalesApiBody } from './types';
|
4
|
+
declare class ZendeskSalesAPI {
|
5
|
+
private readonly _baseApi;
|
6
|
+
constructor({ apiToken }: {
|
7
|
+
apiToken: string;
|
8
|
+
});
|
9
|
+
createTask: (task: TaskInput) => Promise<AxiosResponse<SalesApiBody<Task, ResourceType.TASK>>>;
|
10
|
+
updateTask: (id: number, task: Partial<TaskInput>) => Promise<AxiosResponse<SalesApiBody<Task, ResourceType.TASK>>>;
|
11
|
+
}
|
12
|
+
export declare class ZendeskClient {
|
13
|
+
readonly salesApi: ZendeskSalesAPI;
|
14
|
+
constructor({ salesApiToken }: {
|
15
|
+
salesApiToken: string;
|
16
|
+
});
|
17
|
+
}
|
18
|
+
export {};
|
@@ -0,0 +1,80 @@
|
|
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.ZendeskClient = void 0;
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
8
|
+
const types_1 = require("./types");
|
9
|
+
class ZendeskBaseAPI {
|
10
|
+
constructor({ baseUrl, apiToken, tokenHeaderKey, }) {
|
11
|
+
this.post = async (url, { body }) => {
|
12
|
+
return await axios_1.default.post(`${this._baseUrl}/${url}`, body, {
|
13
|
+
headers: this._headers,
|
14
|
+
});
|
15
|
+
};
|
16
|
+
this.put = async (url, { body }) => {
|
17
|
+
return await axios_1.default.put(`${this._baseUrl}/${url}`, body, {
|
18
|
+
headers: this._headers,
|
19
|
+
});
|
20
|
+
};
|
21
|
+
this.patch = async (url, { body }) => {
|
22
|
+
return await axios_1.default.patch(`${this._baseUrl}/${url}`, body, {
|
23
|
+
headers: this._headers,
|
24
|
+
});
|
25
|
+
};
|
26
|
+
this.get = async (url) => {
|
27
|
+
return await axios_1.default.get(`${this._baseUrl}/${url}`, {
|
28
|
+
headers: this._headers,
|
29
|
+
});
|
30
|
+
};
|
31
|
+
this.delete = async (url) => {
|
32
|
+
return await axios_1.default.delete(`${this._baseUrl}/${url}`, {
|
33
|
+
headers: this._headers,
|
34
|
+
});
|
35
|
+
};
|
36
|
+
this._baseUrl = baseUrl;
|
37
|
+
this._token = apiToken;
|
38
|
+
this._headers = {
|
39
|
+
'Content-Type': 'application/json; charset=utf8',
|
40
|
+
Accept: ' application/json',
|
41
|
+
[tokenHeaderKey]: this._token,
|
42
|
+
};
|
43
|
+
}
|
44
|
+
}
|
45
|
+
class ZendeskSalesAPI {
|
46
|
+
constructor({ apiToken }) {
|
47
|
+
this.createTask = async (task) => {
|
48
|
+
return await this._baseApi.post('v2/tasks', {
|
49
|
+
body: {
|
50
|
+
data: task,
|
51
|
+
meta: {
|
52
|
+
type: types_1.ResourceType.TASK,
|
53
|
+
},
|
54
|
+
},
|
55
|
+
});
|
56
|
+
};
|
57
|
+
this.updateTask = async (id, task) => {
|
58
|
+
return await this._baseApi.put(`v2/tasks/${id}`, {
|
59
|
+
body: {
|
60
|
+
data: task,
|
61
|
+
meta: {
|
62
|
+
type: types_1.ResourceType.TASK,
|
63
|
+
},
|
64
|
+
},
|
65
|
+
});
|
66
|
+
};
|
67
|
+
this._baseApi = new ZendeskBaseAPI({
|
68
|
+
baseUrl: `https://api.getbase.com`,
|
69
|
+
apiToken: `Bearer ${apiToken}`,
|
70
|
+
tokenHeaderKey: 'Authorization',
|
71
|
+
});
|
72
|
+
}
|
73
|
+
}
|
74
|
+
class ZendeskClient {
|
75
|
+
constructor({ salesApiToken }) {
|
76
|
+
this.salesApi = new ZendeskSalesAPI({ apiToken: salesApiToken });
|
77
|
+
}
|
78
|
+
}
|
79
|
+
exports.ZendeskClient = ZendeskClient;
|
80
|
+
//# sourceMappingURL=client.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../extensions/zendesk/v1/client/client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiD;AAEjD,mCAAyD;AAEzD,MAAM,cAAc;IAKlB,YAAY,EACV,OAAO,EACP,QAAQ,EACR,cAAc,GAKf;QAUD,SAAI,GAAG,KAAK,EACV,GAAW,EACX,EAAE,IAAI,EAAe,EACM,EAAE;YAC7B,OAAO,MAAM,eAAK,CAAC,IAAI,CAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE;gBAC1D,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,QAAG,GAAG,KAAK,EACT,GAAW,EACX,EAAE,IAAI,EAAe,EACM,EAAE;YAC7B,OAAO,MAAM,eAAK,CAAC,GAAG,CAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE;gBACzD,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,UAAK,GAAG,KAAK,EACX,GAAW,EACX,EAAE,IAAI,EAAe,EACM,EAAE;YAC7B,OAAO,MAAM,eAAK,CAAC,KAAK,CAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE;gBAC3D,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,QAAG,GAAG,KAAK,EAAK,GAAW,EAA6B,EAAE;YACxD,OAAO,MAAM,eAAK,CAAC,GAAG,CAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE;gBACnD,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,WAAM,GAAG,KAAK,EAAK,GAAW,EAA6B,EAAE;YAC3D,OAAO,MAAM,eAAK,CAAC,MAAM,CAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE;gBACtD,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;QACJ,CAAC,CAAA;QA9CC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG;YACd,cAAc,EAAE,gCAAgC;YAChD,MAAM,EAAE,mBAAmB;YAC3B,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM;SACrB,CAAA;IACZ,CAAC;CAwCF;AAED,MAAM,eAAe;IAGnB,YAAY,EAAE,QAAQ,EAAwB;QAQ9C,eAAU,GAAG,KAAK,EAChB,IAAe,EACgD,EAAE;YACjE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAG7B,UAAU,EAAE;gBACZ,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,oBAAY,CAAC,IAAI;qBACxB;iBACF;aACF,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,eAAU,GAAG,KAAK,EAChB,EAAU,EACV,IAAwB,EACuC,EAAE;YACjE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAG5B,YAAY,EAAE,EAAE,EAAE;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,oBAAY,CAAC,IAAI;qBACxB;iBACF;aACF,CAAC,CAAA;QACJ,CAAC,CAAA;QAtCC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC;YACjC,OAAO,EAAE,yBAAyB;YAClC,QAAQ,EAAE,UAAU,QAAQ,EAAE;YAC9B,cAAc,EAAE,eAAe;SAChC,CAAC,CAAA;IACJ,CAAC;CAkCF;AAED,MAAa,aAAa;IAGxB,YAAY,EAAE,aAAa,EAA6B;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IAClE,CAAC;CACF;AAND,sCAMC"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { type ActivityEvent } from '@awell-health/extensions-core';
|
2
|
+
import { type AxiosError } from 'axios';
|
3
|
+
import { type SalesApiErrorResponse } from './types';
|
4
|
+
export declare const isSalesApiError: (error: any) => error is AxiosError<SalesApiErrorResponse, any>;
|
5
|
+
export declare const salesApiErrorToActivityEvent: (error: AxiosError<SalesApiErrorResponse>) => ActivityEvent[];
|
@@ -0,0 +1,50 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.salesApiErrorToActivityEvent = exports.isSalesApiError = void 0;
|
4
|
+
const axios_1 = require("axios");
|
5
|
+
const lodash_1 = require("lodash");
|
6
|
+
const zod_1 = require("zod");
|
7
|
+
const salesApiErrorSchema = zod_1.z.object({
|
8
|
+
errors: zod_1.z.array(zod_1.z.object({
|
9
|
+
error: zod_1.z.object({
|
10
|
+
resource: zod_1.z.string().optional(),
|
11
|
+
field: zod_1.z.string().optional(),
|
12
|
+
code: zod_1.z.string(),
|
13
|
+
message: zod_1.z.string(),
|
14
|
+
details: zod_1.z.string().optional(),
|
15
|
+
}),
|
16
|
+
meta: zod_1.z.object({}),
|
17
|
+
})),
|
18
|
+
meta: zod_1.z.object({}),
|
19
|
+
});
|
20
|
+
const isSalesApiError = (error) => {
|
21
|
+
var _a;
|
22
|
+
if ((0, axios_1.isAxiosError)(error)) {
|
23
|
+
const parseResult = salesApiErrorSchema.safeParse((_a = error.response) === null || _a === void 0 ? void 0 : _a.data);
|
24
|
+
return parseResult.success;
|
25
|
+
}
|
26
|
+
return false;
|
27
|
+
};
|
28
|
+
exports.isSalesApiError = isSalesApiError;
|
29
|
+
const salesApiErrorToActivityEvent = (error) => {
|
30
|
+
var _a, _b;
|
31
|
+
const errorData = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data;
|
32
|
+
if ((0, lodash_1.isNil)(errorData) || ((_b = errorData.errors) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
33
|
+
return [];
|
34
|
+
}
|
35
|
+
return errorData.errors.map((error) => {
|
36
|
+
var _a;
|
37
|
+
return {
|
38
|
+
date: new Date().toISOString(),
|
39
|
+
text: {
|
40
|
+
en: (0, lodash_1.isNil)(error.error.details) ? error.error.code : error.error.message,
|
41
|
+
},
|
42
|
+
error: {
|
43
|
+
category: 'SERVER_ERROR',
|
44
|
+
message: (_a = error.error.details) !== null && _a !== void 0 ? _a : error.error.message,
|
45
|
+
},
|
46
|
+
};
|
47
|
+
});
|
48
|
+
};
|
49
|
+
exports.salesApiErrorToActivityEvent = salesApiErrorToActivityEvent;
|
50
|
+
//# sourceMappingURL=error.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../extensions/zendesk/v1/client/error.ts"],"names":[],"mappings":";;;AACA,iCAAqD;AACrD,mCAA8B;AAC9B,6BAAuB;AAGvB,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,OAAC,CAAC,KAAK,CACb,OAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC;QACF,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KACnB,CAAC,CACH;IACD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;CACnB,CAAC,CAAA;AAEK,MAAM,eAAe,GAAG,CAC7B,KAAU,EACkC,EAAE;;IAC9C,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE;QACvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAA;QACvE,OAAO,WAAW,CAAC,OAAO,CAAA;KAC3B;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B;AAEM,MAAM,4BAA4B,GAAG,CAC1C,KAAwC,EACvB,EAAE;;IACnB,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAA;IAEtC,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,MAAM,MAAK,CAAC,EAAE;QACtD,OAAO,EAAE,CAAA;KACV;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;QACpC,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAA,cAAK,EAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;aACxE;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,cAAc;gBACxB,OAAO,EAAE,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,mCAAI,KAAK,CAAC,KAAK,CAAC,OAAO;aACpD;SACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,4BAA4B,gCAqBxC"}
|
@@ -0,0 +1,19 @@
|
|
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("./client"), exports);
|
18
|
+
__exportStar(require("./error"), exports);
|
19
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/zendesk/v1/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,0CAAuB"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
export declare enum ResourceType {
|
2
|
+
LEAD = "lead",
|
3
|
+
CONTACT = "contact",
|
4
|
+
DEAL = "deal",
|
5
|
+
TASK = "task"
|
6
|
+
}
|
7
|
+
export interface SalesApiBody<D, R extends ResourceType> {
|
8
|
+
data: D;
|
9
|
+
meta: {
|
10
|
+
type: R;
|
11
|
+
};
|
12
|
+
}
|
13
|
+
export interface SalesApiErrorResponse {
|
14
|
+
errors: Array<{
|
15
|
+
error: {
|
16
|
+
resource: ResourceType;
|
17
|
+
field: string;
|
18
|
+
code: string;
|
19
|
+
message: string;
|
20
|
+
details: string;
|
21
|
+
};
|
22
|
+
meta: {
|
23
|
+
type: string;
|
24
|
+
links: {
|
25
|
+
more_info: string;
|
26
|
+
};
|
27
|
+
};
|
28
|
+
}>;
|
29
|
+
meta: {
|
30
|
+
type: string;
|
31
|
+
http_status: string;
|
32
|
+
logref: string;
|
33
|
+
links: {
|
34
|
+
more_info: string;
|
35
|
+
};
|
36
|
+
};
|
37
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ResourceType = void 0;
|
4
|
+
var ResourceType;
|
5
|
+
(function (ResourceType) {
|
6
|
+
ResourceType["LEAD"] = "lead";
|
7
|
+
ResourceType["CONTACT"] = "contact";
|
8
|
+
ResourceType["DEAL"] = "deal";
|
9
|
+
ResourceType["TASK"] = "task";
|
10
|
+
})(ResourceType = exports.ResourceType || (exports.ResourceType = {}));
|
11
|
+
//# sourceMappingURL=types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../extensions/zendesk/v1/client/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { type ResourceType } from './client/types';
|
2
|
+
export interface Task {
|
3
|
+
id: number;
|
4
|
+
creator_id: number;
|
5
|
+
owner_id: number;
|
6
|
+
resource_type?: ResourceType;
|
7
|
+
resource_id?: number;
|
8
|
+
completed: boolean;
|
9
|
+
completed_at?: string;
|
10
|
+
due_date?: string;
|
11
|
+
overdue: boolean;
|
12
|
+
remind_at?: string;
|
13
|
+
content: string;
|
14
|
+
created_at: string;
|
15
|
+
updated_at?: string;
|
16
|
+
}
|
17
|
+
export interface TaskInput extends Pick<Required<Task>, 'content'>, Pick<Partial<Task>, 'due_date' | 'owner_id' | 'resource_type' | 'resource_id' | 'completed' | 'remind_at'> {
|
18
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../extensions/zendesk/v1/types.ts"],"names":[],"mappings":""}
|
@@ -1,3 +1,3 @@
|
|
1
1
|
export type { PatientAdmitted } from './patientAdmitted';
|
2
2
|
export type { PatientDischarged } from './patientDischarged';
|
3
|
-
export declare const webhooks: import("@awell-health/extensions-core").Webhook<"eventType" | "
|
3
|
+
export declare const webhooks: import("@awell-health/extensions-core").Webhook<"eventType" | "ownerId" | "resourceId" | "UPID" | "encounterStatus" | "encounterStart" | "HL7EventType" | "HL7EventTypeDescription" | "HL7EventTypeFull", import("./types").AdtEventWebhookPayload>[];
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@awell-health/awell-extensions",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.119",
|
4
4
|
"packageManager": "yarn@3.4.1",
|
5
5
|
"main": "dist/src/index.js",
|
6
6
|
"repository": {
|
@@ -61,7 +61,7 @@
|
|
61
61
|
"typescript": "4.9.5"
|
62
62
|
},
|
63
63
|
"dependencies": {
|
64
|
-
"@awell-health/extensions-core": "0.1.
|
64
|
+
"@awell-health/extensions-core": "0.1.22",
|
65
65
|
"@dropbox/sign": "^1.1.3",
|
66
66
|
"@mailchimp/mailchimp_transactional": "^1.0.50",
|
67
67
|
"@metriport/api": "^3.1.5",
|