n8n-nodes-autotask 0.3.2 → 0.3.3
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/Autotask/Autotask.node.d.ts +6 -0
- package/dist/nodes/Autotask/Autotask.node.js +16 -0
- package/dist/nodes/Autotask/Autotask.node.js.map +1 -1
- package/dist/nodes/Autotask/helpers/date-time/utils.d.ts +2 -2
- package/dist/nodes/Autotask/helpers/date-time/utils.js +31 -26
- package/dist/nodes/Autotask/helpers/date-time/utils.js.map +1 -1
- package/dist/nodes/Autotask/helpers/entity-values/value-helper.d.ts +4 -1
- package/dist/nodes/Autotask/helpers/entity-values/value-helper.js +71 -12
- package/dist/nodes/Autotask/helpers/entity-values/value-helper.js.map +1 -1
- package/dist/nodes/Autotask/helpers/field-conversion/steps.js +0 -4
- package/dist/nodes/Autotask/helpers/field-conversion/steps.js.map +1 -1
- package/dist/nodes/Autotask/helpers/resource-operations.helper.js +17 -3
- package/dist/nodes/Autotask/helpers/resource-operations.helper.js.map +1 -1
- package/dist/nodes/Autotask/helpers/searchFilterBuilder.d.ts +2 -1
- package/dist/nodes/Autotask/helpers/searchFilterBuilder.js +55 -11
- package/dist/nodes/Autotask/helpers/searchFilterBuilder.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/base-operation.js +26 -2
- package/dist/nodes/Autotask/operations/base/base-operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/field-processor.d.ts +1 -0
- package/dist/nodes/Autotask/operations/base/field-processor.js +102 -0
- package/dist/nodes/Autotask/operations/base/field-processor.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js +83 -14
- package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-many.d.ts +1 -1
- package/dist/nodes/Autotask/operations/base/get-many.js +54 -6
- package/dist/nodes/Autotask/operations/base/get-many.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-operation.js +16 -4
- package/dist/nodes/Autotask/operations/base/get-operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/common/reference-labels/description.d.ts +3 -0
- package/dist/nodes/Autotask/operations/common/reference-labels/description.js +30 -0
- package/dist/nodes/Autotask/operations/common/reference-labels/description.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/reference-labels/index.d.ts +1 -0
- package/dist/nodes/Autotask/operations/common/reference-labels/index.js +18 -0
- package/dist/nodes/Autotask/operations/common/reference-labels/index.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/select-columns/description.d.ts +3 -0
- package/dist/nodes/Autotask/operations/common/select-columns/description.js +34 -0
- package/dist/nodes/Autotask/operations/common/select-columns/description.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/select-columns/filter-entity.d.ts +5 -0
- package/dist/nodes/Autotask/operations/common/select-columns/filter-entity.js +52 -0
- package/dist/nodes/Autotask/operations/common/select-columns/filter-entity.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/select-columns/include-fields.d.ts +6 -0
- package/dist/nodes/Autotask/operations/common/select-columns/include-fields.js +37 -0
- package/dist/nodes/Autotask/operations/common/select-columns/include-fields.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/select-columns/index.d.ts +4 -0
- package/dist/nodes/Autotask/operations/common/select-columns/index.js +13 -0
- package/dist/nodes/Autotask/operations/common/select-columns/index.js.map +1 -0
- package/dist/nodes/Autotask/resources/searchFilter/description.js +30 -0
- package/dist/nodes/Autotask/resources/searchFilter/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/searchFilter/execute.d.ts +1 -1
- package/dist/nodes/Autotask/resources/searchFilter/execute.js +66 -28
- package/dist/nodes/Autotask/resources/searchFilter/execute.js.map +1 -1
- package/dist/nodes/Autotask/types/SearchFilter.d.ts +4 -2
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -11
|
@@ -11,6 +11,8 @@ const request_1 = require("../../helpers/http/request");
|
|
|
11
11
|
const entities_1 = require("../../constants/entities");
|
|
12
12
|
const field_processor_1 = require("./field-processor");
|
|
13
13
|
const entity_types_1 = require("../../types/base/entity-types");
|
|
14
|
+
const date_time_1 = require("../../helpers/date-time");
|
|
15
|
+
const select_columns_1 = require("../common/select-columns");
|
|
14
16
|
class GetManyOperation {
|
|
15
17
|
constructor(entityType, context, options) {
|
|
16
18
|
this.entityType = entityType;
|
|
@@ -21,8 +23,24 @@ class GetManyOperation {
|
|
|
21
23
|
buildFiltersFromResourceMapper(itemIndex, defaultFilter) {
|
|
22
24
|
return (0, filter_1.buildFiltersFromResourceMapper)(this.context, itemIndex, defaultFilter);
|
|
23
25
|
}
|
|
24
|
-
processReturnData(items) {
|
|
25
|
-
|
|
26
|
+
processReturnData(items, itemIndex = 0) {
|
|
27
|
+
try {
|
|
28
|
+
const selectedColumns = (0, select_columns_1.getSelectedColumns)(this.context, itemIndex);
|
|
29
|
+
if (!selectedColumns || !selectedColumns.length) {
|
|
30
|
+
return items.map(item => ({ json: item }));
|
|
31
|
+
}
|
|
32
|
+
const filteredItems = (0, select_columns_1.filterEntitiesBySelectedColumns)(items, selectedColumns);
|
|
33
|
+
const originalFieldCount = items.length > 0 ? Object.keys(items[0]).length : 0;
|
|
34
|
+
const filteredFieldCount = filteredItems.length > 0 ? Object.keys(filteredItems[0]).length : 0;
|
|
35
|
+
if (originalFieldCount !== filteredFieldCount) {
|
|
36
|
+
console.debug(`[GetManyOperation] Additional client-side filtering applied: ${originalFieldCount} -> ${filteredFieldCount} fields`);
|
|
37
|
+
}
|
|
38
|
+
return filteredItems.map(item => ({ json: item }));
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.warn(`[GetManyOperation] Error handling column filtering: ${error.message}`);
|
|
42
|
+
return items.map(item => ({ json: item }));
|
|
43
|
+
}
|
|
26
44
|
}
|
|
27
45
|
async execute(filters, itemIndex = 0) {
|
|
28
46
|
return await (0, errorHandler_1.handleErrors)(this.context, async () => {
|
|
@@ -31,7 +49,7 @@ class GetManyOperation {
|
|
|
31
49
|
const maxRecords = this.context.getNodeParameter('maxRecords', itemIndex, 10);
|
|
32
50
|
filters.MaxRecords = maxRecords;
|
|
33
51
|
}
|
|
34
|
-
|
|
52
|
+
let results = [];
|
|
35
53
|
const initialResults = await this.executeQuery(filters, undefined);
|
|
36
54
|
results.push(...initialResults);
|
|
37
55
|
if (returnAll) {
|
|
@@ -48,18 +66,35 @@ class GetManyOperation {
|
|
|
48
66
|
results.push(...pageResults);
|
|
49
67
|
}
|
|
50
68
|
}
|
|
69
|
+
const fieldProcessor = field_processor_1.FieldProcessor.getInstance(this.entityType, entity_types_1.OperationType.READ, this.context);
|
|
70
|
+
try {
|
|
71
|
+
const addReferenceLabels = this.context.getNodeParameter('addReferenceLabels', itemIndex, false);
|
|
72
|
+
if (addReferenceLabels && results.length > 0) {
|
|
73
|
+
console.debug(`[GetManyOperation] Adding reference labels for ${results.length} ${this.entityType} entities`);
|
|
74
|
+
results = await fieldProcessor.enrichWithReferenceLabels(results);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.warn(`[GetManyOperation] Error processing reference labels: ${error.message}`);
|
|
79
|
+
}
|
|
51
80
|
try {
|
|
52
81
|
const addPicklistLabels = this.context.getNodeParameter('addPicklistLabels', itemIndex, false);
|
|
53
82
|
if (addPicklistLabels && results.length > 0) {
|
|
54
83
|
console.debug(`[GetManyOperation] Adding picklist labels for ${results.length} ${this.entityType} entities`);
|
|
55
|
-
|
|
56
|
-
return await fieldProcessor.enrichWithPicklistLabels(results);
|
|
84
|
+
results = await fieldProcessor.enrichWithPicklistLabels(results);
|
|
57
85
|
}
|
|
58
86
|
}
|
|
59
87
|
catch (error) {
|
|
60
88
|
console.warn(`[GetManyOperation] Error processing picklist labels: ${error.message}`);
|
|
61
89
|
}
|
|
62
|
-
|
|
90
|
+
try {
|
|
91
|
+
const processedResults = await date_time_1.processResponseDatesArray.call(this.context, results, `${this.entityType}.getMany`);
|
|
92
|
+
return processedResults;
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.warn(`[GetManyOperation] Error processing dates: ${error.message}`);
|
|
96
|
+
return results;
|
|
97
|
+
}
|
|
63
98
|
}, {
|
|
64
99
|
operation: 'getMany',
|
|
65
100
|
entityType: this.entityType,
|
|
@@ -119,12 +154,25 @@ class GetManyOperation {
|
|
|
119
154
|
field: 'id',
|
|
120
155
|
});
|
|
121
156
|
}
|
|
157
|
+
const itemIndex = 0;
|
|
158
|
+
const selectedColumns = (0, select_columns_1.getSelectedColumns)(this.context, itemIndex);
|
|
159
|
+
let addPicklistLabels = false;
|
|
160
|
+
try {
|
|
161
|
+
addPicklistLabels = this.context.getNodeParameter('addPicklistLabels', itemIndex, false);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
}
|
|
165
|
+
const includeFields = (0, select_columns_1.prepareIncludeFields)(selectedColumns, { addPicklistLabels });
|
|
122
166
|
const queryBody = {
|
|
123
167
|
filter: filters.filter,
|
|
124
168
|
};
|
|
125
169
|
if (filters.MaxRecords) {
|
|
126
170
|
queryBody.MaxRecords = filters.MaxRecords;
|
|
127
171
|
}
|
|
172
|
+
if (includeFields.length > 0) {
|
|
173
|
+
queryBody.IncludeFields = includeFields;
|
|
174
|
+
console.debug(`[GetManyOperation] Using IncludeFields with ${includeFields.length} fields for query`);
|
|
175
|
+
}
|
|
128
176
|
const response = await http_1.autotaskApiRequest.call(this.context, 'POST', endpoint, queryBody);
|
|
129
177
|
if (!response) {
|
|
130
178
|
throw new Error(error_constants_1.ERROR_TEMPLATES.operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-many.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/operations/base/get-many.ts"],"names":[],"mappings":";;;AAMA,6CAAwD;AACxD,yDAA6D;AAC7D,6DAA0D;AAC1D,iDAAsE;AACtE,qDAA0D;AAC1D,qEAAkE;AAClE,wDAAiF;AACjF,uDAA6D;AAC7D,uDAAmD;AACnD,gEAA8D;
|
|
1
|
+
{"version":3,"file":"get-many.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/operations/base/get-many.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const error_constants_1 = require("../../constants/error.constants");
|
|
|
5
5
|
const entity_types_1 = require("../../types/base/entity-types");
|
|
6
6
|
const base_operation_1 = require("./base-operation");
|
|
7
7
|
const field_processor_1 = require("./field-processor");
|
|
8
|
+
const select_columns_1 = require("../common/select-columns");
|
|
8
9
|
class GetOperation extends base_operation_1.BaseOperation {
|
|
9
10
|
constructor(entityType, context, parentType) {
|
|
10
11
|
super(entityType, entity_types_1.OperationType.READ, context, parentType);
|
|
@@ -17,19 +18,30 @@ class GetOperation extends base_operation_1.BaseOperation {
|
|
|
17
18
|
.replace('{entity}', this.entityType)
|
|
18
19
|
.replace('{details}', 'Entity ID is required for get operation'));
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
+
let entity = await this.getEntityById(itemIndex, entityId);
|
|
22
|
+
const fieldProcessor = field_processor_1.FieldProcessor.getInstance(this.entityType, this.operation, this.context);
|
|
23
|
+
try {
|
|
24
|
+
const addReferenceLabels = this.context.getNodeParameter('addReferenceLabels', itemIndex, false);
|
|
25
|
+
if (addReferenceLabels) {
|
|
26
|
+
console.debug(`[GetOperation] Adding reference labels for ${this.entityType} entity`);
|
|
27
|
+
entity = await fieldProcessor.enrichWithReferenceLabels(entity);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.warn(`[GetOperation] Error processing reference labels: ${error.message}`);
|
|
32
|
+
}
|
|
21
33
|
try {
|
|
22
34
|
const addPicklistLabels = this.context.getNodeParameter('addPicklistLabels', itemIndex, false);
|
|
23
35
|
if (addPicklistLabels) {
|
|
24
36
|
console.debug(`[GetOperation] Adding picklist labels for ${this.entityType} entity`);
|
|
25
|
-
|
|
26
|
-
return await fieldProcessor.enrichWithPicklistLabels(entity);
|
|
37
|
+
entity = await fieldProcessor.enrichWithPicklistLabels(entity);
|
|
27
38
|
}
|
|
28
39
|
}
|
|
29
40
|
catch (error) {
|
|
30
41
|
console.warn(`[GetOperation] Error processing picklist labels: ${error.message}`);
|
|
31
42
|
}
|
|
32
|
-
|
|
43
|
+
const selectedColumns = (0, select_columns_1.getSelectedColumns)(this.context, itemIndex);
|
|
44
|
+
return (0, select_columns_1.filterEntityBySelectedColumns)(entity, selectedColumns);
|
|
33
45
|
}
|
|
34
46
|
}
|
|
35
47
|
exports.GetOperation = GetOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-operation.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/operations/base/get-operation.ts"],"names":[],"mappings":";;;AAEA,qEAAkE;AAClE,gEAA8D;AAC9D,qDAAiD;AACjD,uDAAmD;
|
|
1
|
+
{"version":3,"file":"get-operation.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/operations/base/get-operation.ts"],"names":[],"mappings":";;;AAEA,qEAAkE;AAClE,gEAA8D;AAC9D,qDAAiD;AACjD,uDAAmD;AACnD,6DAA6F;AAK7F,MAAa,YAAwC,SAAQ,8BAAa;IACzE,YACC,UAAkB,EAClB,OAA0B,EAC1B,UAAmB;QAEnB,KAAK,CAAC,UAAU,EAAE,4BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,SAAiB;QAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CACd,iCAAe,CAAC,UAAU;iBACxB,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC;iBACpC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;iBACpC,OAAO,CAAC,WAAW,EAAE,yCAAyC,CAAC,CACjE,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,QAA2B,CAAM,CAAC;QAGnF,MAAM,cAAc,GAAG,gCAAc,CAAC,WAAW,CAChD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACZ,CAAC;QAGF,IAAI,CAAC;YACJ,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;YAE5G,IAAI,kBAAkB,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,UAAU,SAAS,CAAC,CAAC;gBAEtF,MAAM,GAAG,MAAM,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAM,CAAC;YACtE,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,OAAO,CAAC,IAAI,CAAC,qDAAqD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;YAE1G,IAAI,iBAAiB,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,UAAU,SAAS,CAAC,CAAC;gBAErF,MAAM,GAAG,MAAM,cAAc,CAAC,wBAAwB,CAAC,MAAM,CAAM,CAAC;YACrE,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,OAAO,CAAC,IAAI,CAAC,oDAAoD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;QAGD,MAAM,eAAe,GAAG,IAAA,mCAAkB,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO,IAAA,8CAA6B,EAAC,MAAM,EAAE,eAAe,CAAM,CAAC;IACpE,CAAC;CACD;AAlED,oCAkEC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.referenceLabelOption = void 0;
|
|
4
|
+
exports.addReferenceLabelOption = addReferenceLabelOption;
|
|
5
|
+
exports.referenceLabelOption = {
|
|
6
|
+
displayName: 'Add Reference Labels',
|
|
7
|
+
name: 'addReferenceLabels',
|
|
8
|
+
type: 'boolean',
|
|
9
|
+
default: true,
|
|
10
|
+
description: 'Whether to automatically add "_label" fields for reference fields with human-readable values (no labels will be added for empty values)',
|
|
11
|
+
displayOptions: {
|
|
12
|
+
show: {
|
|
13
|
+
operation: ['get', 'getMany', 'getManyAdvanced'],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
function addReferenceLabelOption(properties, resourceName) {
|
|
18
|
+
var _a;
|
|
19
|
+
const resourceOption = {
|
|
20
|
+
...exports.referenceLabelOption,
|
|
21
|
+
displayOptions: {
|
|
22
|
+
show: {
|
|
23
|
+
...(_a = exports.referenceLabelOption.displayOptions) === null || _a === void 0 ? void 0 : _a.show,
|
|
24
|
+
resource: [resourceName],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
return [...properties, resourceOption];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../../nodes/Autotask/operations/common/reference-labels/description.ts"],"names":[],"mappings":";;;AAqBA,0DAgBC;AAhCY,QAAA,oBAAoB,GAAoB;IACpD,WAAW,EAAE,sBAAsB;IACnC,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,yIAAyI;IACtJ,cAAc,EAAE;QACf,IAAI,EAAE;YACL,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC;SAChD;KACD;CACD,CAAC;AAKF,SAAgB,uBAAuB,CACtC,UAA6B,EAC7B,YAAoB;;IAGpB,MAAM,cAAc,GAAoB;QACvC,GAAG,4BAAoB;QACvB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,GAAG,MAAA,4BAAoB,CAAC,cAAc,0CAAE,IAAI;gBAC5C,QAAQ,EAAE,CAAC,YAAY,CAAC;aACxB;SACD;KACD,CAAC;IAEF,OAAO,CAAC,GAAG,UAAU,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './description';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./description"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../nodes/Autotask/operations/common/reference-labels/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectColumnsOption = void 0;
|
|
4
|
+
exports.addSelectColumnsOption = addSelectColumnsOption;
|
|
5
|
+
exports.selectColumnsOption = {
|
|
6
|
+
displayName: 'Select Columns Names or IDs.',
|
|
7
|
+
name: 'selectColumns',
|
|
8
|
+
type: 'multiOptions',
|
|
9
|
+
default: [],
|
|
10
|
+
description: 'Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
11
|
+
hint: 'Choose which fields to include in the response. If no fields are selected, all fields will be returned. The ID field is always included regardless of selection.',
|
|
12
|
+
displayOptions: {
|
|
13
|
+
show: {
|
|
14
|
+
operation: ['get', 'getMany', 'getManyAdvanced'],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
typeOptions: {
|
|
18
|
+
loadOptionsMethod: 'getSelectColumns',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
function addSelectColumnsOption(properties, resourceName) {
|
|
22
|
+
var _a;
|
|
23
|
+
const resourceOption = {
|
|
24
|
+
...exports.selectColumnsOption,
|
|
25
|
+
displayOptions: {
|
|
26
|
+
show: {
|
|
27
|
+
...(_a = exports.selectColumnsOption.displayOptions) === null || _a === void 0 ? void 0 : _a.show,
|
|
28
|
+
resource: [resourceName],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
return [...properties, resourceOption];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../../nodes/Autotask/operations/common/select-columns/description.ts"],"names":[],"mappings":";;;AAyBA,wDAgBC;AApCY,QAAA,mBAAmB,GAAoB;IACnD,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,8GAA8G;IAC3H,IAAI,EAAE,kKAAkK;IACxK,cAAc,EAAE;QACf,IAAI,EAAE;YACL,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC;SAChD;KACD;IACD,WAAW,EAAE;QACZ,iBAAiB,EAAE,kBAAkB;KACrC;CACD,CAAC;AAKF,SAAgB,sBAAsB,CACrC,UAA6B,EAC7B,YAAoB;;IAGpB,MAAM,cAAc,GAAoB;QACvC,GAAG,2BAAmB;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,GAAG,MAAA,2BAAmB,CAAC,cAAc,0CAAE,IAAI;gBAC3C,QAAQ,EAAE,CAAC,YAAY,CAAC;aACxB;SACD;KACD,CAAC;IAEF,OAAO,CAAC,GAAG,UAAU,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
import type { IAutotaskEntity } from '../../../types';
|
|
3
|
+
export declare function filterEntityBySelectedColumns<T extends IAutotaskEntity>(entity: T, columns: string[]): Partial<T>;
|
|
4
|
+
export declare function filterEntitiesBySelectedColumns<T extends IAutotaskEntity>(entities: T[], columns: string[]): Partial<T>[];
|
|
5
|
+
export declare function getSelectedColumns(context: IExecuteFunctions, itemIndex: number): string[];
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterEntityBySelectedColumns = filterEntityBySelectedColumns;
|
|
4
|
+
exports.filterEntitiesBySelectedColumns = filterEntitiesBySelectedColumns;
|
|
5
|
+
exports.getSelectedColumns = getSelectedColumns;
|
|
6
|
+
function filterEntityBySelectedColumns(entity, columns) {
|
|
7
|
+
if (!columns || !columns.length) {
|
|
8
|
+
return entity;
|
|
9
|
+
}
|
|
10
|
+
console.debug(`[filterEntityBySelectedColumns] Filtering entity to include ${columns.length} selected columns`);
|
|
11
|
+
const filteredEntity = {};
|
|
12
|
+
if (entity.id) {
|
|
13
|
+
filteredEntity.id = entity.id;
|
|
14
|
+
}
|
|
15
|
+
for (const column of columns) {
|
|
16
|
+
if (column in entity) {
|
|
17
|
+
filteredEntity[column] = entity[column];
|
|
18
|
+
const labelField = `${column}_label`;
|
|
19
|
+
if (labelField in entity) {
|
|
20
|
+
filteredEntity[labelField] = entity[labelField];
|
|
21
|
+
console.debug(`[filterEntityBySelectedColumns] Including label field: ${labelField} for selected column: ${column}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const labelFields = Object.keys(entity).filter(key => key.endsWith('_label'));
|
|
26
|
+
if (labelFields.length > 0) {
|
|
27
|
+
console.debug(`[filterEntityBySelectedColumns] Found ${labelFields.length} label fields in entity`);
|
|
28
|
+
labelFields.forEach(key => {
|
|
29
|
+
const baseField = key.replace('_label', '');
|
|
30
|
+
if (columns.includes(baseField) && key in entity) {
|
|
31
|
+
filteredEntity[key] = entity[key];
|
|
32
|
+
console.debug(`[filterEntityBySelectedColumns] Including label field: ${key} for selected base field: ${baseField}`);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return filteredEntity;
|
|
37
|
+
}
|
|
38
|
+
function filterEntitiesBySelectedColumns(entities, columns) {
|
|
39
|
+
if (!columns || !columns.length) {
|
|
40
|
+
return entities;
|
|
41
|
+
}
|
|
42
|
+
return entities.map(entity => filterEntityBySelectedColumns(entity, columns));
|
|
43
|
+
}
|
|
44
|
+
function getSelectedColumns(context, itemIndex) {
|
|
45
|
+
try {
|
|
46
|
+
return context.getNodeParameter('selectColumns', itemIndex, []);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=filter-entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-entity.js","sourceRoot":"","sources":["../../../../../../nodes/Autotask/operations/common/select-columns/filter-entity.ts"],"names":[],"mappings":";;AAQA,sEAoDC;AAMD,0EAWC;AAKD,gDAOC;AAjFD,SAAgB,6BAA6B,CAC5C,MAAS,EACT,OAAiB;IAGjB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IACf,CAAC;IAGD,OAAO,CAAC,KAAK,CAAC,+DAA+D,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAGhH,MAAM,cAAc,GAAe,EAAE,CAAC;IAGtC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,cAAc,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IAC/B,CAAC;IAGD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAE9B,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACtB,cAAc,CAAC,MAAiB,CAAC,GAAG,MAAM,CAAC,MAAiB,CAAC,CAAC;YAG9D,MAAM,UAAU,GAAG,GAAG,MAAM,QAAQ,CAAC;YACrC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;gBAE1B,cAAc,CAAC,UAAqB,CAAC,GAAG,MAAM,CAAC,UAAqB,CAAC,CAAC;gBACtE,OAAO,CAAC,KAAK,CAAC,0DAA0D,UAAU,yBAAyB,MAAM,EAAE,CAAC,CAAC;YACtH,CAAC;QACF,CAAC;IACF,CAAC;IAGD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,yCAAyC,WAAW,CAAC,MAAM,yBAAyB,CAAC,CAAC;QAEpG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAE5C,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAClD,cAAc,CAAC,GAAc,CAAC,GAAG,MAAM,CAAC,GAAc,CAAC,CAAC;gBACxD,OAAO,CAAC,KAAK,CAAC,0DAA0D,GAAG,6BAA6B,SAAS,EAAE,CAAC,CAAC;YACtH,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC;AAMD,SAAgB,+BAA+B,CAC9C,QAAa,EACb,OAAiB;IAGjB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAGD,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAKD,SAAgB,kBAAkB,CAAC,OAA0B,EAAE,SAAiB;IAC/E,IAAI,CAAC;QACJ,OAAO,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,CAAa,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEhB,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prepareIncludeFields = prepareIncludeFields;
|
|
4
|
+
function prepareIncludeFields(selectedColumns, options = {}) {
|
|
5
|
+
let includeFields = [];
|
|
6
|
+
if (!selectedColumns || !selectedColumns.length) {
|
|
7
|
+
console.debug('[prepareIncludeFields] No columns selected, returning empty array');
|
|
8
|
+
return includeFields;
|
|
9
|
+
}
|
|
10
|
+
includeFields = selectedColumns.filter(column => {
|
|
11
|
+
if (column.endsWith('_label')) {
|
|
12
|
+
if (options.addPicklistLabels) {
|
|
13
|
+
const baseField = column.replace('_label', '');
|
|
14
|
+
if (!includeFields.includes(baseField) && !selectedColumns.includes(baseField)) {
|
|
15
|
+
includeFields.push(baseField);
|
|
16
|
+
console.debug(`[prepareIncludeFields] Adding base field ${baseField} for picklist label field ${column}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else if (options.addReferenceLabels) {
|
|
20
|
+
const baseField = column.replace('_label', '');
|
|
21
|
+
if (!includeFields.includes(baseField) && !selectedColumns.includes(baseField)) {
|
|
22
|
+
includeFields.push(baseField);
|
|
23
|
+
console.debug(`[prepareIncludeFields] Adding base field ${baseField} for reference label field ${column}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
});
|
|
30
|
+
if (!includeFields.includes('id')) {
|
|
31
|
+
includeFields.push('id');
|
|
32
|
+
console.debug('[prepareIncludeFields] Adding required id field');
|
|
33
|
+
}
|
|
34
|
+
console.debug(`[prepareIncludeFields] Prepared ${includeFields.length} fields for API request`);
|
|
35
|
+
return includeFields;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=include-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include-fields.js","sourceRoot":"","sources":["../../../../../../nodes/Autotask/operations/common/select-columns/include-fields.ts"],"names":[],"mappings":";;AAmCA,oDAmDC;AAnDD,SAAgB,oBAAoB,CACnC,eAAyB,EACzB,UAAwC,EAAE;IAG1C,IAAI,aAAa,GAAa,EAAE,CAAC;IAGjC,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACnF,OAAO,aAAa,CAAC;IACtB,CAAC;IAGD,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAE/C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE/B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAE/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,4CAA4C,SAAS,6BAA6B,MAAM,EAAE,CAAC,CAAC;gBAC3G,CAAC;YACF,CAAC;iBAEI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAE/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,4CAA4C,SAAS,8BAA8B,MAAM,EAAE,CAAC,CAAC;gBAC5G,CAAC;YACF,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;IAGH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAClE,CAAC;IAGD,OAAO,CAAC,KAAK,CAAC,mCAAmC,aAAa,CAAC,MAAM,yBAAyB,CAAC,CAAC;IAEhG,OAAO,aAAa,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { selectColumnsOption, addSelectColumnsOption } from './description';
|
|
2
|
+
import { filterEntityBySelectedColumns, filterEntitiesBySelectedColumns, getSelectedColumns } from './filter-entity';
|
|
3
|
+
import { prepareIncludeFields, type IPrepareIncludeFieldsOptions } from './include-fields';
|
|
4
|
+
export { selectColumnsOption, addSelectColumnsOption, filterEntityBySelectedColumns, filterEntitiesBySelectedColumns, getSelectedColumns, prepareIncludeFields, IPrepareIncludeFieldsOptions };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prepareIncludeFields = exports.getSelectedColumns = exports.filterEntitiesBySelectedColumns = exports.filterEntityBySelectedColumns = exports.addSelectColumnsOption = exports.selectColumnsOption = void 0;
|
|
4
|
+
const description_1 = require("./description");
|
|
5
|
+
Object.defineProperty(exports, "selectColumnsOption", { enumerable: true, get: function () { return description_1.selectColumnsOption; } });
|
|
6
|
+
Object.defineProperty(exports, "addSelectColumnsOption", { enumerable: true, get: function () { return description_1.addSelectColumnsOption; } });
|
|
7
|
+
const filter_entity_1 = require("./filter-entity");
|
|
8
|
+
Object.defineProperty(exports, "filterEntityBySelectedColumns", { enumerable: true, get: function () { return filter_entity_1.filterEntityBySelectedColumns; } });
|
|
9
|
+
Object.defineProperty(exports, "filterEntitiesBySelectedColumns", { enumerable: true, get: function () { return filter_entity_1.filterEntitiesBySelectedColumns; } });
|
|
10
|
+
Object.defineProperty(exports, "getSelectedColumns", { enumerable: true, get: function () { return filter_entity_1.getSelectedColumns; } });
|
|
11
|
+
const include_fields_1 = require("./include-fields");
|
|
12
|
+
Object.defineProperty(exports, "prepareIncludeFields", { enumerable: true, get: function () { return include_fields_1.prepareIncludeFields; } });
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../nodes/Autotask/operations/common/select-columns/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4E;AAS3E,oGATQ,iCAAmB,OASR;AACnB,uGAV6B,oCAAsB,OAU7B;AATvB,mDAIyB;AAMxB,8GATA,6CAA6B,OASA;AAC7B,gHATA,+CAA+B,OASA;AAC/B,mGATA,kCAAkB,OASA;AAPnB,qDAA2F;AAQ1F,qGARQ,qCAAoB,OAQR"}
|
|
@@ -107,6 +107,7 @@ exports.searchFilterOperations = [
|
|
|
107
107
|
{ name: 'String', value: 'string' },
|
|
108
108
|
{ name: 'Number', value: 'number' },
|
|
109
109
|
{ name: 'Boolean', value: 'boolean' },
|
|
110
|
+
{ name: 'Date', value: 'date' },
|
|
110
111
|
],
|
|
111
112
|
default: 'string',
|
|
112
113
|
description: 'The type of value to be compared',
|
|
@@ -117,6 +118,35 @@ exports.searchFilterOperations = [
|
|
|
117
118
|
type: 'string',
|
|
118
119
|
default: '',
|
|
119
120
|
description: 'For boolean values, use "true" or "false"',
|
|
121
|
+
displayOptions: {
|
|
122
|
+
hide: {
|
|
123
|
+
valueType: ['date', 'boolean'],
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
displayName: 'Date Value',
|
|
129
|
+
name: 'dateValue',
|
|
130
|
+
type: 'dateTime',
|
|
131
|
+
default: '',
|
|
132
|
+
description: 'The date to be compared. Will be converted to UTC if timezone is configured in credentials.',
|
|
133
|
+
displayOptions: {
|
|
134
|
+
show: {
|
|
135
|
+
valueType: ['date'],
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
displayName: 'Boolean Value',
|
|
141
|
+
name: 'booleanValue',
|
|
142
|
+
type: 'boolean',
|
|
143
|
+
default: false,
|
|
144
|
+
description: 'Whether the condition should match true or false',
|
|
145
|
+
displayOptions: {
|
|
146
|
+
show: {
|
|
147
|
+
valueType: ['boolean'],
|
|
148
|
+
},
|
|
149
|
+
},
|
|
120
150
|
},
|
|
121
151
|
{
|
|
122
152
|
displayName: 'Is UDF?',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/resources/searchFilter/description.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/resources/searchFilter/description.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
|
|
2
|
-
export declare
|
|
2
|
+
export declare function build(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
@@ -1,34 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.build =
|
|
3
|
+
exports.build = build;
|
|
4
4
|
const searchFilterBuilder_1 = require("../../helpers/searchFilterBuilder");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
5
|
+
async function build() {
|
|
6
|
+
try {
|
|
7
|
+
let rawInput;
|
|
8
|
+
try {
|
|
9
|
+
rawInput = this.getNodeParameter('filter', 0);
|
|
10
|
+
if (!rawInput || !rawInput.group || !Array.isArray(rawInput.group)) {
|
|
11
|
+
return [[{ json: { error: 'Invalid filter structure' } }]];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
catch (filterError) {
|
|
15
|
+
return [[{ json: { error: 'Failed to get filter parameter', details: filterError.message } }]];
|
|
16
|
+
}
|
|
17
|
+
let input;
|
|
18
|
+
try {
|
|
19
|
+
input = {
|
|
20
|
+
filter: {
|
|
21
|
+
group: rawInput.group.map(group => {
|
|
22
|
+
if (!group.items || !group.items.itemType || !Array.isArray(group.items.itemType)) {
|
|
23
|
+
throw new Error(`Invalid group structure`);
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
op: group.op,
|
|
27
|
+
items: group.items.itemType.map(item => {
|
|
28
|
+
let itemValue;
|
|
29
|
+
if (item.valueType === 'date' && item.dateValue !== undefined) {
|
|
30
|
+
itemValue = item.dateValue;
|
|
31
|
+
}
|
|
32
|
+
else if (item.valueType === 'boolean' && item.booleanValue !== undefined) {
|
|
33
|
+
itemValue = item.booleanValue;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
itemValue = item.value;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
itemType: {
|
|
40
|
+
type: 'condition',
|
|
41
|
+
field: item.field,
|
|
42
|
+
op: item.op,
|
|
43
|
+
value: itemValue,
|
|
44
|
+
valueType: item.valueType,
|
|
45
|
+
dateValue: item.dateValue,
|
|
46
|
+
booleanValue: item.booleanValue,
|
|
47
|
+
udf: item.udf
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
})
|
|
51
|
+
};
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
catch (transformError) {
|
|
57
|
+
return [[{ json: { error: 'Failed to transform filter input', details: transformError.message } }]];
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
(0, searchFilterBuilder_1.validateFilterInput)(input);
|
|
61
|
+
const autotaskFilter = await (0, searchFilterBuilder_1.convertToAutotaskFilter)(input, this);
|
|
62
|
+
return [[{ json: { advancedFilter: JSON.stringify(autotaskFilter) } }]];
|
|
63
|
+
}
|
|
64
|
+
catch (validationError) {
|
|
65
|
+
return [[{ json: { error: 'Filter validation or conversion failed', details: validationError.message } }]];
|
|
19
66
|
}
|
|
20
|
-
};
|
|
21
|
-
console.log('Filter input:', JSON.stringify(input, null, 2));
|
|
22
|
-
console.log('Has filter?', !!input.filter);
|
|
23
|
-
console.log('Has group?', !!((_a = input.filter) === null || _a === void 0 ? void 0 : _a.group));
|
|
24
|
-
console.log('Group length:', (_c = (_b = input.filter) === null || _b === void 0 ? void 0 : _b.group) === null || _c === void 0 ? void 0 : _c.length);
|
|
25
|
-
if (((_e = (_d = input.filter) === null || _d === void 0 ? void 0 : _d.group) === null || _e === void 0 ? void 0 : _e.length) > 0) {
|
|
26
|
-
console.log('First group:', JSON.stringify(input.filter.group[0], null, 2));
|
|
27
|
-
console.log('First group items:', JSON.stringify(input.filter.group[0].items, null, 2));
|
|
28
67
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
exports.build = build;
|
|
68
|
+
catch (error) {
|
|
69
|
+
return [[{ json: { error: 'Unexpected error in search filter', details: error.message } }]];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
34
72
|
//# sourceMappingURL=execute.js.map
|