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.
Files changed (34) hide show
  1. package/dist/nodes/Yourang/Yourang.node.js +22 -342
  2. package/dist/nodes/Yourang/Yourang.node.js.map +1 -1
  3. package/dist/nodes/Yourang/YourangDescription.js +12 -928
  4. package/dist/nodes/Yourang/YourangDescription.js.map +1 -1
  5. package/dist/nodes/Yourang/descriptions/action.description.d.ts +3 -0
  6. package/dist/nodes/Yourang/descriptions/action.description.js +355 -0
  7. package/dist/nodes/Yourang/descriptions/action.description.js.map +1 -0
  8. package/dist/nodes/Yourang/descriptions/callHistory.description.d.ts +3 -0
  9. package/dist/nodes/Yourang/descriptions/callHistory.description.js +205 -0
  10. package/dist/nodes/Yourang/descriptions/callHistory.description.js.map +1 -0
  11. package/dist/nodes/Yourang/descriptions/contact.description.d.ts +3 -0
  12. package/dist/nodes/Yourang/descriptions/contact.description.js +341 -0
  13. package/dist/nodes/Yourang/descriptions/contact.description.js.map +1 -0
  14. package/dist/nodes/Yourang/descriptions/event.description.d.ts +3 -0
  15. package/dist/nodes/Yourang/descriptions/event.description.js +283 -0
  16. package/dist/nodes/Yourang/descriptions/event.description.js.map +1 -0
  17. package/dist/nodes/Yourang/resources/ActionHandler.d.ts +12 -0
  18. package/dist/nodes/Yourang/resources/ActionHandler.js +107 -0
  19. package/dist/nodes/Yourang/resources/ActionHandler.js.map +1 -0
  20. package/dist/nodes/Yourang/resources/BaseResourceHandler.d.ts +26 -0
  21. package/dist/nodes/Yourang/resources/BaseResourceHandler.js +74 -0
  22. package/dist/nodes/Yourang/resources/BaseResourceHandler.js.map +1 -0
  23. package/dist/nodes/Yourang/resources/CallHistoryHandler.d.ts +8 -0
  24. package/dist/nodes/Yourang/resources/CallHistoryHandler.js +61 -0
  25. package/dist/nodes/Yourang/resources/CallHistoryHandler.js.map +1 -0
  26. package/dist/nodes/Yourang/resources/ContactHandler.d.ts +13 -0
  27. package/dist/nodes/Yourang/resources/ContactHandler.js +144 -0
  28. package/dist/nodes/Yourang/resources/ContactHandler.js.map +1 -0
  29. package/dist/nodes/Yourang/resources/EventHandler.d.ts +10 -0
  30. package/dist/nodes/Yourang/resources/EventHandler.js +94 -0
  31. package/dist/nodes/Yourang/resources/EventHandler.js.map +1 -0
  32. package/dist/package.json +16 -2
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. 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":";;;AAMA,MAAsB,mBAAmB;IAIxC,YAAY,OAA0B,EAAE,OAAe;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAUS,YAAY,CAAU,aAAqB,EAAE,SAAiB,EAAE,YAAgB;QACzF,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAM,CAAC;IACnF,CAAC;IAKS,KAAK,CAAC,WAAW,CAAC,OAK3B;QACA,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CACnE,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ;YACC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;SACd,CACD,CAAC;IACH,CAAC;IAMS,SAAS,CAAC,MAAsE,EAAE,SAAiB;QAC5G,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;YACzC,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAGvE,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,EAAE,CAAC;gBACjD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YAGD,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnB,CAAC;QACF,CAAC;QAGD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAKS,gBAAgB,CAAC,MAAmB;QAC7C,MAAM,EAAE,GAAgB,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC3D,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjB,CAAC;QACF,CAAC;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAKS,mBAAmB,CAAC,SAAiB;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAU,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAS,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAExF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAcS,WAAW,CAAC,QAAgB;QACrC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAGzD,MAAM,eAAe,GAAG,qBAAqB,CAAC;QAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;QAGD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAGD,OAAO,EAAE,CAAC;IACX,CAAC;IAKS,qBAAqB,CAAC,KAAa;QAC5C,OAAO,KAAK;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;CAED;AA5ID,kDA4IC"}
@@ -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":"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"}
@@ -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.2.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 -c .eslintrc.prepublish.js nodes credentials package.json"
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
  }