@awell-health/awell-extensions 1.0.118 → 1.0.120
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/healthie/actions/getMetricEntry/config/dataPoints.d.ts +14 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/dataPoints.js +18 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/dataPoints.js.map +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/fields.d.ts +18 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/fields.js +18 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/fields.js.map +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/index.d.ts +2 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/index.js +9 -0
- package/dist/extensions/healthie/actions/getMetricEntry/config/index.js.map +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.d.ts +4 -0
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.js +92 -0
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.js.map +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.test.d.ts +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.test.js +39 -0
- package/dist/extensions/healthie/actions/getMetricEntry/getMetricEntry.test.js.map +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/index.d.ts +1 -0
- package/dist/extensions/healthie/actions/getMetricEntry/index.js +6 -0
- package/dist/extensions/healthie/actions/getMetricEntry/index.js.map +1 -0
- package/dist/extensions/healthie/actions/index.d.ts +24 -0
- package/dist/extensions/healthie/actions/index.js +2 -0
- package/dist/extensions/healthie/actions/index.js.map +1 -1
- package/dist/extensions/healthie/gql/sdk.d.ts +20 -0
- package/dist/extensions/healthie/gql/sdk.js +14 -1
- package/dist/extensions/healthie/gql/sdk.js.map +1 -1
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/markdown.json +5 -1
- 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
@@ -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":"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"}
|
@@ -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[];
|