n8n-nodes-yourang 0.2.0 → 0.3.0
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/nodes/Yourang/Yourang.node.js +22 -342
- package/dist/nodes/Yourang/Yourang.node.js.map +1 -1
- package/dist/nodes/Yourang/YourangDescription.js +12 -928
- package/dist/nodes/Yourang/YourangDescription.js.map +1 -1
- package/dist/nodes/Yourang/descriptions/action.description.d.ts +3 -0
- package/dist/nodes/Yourang/descriptions/action.description.js +355 -0
- package/dist/nodes/Yourang/descriptions/action.description.js.map +1 -0
- package/dist/nodes/Yourang/descriptions/callHistory.description.d.ts +3 -0
- package/dist/nodes/Yourang/descriptions/callHistory.description.js +205 -0
- package/dist/nodes/Yourang/descriptions/callHistory.description.js.map +1 -0
- package/dist/nodes/Yourang/descriptions/contact.description.d.ts +3 -0
- package/dist/nodes/Yourang/descriptions/contact.description.js +341 -0
- package/dist/nodes/Yourang/descriptions/contact.description.js.map +1 -0
- package/dist/nodes/Yourang/descriptions/event.description.d.ts +3 -0
- package/dist/nodes/Yourang/descriptions/event.description.js +283 -0
- package/dist/nodes/Yourang/descriptions/event.description.js.map +1 -0
- package/dist/nodes/Yourang/resources/ActionHandler.d.ts +12 -0
- package/dist/nodes/Yourang/resources/ActionHandler.js +107 -0
- package/dist/nodes/Yourang/resources/ActionHandler.js.map +1 -0
- package/dist/nodes/Yourang/resources/BaseResourceHandler.d.ts +26 -0
- package/dist/nodes/Yourang/resources/BaseResourceHandler.js +74 -0
- package/dist/nodes/Yourang/resources/BaseResourceHandler.js.map +1 -0
- package/dist/nodes/Yourang/resources/CallHistoryHandler.d.ts +8 -0
- package/dist/nodes/Yourang/resources/CallHistoryHandler.js +61 -0
- package/dist/nodes/Yourang/resources/CallHistoryHandler.js.map +1 -0
- package/dist/nodes/Yourang/resources/ContactHandler.d.ts +13 -0
- package/dist/nodes/Yourang/resources/ContactHandler.js +144 -0
- package/dist/nodes/Yourang/resources/ContactHandler.js.map +1 -0
- package/dist/nodes/Yourang/resources/EventHandler.d.ts +10 -0
- package/dist/nodes/Yourang/resources/EventHandler.js +94 -0
- package/dist/nodes/Yourang/resources/EventHandler.js.map +1 -0
- package/dist/package.json +16 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -2
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActionHandler = void 0;
|
|
4
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
5
|
+
class ActionHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
6
|
+
async execute(operation, itemIndex) {
|
|
7
|
+
switch (operation) {
|
|
8
|
+
case 'listActions':
|
|
9
|
+
return this.listActions();
|
|
10
|
+
case 'executeSingle':
|
|
11
|
+
return this.executeSingle(itemIndex);
|
|
12
|
+
case 'executeBatchNumbers':
|
|
13
|
+
return this.executeBatchNumbers(itemIndex);
|
|
14
|
+
case 'executeBatchContacts':
|
|
15
|
+
return this.executeBatchContacts(itemIndex);
|
|
16
|
+
case 'getActionHistory':
|
|
17
|
+
return this.getActionHistory(itemIndex);
|
|
18
|
+
case 'getActionHistoryDetails':
|
|
19
|
+
return this.getActionHistoryDetails(itemIndex);
|
|
20
|
+
case 'getBatchHistory':
|
|
21
|
+
return this.getBatchHistory(itemIndex);
|
|
22
|
+
case 'getBatchHistoryDetails':
|
|
23
|
+
return this.getBatchHistoryDetails(itemIndex);
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Unknown operation: ${operation}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async listActions() {
|
|
29
|
+
return this.httpRequest({
|
|
30
|
+
method: 'GET',
|
|
31
|
+
url: `${this.baseUrl}/actions/`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async executeSingle(itemIndex) {
|
|
35
|
+
const configurationId = this.getParameter('configurationId', itemIndex);
|
|
36
|
+
const toNumber = this.getParameter('to_number', itemIndex);
|
|
37
|
+
return this.httpRequest({
|
|
38
|
+
method: 'POST',
|
|
39
|
+
url: `${this.baseUrl}/actions/${configurationId}/execute`,
|
|
40
|
+
body: { to_number: toNumber },
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async executeBatchNumbers(itemIndex) {
|
|
44
|
+
const configurationId = this.getParameter('configurationId', itemIndex);
|
|
45
|
+
const toNumbersString = this.getParameter('to_numbers', itemIndex);
|
|
46
|
+
const toNumbers = this.parseMultilineToArray(toNumbersString);
|
|
47
|
+
return this.httpRequest({
|
|
48
|
+
method: 'POST',
|
|
49
|
+
url: `${this.baseUrl}/actions/${configurationId}/batch/numbers`,
|
|
50
|
+
body: { to_numbers: toNumbers },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async executeBatchContacts(itemIndex) {
|
|
54
|
+
const configurationId = this.getParameter('configurationId', itemIndex);
|
|
55
|
+
const contactIdsString = this.getParameter('contact_ids', itemIndex);
|
|
56
|
+
const contactIds = this.parseMultilineToArray(contactIdsString);
|
|
57
|
+
return this.httpRequest({
|
|
58
|
+
method: 'POST',
|
|
59
|
+
url: `${this.baseUrl}/actions/${configurationId}/batch/contacts`,
|
|
60
|
+
body: { contact_ids: contactIds },
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async getActionHistory(itemIndex) {
|
|
64
|
+
const { limit } = this.getPaginationParams(itemIndex);
|
|
65
|
+
const offset = this.getParameter('offset', itemIndex, 0);
|
|
66
|
+
const filters = this.getParameter('filters', itemIndex, {});
|
|
67
|
+
const qs = this.buildQueryParams({
|
|
68
|
+
limit,
|
|
69
|
+
offset,
|
|
70
|
+
sort: filters.sort,
|
|
71
|
+
configuration_id: filters.configuration_id,
|
|
72
|
+
batch_id: filters.batch_id,
|
|
73
|
+
status: filters.status,
|
|
74
|
+
quality_text: filters.quality_text,
|
|
75
|
+
});
|
|
76
|
+
return this.httpRequest({
|
|
77
|
+
method: 'GET',
|
|
78
|
+
url: `${this.baseUrl}/actions/history`,
|
|
79
|
+
qs,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async getActionHistoryDetails(itemIndex) {
|
|
83
|
+
const actionHistoryId = this.getParameter('actionHistoryId', itemIndex);
|
|
84
|
+
return this.httpRequest({
|
|
85
|
+
method: 'GET',
|
|
86
|
+
url: `${this.baseUrl}/actions/history/${actionHistoryId}`,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
async getBatchHistory(itemIndex) {
|
|
90
|
+
const { limit } = this.getPaginationParams(itemIndex);
|
|
91
|
+
const qs = this.buildQueryParams({ limit });
|
|
92
|
+
return this.httpRequest({
|
|
93
|
+
method: 'GET',
|
|
94
|
+
url: `${this.baseUrl}/actions/batch-history`,
|
|
95
|
+
qs,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async getBatchHistoryDetails(itemIndex) {
|
|
99
|
+
const batchExecuteId = this.getParameter('batchExecuteId', itemIndex);
|
|
100
|
+
return this.httpRequest({
|
|
101
|
+
method: 'GET',
|
|
102
|
+
url: `${this.baseUrl}/actions/batch-history/${batchExecuteId}`,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.ActionHandler = ActionHandler;
|
|
107
|
+
//# sourceMappingURL=ActionHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionHandler.js","sourceRoot":"","sources":["../../../../nodes/Yourang/resources/ActionHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IExecuteFunctions, IDataObject, IHttpRequestMethods } from 'n8n-workflow';
|
|
2
|
+
export declare abstract class BaseResourceHandler {
|
|
3
|
+
protected context: IExecuteFunctions;
|
|
4
|
+
protected baseUrl: string;
|
|
5
|
+
constructor(context: IExecuteFunctions, baseUrl: string);
|
|
6
|
+
abstract execute(operation: string, itemIndex: number): Promise<any>;
|
|
7
|
+
protected getParameter<T = any>(parameterName: string, itemIndex: number, defaultValue?: T): T;
|
|
8
|
+
protected httpRequest(options: {
|
|
9
|
+
method: IHttpRequestMethods;
|
|
10
|
+
url: string;
|
|
11
|
+
body?: IDataObject;
|
|
12
|
+
qs?: IDataObject;
|
|
13
|
+
}): Promise<any>;
|
|
14
|
+
protected buildBody(fields: Array<{
|
|
15
|
+
param: string;
|
|
16
|
+
bodyKey?: string;
|
|
17
|
+
required?: boolean;
|
|
18
|
+
}>, itemIndex: number): IDataObject;
|
|
19
|
+
protected buildQueryParams(params: IDataObject): IDataObject;
|
|
20
|
+
protected getPaginationParams(itemIndex: number): {
|
|
21
|
+
returnAll: boolean;
|
|
22
|
+
limit?: number;
|
|
23
|
+
};
|
|
24
|
+
protected extractDate(dateTime: string): string;
|
|
25
|
+
protected parseMultilineToArray(input: string): string[];
|
|
26
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseResourceHandler = void 0;
|
|
4
|
+
class BaseResourceHandler {
|
|
5
|
+
constructor(context, baseUrl) {
|
|
6
|
+
this.context = context;
|
|
7
|
+
this.baseUrl = baseUrl;
|
|
8
|
+
}
|
|
9
|
+
getParameter(parameterName, itemIndex, defaultValue) {
|
|
10
|
+
return this.context.getNodeParameter(parameterName, itemIndex, defaultValue);
|
|
11
|
+
}
|
|
12
|
+
async httpRequest(options) {
|
|
13
|
+
return await this.context.helpers.httpRequestWithAuthentication.call(this.context, 'yourangApi', {
|
|
14
|
+
method: options.method,
|
|
15
|
+
url: options.url,
|
|
16
|
+
body: options.body,
|
|
17
|
+
qs: options.qs,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
buildBody(fields, itemIndex) {
|
|
21
|
+
const body = {};
|
|
22
|
+
const missingFields = [];
|
|
23
|
+
for (const field of fields) {
|
|
24
|
+
const value = this.getParameter(field.param, itemIndex, '');
|
|
25
|
+
const key = field.bodyKey || field.param;
|
|
26
|
+
const isEmptyString = typeof value === 'string' && value.trim() === '';
|
|
27
|
+
if (field.required && (!value || isEmptyString)) {
|
|
28
|
+
missingFields.push(field.param);
|
|
29
|
+
}
|
|
30
|
+
if (value && !isEmptyString) {
|
|
31
|
+
body[key] = value;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (missingFields.length > 0) {
|
|
35
|
+
throw new Error(`Missing required fields: ${missingFields.join(', ')}`);
|
|
36
|
+
}
|
|
37
|
+
return body;
|
|
38
|
+
}
|
|
39
|
+
buildQueryParams(params) {
|
|
40
|
+
const qs = {};
|
|
41
|
+
for (const [key, value] of Object.entries(params)) {
|
|
42
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
43
|
+
qs[key] = value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return qs;
|
|
47
|
+
}
|
|
48
|
+
getPaginationParams(itemIndex) {
|
|
49
|
+
const returnAll = this.getParameter('returnAll', itemIndex, false);
|
|
50
|
+
const limit = returnAll ? undefined : this.getParameter('limit', itemIndex, 50);
|
|
51
|
+
return { returnAll, limit };
|
|
52
|
+
}
|
|
53
|
+
extractDate(dateTime) {
|
|
54
|
+
if (!dateTime || typeof dateTime !== 'string')
|
|
55
|
+
return '';
|
|
56
|
+
const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
|
|
57
|
+
if (dateOnlyPattern.test(dateTime.trim())) {
|
|
58
|
+
return dateTime.trim();
|
|
59
|
+
}
|
|
60
|
+
const parts = dateTime.split('T');
|
|
61
|
+
if (parts.length > 0 && dateOnlyPattern.test(parts[0])) {
|
|
62
|
+
return parts[0];
|
|
63
|
+
}
|
|
64
|
+
return '';
|
|
65
|
+
}
|
|
66
|
+
parseMultilineToArray(input) {
|
|
67
|
+
return input
|
|
68
|
+
.split('\n')
|
|
69
|
+
.map(line => line.trim())
|
|
70
|
+
.filter(line => line.length > 0);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.BaseResourceHandler = BaseResourceHandler;
|
|
74
|
+
//# sourceMappingURL=BaseResourceHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseResourceHandler.js","sourceRoot":"","sources":["../../../../nodes/Yourang/resources/BaseResourceHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseResourceHandler } from './BaseResourceHandler';
|
|
2
|
+
export declare class CallHistoryHandler extends BaseResourceHandler {
|
|
3
|
+
execute(operation: string, itemIndex: number): Promise<any>;
|
|
4
|
+
private getCall;
|
|
5
|
+
private getAllCalls;
|
|
6
|
+
private getTranscript;
|
|
7
|
+
private getSummary;
|
|
8
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CallHistoryHandler = void 0;
|
|
4
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
5
|
+
class CallHistoryHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
6
|
+
async execute(operation, itemIndex) {
|
|
7
|
+
switch (operation) {
|
|
8
|
+
case 'get':
|
|
9
|
+
return this.getCall(itemIndex);
|
|
10
|
+
case 'getAll':
|
|
11
|
+
return this.getAllCalls(itemIndex);
|
|
12
|
+
case 'getTranscript':
|
|
13
|
+
return this.getTranscript(itemIndex);
|
|
14
|
+
case 'getSummary':
|
|
15
|
+
return this.getSummary(itemIndex);
|
|
16
|
+
default:
|
|
17
|
+
throw new Error(`Unknown operation: ${operation}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async getCall(itemIndex) {
|
|
21
|
+
const callId = this.getParameter('callId', itemIndex);
|
|
22
|
+
return this.httpRequest({
|
|
23
|
+
method: 'GET',
|
|
24
|
+
url: `${this.baseUrl}/call-history/${callId}`,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async getAllCalls(itemIndex) {
|
|
28
|
+
const { limit } = this.getPaginationParams(itemIndex);
|
|
29
|
+
const filters = this.getParameter('filters', itemIndex, {});
|
|
30
|
+
const qs = this.buildQueryParams({
|
|
31
|
+
limit,
|
|
32
|
+
sort: filters.sort,
|
|
33
|
+
call_type: filters.call_type,
|
|
34
|
+
call_status: filters.call_status,
|
|
35
|
+
is_outbound: filters.is_outbound,
|
|
36
|
+
phone_number: filters.phone_number,
|
|
37
|
+
contact_id: filters.contact_id,
|
|
38
|
+
});
|
|
39
|
+
return this.httpRequest({
|
|
40
|
+
method: 'GET',
|
|
41
|
+
url: `${this.baseUrl}/call-history`,
|
|
42
|
+
qs,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async getTranscript(itemIndex) {
|
|
46
|
+
const callId = this.getParameter('callId', itemIndex);
|
|
47
|
+
return this.httpRequest({
|
|
48
|
+
method: 'GET',
|
|
49
|
+
url: `${this.baseUrl}/call-history/${callId}/transcript`,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async getSummary(itemIndex) {
|
|
53
|
+
const callId = this.getParameter('callId', itemIndex);
|
|
54
|
+
return this.httpRequest({
|
|
55
|
+
method: 'GET',
|
|
56
|
+
url: `${this.baseUrl}/call-history/${callId}/summary`,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.CallHistoryHandler = CallHistoryHandler;
|
|
61
|
+
//# sourceMappingURL=CallHistoryHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallHistoryHandler.js","sourceRoot":"","sources":["../../../../nodes/Yourang/resources/CallHistoryHandler.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAK5D,MAAa,kBAAmB,SAAQ,yCAAmB;IAI1D,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAiB;QACjD,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,KAAK;gBACT,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACpC,KAAK,eAAe;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtC,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnC;gBACC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAKO,KAAK,CAAC,OAAO,CAAC,SAAiB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,iBAAiB,MAAM,EAAE;SAC7C,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,WAAW,CAAC,SAAiB;QAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAc,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAEzE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAChC,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,eAAe;YACnC,EAAE;SACF,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,iBAAiB,MAAM,aAAa;SACxD,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,UAAU,CAAC,SAAiB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,iBAAiB,MAAM,UAAU;SACrD,CAAC,CAAC;IACJ,CAAC;CACD;AA9ED,gDA8EC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseResourceHandler } from './BaseResourceHandler';
|
|
2
|
+
export declare class ContactHandler extends BaseResourceHandler {
|
|
3
|
+
execute(operation: string, itemIndex: number): Promise<any>;
|
|
4
|
+
private create;
|
|
5
|
+
private update;
|
|
6
|
+
private get;
|
|
7
|
+
private delete;
|
|
8
|
+
private getAll;
|
|
9
|
+
private getByPhone;
|
|
10
|
+
private updateByPhone;
|
|
11
|
+
private deleteByPhone;
|
|
12
|
+
private buildContactSearchParams;
|
|
13
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContactHandler = void 0;
|
|
4
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
5
|
+
class ContactHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
6
|
+
async execute(operation, itemIndex) {
|
|
7
|
+
switch (operation) {
|
|
8
|
+
case 'create':
|
|
9
|
+
return this.create(itemIndex);
|
|
10
|
+
case 'update':
|
|
11
|
+
return this.update(itemIndex);
|
|
12
|
+
case 'get':
|
|
13
|
+
return this.get(itemIndex);
|
|
14
|
+
case 'delete':
|
|
15
|
+
return this.delete(itemIndex);
|
|
16
|
+
case 'getAll':
|
|
17
|
+
return this.getAll(itemIndex);
|
|
18
|
+
case 'getByPhone':
|
|
19
|
+
return this.getByPhone(itemIndex);
|
|
20
|
+
case 'updateByPhone':
|
|
21
|
+
return this.updateByPhone(itemIndex);
|
|
22
|
+
case 'deleteByPhone':
|
|
23
|
+
return this.deleteByPhone(itemIndex);
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Unknown operation: ${operation}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async create(itemIndex) {
|
|
29
|
+
const body = this.buildBody([
|
|
30
|
+
{ param: 'first_name', required: true },
|
|
31
|
+
{ param: 'phone_number', required: true },
|
|
32
|
+
{ param: 'last_name' },
|
|
33
|
+
{ param: 'email' },
|
|
34
|
+
{ param: 'address' },
|
|
35
|
+
], itemIndex);
|
|
36
|
+
return this.httpRequest({
|
|
37
|
+
method: 'POST',
|
|
38
|
+
url: `${this.baseUrl}/contacts`,
|
|
39
|
+
body,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async update(itemIndex) {
|
|
43
|
+
const contactId = this.getParameter('contactId', itemIndex);
|
|
44
|
+
const body = this.buildBody([
|
|
45
|
+
{ param: 'first_name' },
|
|
46
|
+
{ param: 'last_name' },
|
|
47
|
+
{ param: 'phone_number' },
|
|
48
|
+
{ param: 'email' },
|
|
49
|
+
{ param: 'address' },
|
|
50
|
+
], itemIndex);
|
|
51
|
+
return this.httpRequest({
|
|
52
|
+
method: 'PUT',
|
|
53
|
+
url: `${this.baseUrl}/contacts/${contactId}`,
|
|
54
|
+
body,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async get(itemIndex) {
|
|
58
|
+
const contactId = this.getParameter('contactId', itemIndex);
|
|
59
|
+
return this.httpRequest({
|
|
60
|
+
method: 'GET',
|
|
61
|
+
url: `${this.baseUrl}/contacts/${contactId}`,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
async delete(itemIndex) {
|
|
65
|
+
const contactId = this.getParameter('contactId', itemIndex);
|
|
66
|
+
return this.httpRequest({
|
|
67
|
+
method: 'DELETE',
|
|
68
|
+
url: `${this.baseUrl}/contacts/${contactId}`,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async getAll(itemIndex) {
|
|
72
|
+
const { limit } = this.getPaginationParams(itemIndex);
|
|
73
|
+
const search = this.getParameter('search', itemIndex, {});
|
|
74
|
+
search.advancedFilter = this.getParameter('advancedFilter', itemIndex, '');
|
|
75
|
+
const qs = this.buildContactSearchParams(search, limit);
|
|
76
|
+
return this.httpRequest({
|
|
77
|
+
method: 'GET',
|
|
78
|
+
url: `${this.baseUrl}/contacts`,
|
|
79
|
+
qs,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async getByPhone(itemIndex) {
|
|
83
|
+
const phoneNumber = this.getParameter('phoneNumberLookup', itemIndex);
|
|
84
|
+
return this.httpRequest({
|
|
85
|
+
method: 'GET',
|
|
86
|
+
url: `${this.baseUrl}/contacts/by-phone/${encodeURIComponent(phoneNumber)}`,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
async updateByPhone(itemIndex) {
|
|
90
|
+
const phoneNumber = this.getParameter('phoneNumberLookup', itemIndex);
|
|
91
|
+
const body = this.buildBody([
|
|
92
|
+
{ param: 'first_name' },
|
|
93
|
+
{ param: 'last_name' },
|
|
94
|
+
{ param: 'phone_number' },
|
|
95
|
+
{ param: 'email' },
|
|
96
|
+
{ param: 'address' },
|
|
97
|
+
], itemIndex);
|
|
98
|
+
return this.httpRequest({
|
|
99
|
+
method: 'PUT',
|
|
100
|
+
url: `${this.baseUrl}/contacts/by-phone/${encodeURIComponent(phoneNumber)}`,
|
|
101
|
+
body,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async deleteByPhone(itemIndex) {
|
|
105
|
+
const phoneNumber = this.getParameter('phoneNumberLookup', itemIndex);
|
|
106
|
+
return this.httpRequest({
|
|
107
|
+
method: 'DELETE',
|
|
108
|
+
url: `${this.baseUrl}/contacts/by-phone/${encodeURIComponent(phoneNumber)}`,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
buildContactSearchParams(search, limit) {
|
|
112
|
+
const qs = {};
|
|
113
|
+
if (limit) {
|
|
114
|
+
qs.limit = limit;
|
|
115
|
+
}
|
|
116
|
+
const advancedFilter = search.advancedFilter;
|
|
117
|
+
if (advancedFilter && advancedFilter.trim()) {
|
|
118
|
+
qs.filter = advancedFilter.trim();
|
|
119
|
+
if (search.sort) {
|
|
120
|
+
qs.sort = search.sort;
|
|
121
|
+
}
|
|
122
|
+
return qs;
|
|
123
|
+
}
|
|
124
|
+
const filterArray = [];
|
|
125
|
+
if (search.first_name)
|
|
126
|
+
filterArray.push(`first_name:${search.first_name}`);
|
|
127
|
+
if (search.last_name)
|
|
128
|
+
filterArray.push(`last_name:${search.last_name}`);
|
|
129
|
+
if (search.email)
|
|
130
|
+
filterArray.push(`email:${search.email}`);
|
|
131
|
+
if (search.phone_number)
|
|
132
|
+
filterArray.push(`phone_number:${search.phone_number}`);
|
|
133
|
+
if (filterArray.length > 0) {
|
|
134
|
+
const combineOperator = search.combineOperation || '&';
|
|
135
|
+
qs.filter = filterArray.join(combineOperator);
|
|
136
|
+
}
|
|
137
|
+
if (search.sort) {
|
|
138
|
+
qs.sort = search.sort;
|
|
139
|
+
}
|
|
140
|
+
return qs;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.ContactHandler = ContactHandler;
|
|
144
|
+
//# sourceMappingURL=ContactHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactHandler.js","sourceRoot":"","sources":["../../../../nodes/Yourang/resources/ContactHandler.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAK5D,MAAa,cAAe,SAAQ,yCAAmB;IAItD,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAiB;QACjD,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,KAAK;gBACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnC,KAAK,eAAe;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtC,KAAK,eAAe;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtC;gBACC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAKO,KAAK,CAAC,MAAM,CAAC,SAAiB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzC,EAAE,KAAK,EAAE,WAAW,EAAE;YACtB,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,KAAK,EAAE,SAAS,EAAE;SACpB,EAAE,SAAS,CAAC,CAAC;QAEd,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,WAAW;YAC/B,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,MAAM,CAAC,SAAiB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAS,WAAW,EAAE,SAAS,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,EAAE,KAAK,EAAE,YAAY,EAAE;YACvB,EAAE,KAAK,EAAE,WAAW,EAAE;YACtB,EAAE,KAAK,EAAE,cAAc,EAAE;YACzB,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,KAAK,EAAE,SAAS,EAAE;SACpB,EAAE,SAAS,CAAC,CAAC;QAEd,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,EAAE;YAC5C,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,GAAG,CAAC,SAAiB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAS,WAAW,EAAE,SAAS,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,EAAE;SAC5C,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,MAAM,CAAC,SAAiB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAS,WAAW,EAAE,SAAS,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,EAAE;SAC5C,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,MAAM,CAAC,SAAiB;QACrC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAc,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAGvE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAS,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAEnF,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,WAAW;YAC/B,EAAE;SACF,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,UAAU,CAAC,SAAiB;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAS,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE;SAC3E,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAS,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,EAAE,KAAK,EAAE,YAAY,EAAE;YACvB,EAAE,KAAK,EAAE,WAAW,EAAE;YACtB,EAAE,KAAK,EAAE,cAAc,EAAE;YACzB,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,KAAK,EAAE,SAAS,EAAE;SACpB,EAAE,SAAS,CAAC,CAAC;QAEd,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE;YAC3E,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAS,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,WAAW,CAAC;YACvB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE;SAC3E,CAAC,CAAC;IACJ,CAAC;IAoBO,wBAAwB,CAAC,MAAmB,EAAE,KAAc;QACnE,MAAM,EAAE,GAAgB,EAAE,CAAC;QAE3B,IAAI,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC;QAGD,MAAM,cAAc,GAAG,MAAM,CAAC,cAAwB,CAAC;QACvD,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAE7C,EAAE,CAAC,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAGlC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,CAAC;YAED,OAAO,EAAE,CAAC;QACX,CAAC;QAGD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU;YAAE,WAAW,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,SAAS;YAAE,WAAW,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,YAAY;YAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAEjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAE5B,MAAM,eAAe,GAAI,MAAM,CAAC,gBAA2B,IAAI,GAAG,CAAC;YACnE,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAnND,wCAmNC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseResourceHandler } from './BaseResourceHandler';
|
|
2
|
+
export declare class EventHandler extends BaseResourceHandler {
|
|
3
|
+
execute(operation: string, itemIndex: number): Promise<any>;
|
|
4
|
+
private get;
|
|
5
|
+
private getAll;
|
|
6
|
+
private getByDate;
|
|
7
|
+
private update;
|
|
8
|
+
private updateStatus;
|
|
9
|
+
private delete;
|
|
10
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventHandler = void 0;
|
|
4
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
5
|
+
class EventHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
6
|
+
async execute(operation, itemIndex) {
|
|
7
|
+
switch (operation) {
|
|
8
|
+
case 'get':
|
|
9
|
+
return this.get(itemIndex);
|
|
10
|
+
case 'getAll':
|
|
11
|
+
return this.getAll(itemIndex);
|
|
12
|
+
case 'getByDate':
|
|
13
|
+
return this.getByDate(itemIndex);
|
|
14
|
+
case 'update':
|
|
15
|
+
return this.update(itemIndex);
|
|
16
|
+
case 'updateStatus':
|
|
17
|
+
return this.updateStatus(itemIndex);
|
|
18
|
+
case 'delete':
|
|
19
|
+
return this.delete(itemIndex);
|
|
20
|
+
default:
|
|
21
|
+
throw new Error(`Unknown operation: ${operation}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async get(itemIndex) {
|
|
25
|
+
const eventId = this.getParameter('eventId', itemIndex);
|
|
26
|
+
return this.httpRequest({
|
|
27
|
+
method: 'GET',
|
|
28
|
+
url: `${this.baseUrl}/events/${eventId}`,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async getAll(itemIndex) {
|
|
32
|
+
const startDate = this.getParameter('startDate', itemIndex, '');
|
|
33
|
+
const endDate = this.getParameter('endDate', itemIndex, '');
|
|
34
|
+
const eventsPerDay = this.getParameter('eventsPerDay', itemIndex, 50);
|
|
35
|
+
const qs = this.buildQueryParams({
|
|
36
|
+
events_per_day: eventsPerDay,
|
|
37
|
+
start_date: startDate ? this.extractDate(startDate) : undefined,
|
|
38
|
+
end_date: endDate ? this.extractDate(endDate) : undefined,
|
|
39
|
+
});
|
|
40
|
+
return this.httpRequest({
|
|
41
|
+
method: 'GET',
|
|
42
|
+
url: `${this.baseUrl}/events`,
|
|
43
|
+
qs,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async getByDate(itemIndex) {
|
|
47
|
+
const targetDate = this.getParameter('targetDate', itemIndex);
|
|
48
|
+
const { limit } = this.getPaginationParams(itemIndex);
|
|
49
|
+
const qs = this.buildQueryParams({
|
|
50
|
+
target_date: this.extractDate(targetDate),
|
|
51
|
+
limit,
|
|
52
|
+
});
|
|
53
|
+
return this.httpRequest({
|
|
54
|
+
method: 'GET',
|
|
55
|
+
url: `${this.baseUrl}/events/date`,
|
|
56
|
+
qs,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
async update(itemIndex) {
|
|
60
|
+
const eventId = this.getParameter('eventId', itemIndex);
|
|
61
|
+
const body = this.buildBody([
|
|
62
|
+
{ param: 'client_full_name' },
|
|
63
|
+
{ param: 'client_email' },
|
|
64
|
+
{ param: 'client_phone_number' },
|
|
65
|
+
{ param: 'details' },
|
|
66
|
+
{ param: 'starting_date' },
|
|
67
|
+
{ param: 'ending_date' },
|
|
68
|
+
{ param: 'status' },
|
|
69
|
+
], itemIndex);
|
|
70
|
+
return this.httpRequest({
|
|
71
|
+
method: 'PUT',
|
|
72
|
+
url: `${this.baseUrl}/events/${eventId}`,
|
|
73
|
+
body,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async updateStatus(itemIndex) {
|
|
77
|
+
const eventId = this.getParameter('eventId', itemIndex);
|
|
78
|
+
const isApproved = this.getParameter('isApproved', itemIndex);
|
|
79
|
+
return this.httpRequest({
|
|
80
|
+
method: 'PATCH',
|
|
81
|
+
url: `${this.baseUrl}/events/${eventId}/status`,
|
|
82
|
+
qs: { is_approved: isApproved },
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async delete(itemIndex) {
|
|
86
|
+
const eventId = this.getParameter('eventId', itemIndex);
|
|
87
|
+
return this.httpRequest({
|
|
88
|
+
method: 'DELETE',
|
|
89
|
+
url: `${this.baseUrl}/events/${eventId}`,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.EventHandler = EventHandler;
|
|
94
|
+
//# sourceMappingURL=EventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../../../nodes/Yourang/resources/EventHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-yourang",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "n8n community node for Yourang.ai - 24/7 AI phone assistant for automated call handling, appointments, customer interactions, and event management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"format": "prettier nodes credentials --write",
|
|
37
37
|
"lint": "eslint nodes credentials package.json",
|
|
38
38
|
"lintfix": "eslint nodes credentials package.json --fix",
|
|
39
|
-
"prepublishOnly": "npm run build && npm run lint
|
|
39
|
+
"prepublishOnly": "npm run build && ESLINT_PREPUBLISH=true npm run lint"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist"
|
|
@@ -52,5 +52,19 @@
|
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"n8n-workflow": "*"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/node": "^24.10.1",
|
|
58
|
+
"@typescript-eslint/eslint-plugin": "^8.48.1",
|
|
59
|
+
"@typescript-eslint/parser": "^8.48.1",
|
|
60
|
+
"eslint": "^9.39.1",
|
|
61
|
+
"eslint-config-prettier": "^10.1.8",
|
|
62
|
+
"eslint-plugin-n8n-nodes-base": "^1.16.4",
|
|
63
|
+
"gulp": "^5.0.1",
|
|
64
|
+
"jsonc-eslint-parser": "^2.4.2",
|
|
65
|
+
"n8n-workflow": "^2.0.0-rc.0",
|
|
66
|
+
"prettier": "^3.7.4",
|
|
67
|
+
"rimraf": "^6.1.2",
|
|
68
|
+
"typescript": "^5.9.3"
|
|
55
69
|
}
|
|
56
70
|
}
|