@limetech/n8n-nodes-lime 3.11.3 → 3.13.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/CHANGELOG.md +19 -0
- package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +4 -2
- package/dist/nodes/lime-crm/LimeCrmNode.node.js +4 -1
- package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +1 -1
- package/dist/nodes/lime-crm/{LimeCrm.node.json → LimeCrmNode.node.json} +2 -2
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +1 -0
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +1 -1
- package/dist/nodes/lime-crm/methods/getLimetypeProperties.js +6 -2
- package/dist/nodes/lime-crm/methods/getLimetypeProperties.js.map +1 -1
- package/dist/nodes/lime-crm/methods/index.d.ts +1 -0
- package/dist/nodes/lime-crm/methods/index.js +3 -1
- package/dist/nodes/lime-crm/methods/index.js.map +1 -1
- package/dist/nodes/lime-crm/methods/resourceMapping.js +9 -3
- package/dist/nodes/lime-crm/methods/resourceMapping.js.map +1 -1
- package/dist/nodes/lime-crm/methods/searchLimetypes.d.ts +2 -0
- package/dist/nodes/lime-crm/methods/searchLimetypes.js +23 -0
- package/dist/nodes/lime-crm/methods/searchLimetypes.js.map +1 -0
- package/dist/nodes/lime-crm/resources/data/operations/bulkImportCommons.js +22 -6
- package/dist/nodes/lime-crm/resources/data/operations/bulkImportCommons.js.map +1 -1
- package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.js +40 -9
- package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.js.map +1 -1
- package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.js +22 -6
- package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.js.map +1 -1
- package/dist/nodes/lime-forms/LimeFormsTrigger.node.js +1 -0
- package/dist/nodes/lime-forms/LimeFormsTrigger.node.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/nodes/lime-crm/{LimeCrm.node.json → LimeCrmNode.node.json} +2 -2
- package/nodes/lime-crm/LimeCrmNode.node.ts +7 -3
- package/nodes/lime-crm/LimeCrmTrigger.node.ts +2 -0
- package/nodes/lime-crm/methods/getLimetypeProperties.ts +6 -2
- package/nodes/lime-crm/methods/index.ts +1 -0
- package/nodes/lime-crm/methods/resourceMapping.ts +9 -3
- package/nodes/lime-crm/methods/searchLimetypes.ts +33 -0
- package/nodes/lime-crm/resources/data/operations/bulkImportCommons.ts +22 -6
- package/nodes/lime-crm/resources/data/operations/createSingleObject.operation.ts +22 -6
- package/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.ts +22 -6
- package/nodes/lime-crm/resources/data/operations/getManyObjects.operation.ts +44 -9
- package/nodes/lime-crm/resources/data/operations/getSingleFile.operation.ts +22 -6
- package/nodes/lime-crm/resources/data/operations/getSingleObject.operation.ts +22 -6
- package/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.ts +22 -6
- package/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.ts +22 -6
- package/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.ts +22 -6
- package/nodes/lime-forms/LimeFormsTrigger.node.ts +2 -0
- package/package.json +1 -1
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"resources": {
|
|
7
7
|
"credentialDocumentation": [
|
|
8
8
|
{
|
|
9
|
-
"url": "https://lime-crm.com/
|
|
9
|
+
"url": "https://platform.docs.lime-crm.com/en/latest/workflows-and-integrations/node-reference/"
|
|
10
10
|
}
|
|
11
11
|
],
|
|
12
12
|
"primaryDocumentation": [
|
|
13
13
|
{
|
|
14
|
-
"url": "https://lime-crm.com/
|
|
14
|
+
"url": "https://platform.docs.lime-crm.com/en/latest/workflows-and-integrations/node-reference/"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
getFileProperties,
|
|
24
24
|
getLimetypeProperties,
|
|
25
|
-
|
|
25
|
+
searchLimetypes,
|
|
26
26
|
getNoHasManyProperties,
|
|
27
27
|
getRelationProperties,
|
|
28
28
|
getCreateMappingColumns,
|
|
@@ -80,6 +80,8 @@ export class LimeCrmNode implements INodeType {
|
|
|
80
80
|
description: INodeTypeDescription = {
|
|
81
81
|
displayName: 'Lime CRM',
|
|
82
82
|
name: 'limeCrm',
|
|
83
|
+
documentationUrl:
|
|
84
|
+
'https://platform.docs.lime-crm.com/en/latest/workflows-and-integrations/node-reference/',
|
|
83
85
|
icon: 'file:assets/lime-crm.svg',
|
|
84
86
|
group: ['transform'],
|
|
85
87
|
version: 1,
|
|
@@ -138,7 +140,7 @@ export class LimeCrmNode implements INodeType {
|
|
|
138
140
|
* @remarks
|
|
139
141
|
* These functions are used to populate dropdowns and lists in the node's
|
|
140
142
|
* parameter editor. For details, see:
|
|
141
|
-
* - {@link
|
|
143
|
+
* - {@link searchLimetypes}
|
|
142
144
|
* - {@link getFileProperties}
|
|
143
145
|
* - {@link getLimetypeProperties}
|
|
144
146
|
* - {@link getNoHasManyProperties}
|
|
@@ -147,13 +149,15 @@ export class LimeCrmNode implements INodeType {
|
|
|
147
149
|
*/
|
|
148
150
|
methods = {
|
|
149
151
|
loadOptions: {
|
|
150
|
-
getLimetypes,
|
|
151
152
|
getLimetypeProperties,
|
|
152
153
|
getFileProperties,
|
|
153
154
|
getNoHasManyProperties,
|
|
154
155
|
getRelationProperties,
|
|
155
156
|
getRelationPropertiesWithLookupField,
|
|
156
157
|
},
|
|
158
|
+
listSearch: {
|
|
159
|
+
searchLimetypes,
|
|
160
|
+
},
|
|
157
161
|
resourceMapping: {
|
|
158
162
|
getUpdateMappingColumns,
|
|
159
163
|
getCreateMappingColumns,
|
|
@@ -52,6 +52,8 @@ export class LimeCrmTrigger implements INodeType {
|
|
|
52
52
|
description: INodeTypeDescription = {
|
|
53
53
|
displayName: 'Lime CRM Trigger',
|
|
54
54
|
name: 'limeCrmTrigger',
|
|
55
|
+
documentationUrl:
|
|
56
|
+
'https://platform.docs.lime-crm.com/en/latest/workflows-and-integrations/node-reference/',
|
|
55
57
|
icon: 'file:assets/lime-crm.svg',
|
|
56
58
|
group: ['trigger'],
|
|
57
59
|
version: 1,
|
|
@@ -18,7 +18,9 @@ import { getProperties } from '../transport/';
|
|
|
18
18
|
* @group Load Options Methods
|
|
19
19
|
*/
|
|
20
20
|
async function fetchAllProperties(nodeContext: ILoadOptionsFunctions) {
|
|
21
|
-
const limetype = nodeContext.getNodeParameter('limetype', ''
|
|
21
|
+
const limetype = nodeContext.getNodeParameter('limetype', '', {
|
|
22
|
+
extractValue: true,
|
|
23
|
+
}) as string;
|
|
22
24
|
Logger.info(`Fetching file properties for Lime type: ${limetype}`);
|
|
23
25
|
if (!limetype) return [];
|
|
24
26
|
try {
|
|
@@ -143,7 +145,9 @@ export async function getRelationProperties(
|
|
|
143
145
|
export async function getRelationPropertiesWithLookupField(
|
|
144
146
|
this: ILoadOptionsFunctions
|
|
145
147
|
): Promise<INodePropertyOptions[]> {
|
|
146
|
-
const limetype = this.getNodeParameter('limetype', ''
|
|
148
|
+
const limetype = this.getNodeParameter('limetype', '', {
|
|
149
|
+
extractValue: true,
|
|
150
|
+
}) as string;
|
|
147
151
|
|
|
148
152
|
if (!limetype) return [];
|
|
149
153
|
|
|
@@ -138,7 +138,9 @@ export function parseResourceMapperFields(
|
|
|
138
138
|
export async function getCreateMappingColumns(
|
|
139
139
|
this: ILoadOptionsFunctions
|
|
140
140
|
): Promise<ResourceMapperFields> {
|
|
141
|
-
const limetype = this.getNodeParameter('limetype'
|
|
141
|
+
const limetype = this.getNodeParameter('limetype', undefined, {
|
|
142
|
+
extractValue: true,
|
|
143
|
+
}) as string;
|
|
142
144
|
return getMappingColumns(this, 'create', limetype);
|
|
143
145
|
}
|
|
144
146
|
|
|
@@ -148,7 +150,9 @@ export async function getCreateMappingColumns(
|
|
|
148
150
|
export async function getUpdateMappingColumns(
|
|
149
151
|
this: ILoadOptionsFunctions
|
|
150
152
|
): Promise<ResourceMapperFields> {
|
|
151
|
-
const limetype = this.getNodeParameter('limetype'
|
|
153
|
+
const limetype = this.getNodeParameter('limetype', undefined, {
|
|
154
|
+
extractValue: true,
|
|
155
|
+
}) as string;
|
|
152
156
|
return getMappingColumns(this, 'update', limetype);
|
|
153
157
|
}
|
|
154
158
|
|
|
@@ -159,7 +163,9 @@ export async function getUpdateMappingColumns(
|
|
|
159
163
|
export async function getRelationLookupMappingColumns(
|
|
160
164
|
this: ILoadOptionsFunctions
|
|
161
165
|
): Promise<ResourceMapperFields> {
|
|
162
|
-
const limetype = this.getNodeParameter('limetype'
|
|
166
|
+
const limetype = this.getNodeParameter('limetype', undefined, {
|
|
167
|
+
extractValue: true,
|
|
168
|
+
}) as string;
|
|
163
169
|
if (!limetype) {
|
|
164
170
|
return { fields: [] };
|
|
165
171
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
|
|
2
|
+
import { getLimetypesFromApi } from '../transport';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Search available Limetypes for a `resourceLocator` list mode.
|
|
6
|
+
*
|
|
7
|
+
* @param filter - Optional text to filter Limetypes by their display name
|
|
8
|
+
* @returns Matching Limetypes as resource locator search results
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
* @group List Search Methods
|
|
12
|
+
*/
|
|
13
|
+
export async function searchLimetypes(
|
|
14
|
+
this: ILoadOptionsFunctions,
|
|
15
|
+
filter?: string
|
|
16
|
+
): Promise<INodeListSearchResult> {
|
|
17
|
+
const response = await getLimetypesFromApi(this);
|
|
18
|
+
if (!response.success) return { results: [] };
|
|
19
|
+
|
|
20
|
+
const results = response.data
|
|
21
|
+
.map((limetype) => ({
|
|
22
|
+
name: limetype.localname?.singular || limetype.name,
|
|
23
|
+
value: limetype.name,
|
|
24
|
+
}))
|
|
25
|
+
.filter((item) =>
|
|
26
|
+
filter
|
|
27
|
+
? item.name.toLowerCase().includes(filter.toLowerCase())
|
|
28
|
+
: true
|
|
29
|
+
)
|
|
30
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
31
|
+
|
|
32
|
+
return { results };
|
|
33
|
+
}
|
|
@@ -57,13 +57,27 @@ export function getBulkImportProperties(
|
|
|
57
57
|
{
|
|
58
58
|
displayName: 'Limetype',
|
|
59
59
|
name: 'limetype',
|
|
60
|
-
type: '
|
|
61
|
-
|
|
62
|
-
loadOptionsMethod: 'getLimetypes',
|
|
63
|
-
},
|
|
60
|
+
type: 'resourceLocator',
|
|
61
|
+
default: { mode: 'list', value: '' },
|
|
64
62
|
required: true,
|
|
65
|
-
default: '',
|
|
66
63
|
description: 'The type of object to import',
|
|
64
|
+
modes: [
|
|
65
|
+
{
|
|
66
|
+
displayName: 'From List',
|
|
67
|
+
name: 'list',
|
|
68
|
+
type: 'list',
|
|
69
|
+
typeOptions: {
|
|
70
|
+
searchListMethod: 'searchLimetypes',
|
|
71
|
+
searchable: true,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
displayName: 'By Name',
|
|
76
|
+
name: 'name',
|
|
77
|
+
type: 'string',
|
|
78
|
+
placeholder: 'e.g. company',
|
|
79
|
+
},
|
|
80
|
+
],
|
|
67
81
|
displayOptions: {
|
|
68
82
|
show: {
|
|
69
83
|
resource: [DATA_RESOURCE],
|
|
@@ -217,7 +231,9 @@ export async function executeBulkImport(
|
|
|
217
231
|
return undefined;
|
|
218
232
|
}
|
|
219
233
|
|
|
220
|
-
const limetype = context.getNodeParameter('limetype', i
|
|
234
|
+
const limetype = context.getNodeParameter('limetype', i, undefined, {
|
|
235
|
+
extractValue: true,
|
|
236
|
+
}) as string;
|
|
221
237
|
const inputMethod = context.getNodeParameter('inputMethod', i) as string;
|
|
222
238
|
const items = context.getInputData();
|
|
223
239
|
|
|
@@ -36,13 +36,27 @@ export const properties: INodeProperties[] = [
|
|
|
36
36
|
{
|
|
37
37
|
displayName: 'Limetype',
|
|
38
38
|
name: 'limetype',
|
|
39
|
-
type: '
|
|
40
|
-
|
|
41
|
-
loadOptionsMethod: 'getLimetypes',
|
|
42
|
-
},
|
|
39
|
+
type: 'resourceLocator',
|
|
40
|
+
default: { mode: 'list', value: '' },
|
|
43
41
|
required: true,
|
|
44
|
-
default: '',
|
|
45
42
|
description: 'The type of entity to create',
|
|
43
|
+
modes: [
|
|
44
|
+
{
|
|
45
|
+
displayName: 'From List',
|
|
46
|
+
name: 'list',
|
|
47
|
+
type: 'list',
|
|
48
|
+
typeOptions: {
|
|
49
|
+
searchListMethod: 'searchLimetypes',
|
|
50
|
+
searchable: true,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
displayName: 'By Name',
|
|
55
|
+
name: 'name',
|
|
56
|
+
type: 'string',
|
|
57
|
+
placeholder: 'e.g. company',
|
|
58
|
+
},
|
|
59
|
+
],
|
|
46
60
|
displayOptions: {
|
|
47
61
|
show: {
|
|
48
62
|
resource: [DATA_RESOURCE],
|
|
@@ -140,7 +154,9 @@ export const properties: INodeProperties[] = [
|
|
|
140
154
|
* @public
|
|
141
155
|
*/
|
|
142
156
|
export async function execute(this: IExecuteFunctions, i: number) {
|
|
143
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
157
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
158
|
+
extractValue: true,
|
|
159
|
+
}) as string;
|
|
144
160
|
const inputMethod = this.getNodeParameter('inputMethod', i) as string;
|
|
145
161
|
|
|
146
162
|
let objectData: IDataObject;
|
|
@@ -29,13 +29,27 @@ export const properties: INodeProperties[] = [
|
|
|
29
29
|
{
|
|
30
30
|
displayName: 'Limetype',
|
|
31
31
|
name: 'limetype',
|
|
32
|
-
type: '
|
|
33
|
-
|
|
34
|
-
loadOptionsMethod: 'getLimetypes',
|
|
35
|
-
},
|
|
32
|
+
type: 'resourceLocator',
|
|
33
|
+
default: { mode: 'list', value: '' },
|
|
36
34
|
required: true,
|
|
37
|
-
default: '',
|
|
38
35
|
description: 'The type of entity to delete',
|
|
36
|
+
modes: [
|
|
37
|
+
{
|
|
38
|
+
displayName: 'From List',
|
|
39
|
+
name: 'list',
|
|
40
|
+
type: 'list',
|
|
41
|
+
typeOptions: {
|
|
42
|
+
searchListMethod: 'searchLimetypes',
|
|
43
|
+
searchable: true,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
displayName: 'By Name',
|
|
48
|
+
name: 'name',
|
|
49
|
+
type: 'string',
|
|
50
|
+
placeholder: 'e.g. company',
|
|
51
|
+
},
|
|
52
|
+
],
|
|
39
53
|
displayOptions: {
|
|
40
54
|
show: {
|
|
41
55
|
resource: [DATA_RESOURCE],
|
|
@@ -80,7 +94,9 @@ export async function execute(
|
|
|
80
94
|
this: IExecuteFunctions,
|
|
81
95
|
i: number
|
|
82
96
|
): Promise<WorkflowResponse<Record<string, never>>> {
|
|
83
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
97
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
98
|
+
extractValue: true,
|
|
99
|
+
}) as string;
|
|
84
100
|
const objectId = this.getNodeParameter('objectId', i) as string;
|
|
85
101
|
|
|
86
102
|
const response = await deleteLimeobject(this, limetype, objectId);
|
|
@@ -90,13 +90,27 @@ export const properties: INodeProperties[] = [
|
|
|
90
90
|
{
|
|
91
91
|
displayName: 'Limetype',
|
|
92
92
|
name: 'limetype',
|
|
93
|
-
type: '
|
|
94
|
-
|
|
95
|
-
loadOptionsMethod: 'getLimetypes',
|
|
96
|
-
},
|
|
93
|
+
type: 'resourceLocator',
|
|
94
|
+
default: { mode: 'list', value: '' },
|
|
97
95
|
required: true,
|
|
98
|
-
default: '',
|
|
99
96
|
description: 'The type of entity to query',
|
|
97
|
+
modes: [
|
|
98
|
+
{
|
|
99
|
+
displayName: 'From List',
|
|
100
|
+
name: 'list',
|
|
101
|
+
type: 'list',
|
|
102
|
+
typeOptions: {
|
|
103
|
+
searchListMethod: 'searchLimetypes',
|
|
104
|
+
searchable: true,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
displayName: 'By Name',
|
|
109
|
+
name: 'name',
|
|
110
|
+
type: 'string',
|
|
111
|
+
placeholder: 'e.g. company',
|
|
112
|
+
},
|
|
113
|
+
],
|
|
100
114
|
displayOptions: {
|
|
101
115
|
show: {
|
|
102
116
|
resource: [DATA_RESOURCE],
|
|
@@ -211,6 +225,21 @@ export const properties: INodeProperties[] = [
|
|
|
211
225
|
},
|
|
212
226
|
},
|
|
213
227
|
},
|
|
228
|
+
{
|
|
229
|
+
displayName: 'Offset',
|
|
230
|
+
name: 'offset',
|
|
231
|
+
type: 'number',
|
|
232
|
+
default: '',
|
|
233
|
+
placeholder: 'e.g. 200',
|
|
234
|
+
description:
|
|
235
|
+
'Use together with Limit to manually control pagination when fetching data in batches. This is useful when the number of records exceeds tens of thousands and you want to keep each workflow iteration lightweight. Leave empty to fetch all objects at once, using automatic pagination under the hood.',
|
|
236
|
+
displayOptions: {
|
|
237
|
+
show: {
|
|
238
|
+
resource: [DATA_RESOURCE],
|
|
239
|
+
operation: ['getManyObjects'],
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
},
|
|
214
243
|
{
|
|
215
244
|
displayName: 'Order By',
|
|
216
245
|
name: 'orderByInputMethod',
|
|
@@ -386,6 +415,7 @@ function getOrderBy(orderByCollection: OrderByCollection) {
|
|
|
386
415
|
* @param filter - JSON string representing the filter conditions for the query
|
|
387
416
|
* @param limit - Maximum number of objects to fetch in this request
|
|
388
417
|
* @param orderBy - Array of objects defining the sorting of the results
|
|
418
|
+
* @param offset - Starting offset for fetching. Defaults to 0, which preserves automatic pagination from the beginning.
|
|
389
419
|
*
|
|
390
420
|
* @returns Array of fetched objects or an error response as an array.
|
|
391
421
|
*/
|
|
@@ -395,7 +425,8 @@ async function fetchLimeObjects(
|
|
|
395
425
|
responseFormat: ResponseFormat,
|
|
396
426
|
filter: string,
|
|
397
427
|
limit: number | null,
|
|
398
|
-
orderBy: Record<string, 'ASC' | 'DESC'>[]
|
|
428
|
+
orderBy: Record<string, 'ASC' | 'DESC'>[],
|
|
429
|
+
offset = 0
|
|
399
430
|
): Promise<WorkflowResponse<IncludedProperties[]>> {
|
|
400
431
|
const allResults: IncludedProperties[] = [];
|
|
401
432
|
const parsedFilter = JSON.parse(filter);
|
|
@@ -403,7 +434,7 @@ async function fetchLimeObjects(
|
|
|
403
434
|
const targetLimit = unlimited ? Infinity : limit;
|
|
404
435
|
|
|
405
436
|
let fetched = 0;
|
|
406
|
-
let currentOffset =
|
|
437
|
+
let currentOffset = offset;
|
|
407
438
|
|
|
408
439
|
while (fetched < targetLimit) {
|
|
409
440
|
const currentLimit =
|
|
@@ -458,7 +489,9 @@ async function fetchLimeObjects(
|
|
|
458
489
|
* @public
|
|
459
490
|
*/
|
|
460
491
|
export async function execute(this: IExecuteFunctions, i: number) {
|
|
461
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
492
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
493
|
+
extractValue: true,
|
|
494
|
+
}) as string;
|
|
462
495
|
const responseFormatInputMethod = this.getNodeParameter(
|
|
463
496
|
'responseFormatInputMethod',
|
|
464
497
|
i
|
|
@@ -473,6 +506,7 @@ export async function execute(this: IExecuteFunctions, i: number) {
|
|
|
473
506
|
i,
|
|
474
507
|
DEFAULT_API_OBJECT_LIMIT
|
|
475
508
|
) as number;
|
|
509
|
+
const offset = (this.getNodeParameter('offset', i, 0) as number) || 0;
|
|
476
510
|
|
|
477
511
|
let response;
|
|
478
512
|
if (responseFormatInputMethod === 'fields') {
|
|
@@ -504,6 +538,7 @@ export async function execute(this: IExecuteFunctions, i: number) {
|
|
|
504
538
|
response,
|
|
505
539
|
filter,
|
|
506
540
|
limit,
|
|
507
|
-
orderBy
|
|
541
|
+
orderBy,
|
|
542
|
+
offset
|
|
508
543
|
);
|
|
509
544
|
}
|
|
@@ -59,13 +59,27 @@ export const properties: INodeProperties[] = [
|
|
|
59
59
|
{
|
|
60
60
|
displayName: 'Limetype',
|
|
61
61
|
name: 'limetype',
|
|
62
|
-
type: '
|
|
63
|
-
|
|
64
|
-
loadOptionsMethod: 'getLimetypes',
|
|
65
|
-
},
|
|
62
|
+
type: 'resourceLocator',
|
|
63
|
+
default: { mode: 'list', value: '' },
|
|
66
64
|
required: true,
|
|
67
|
-
default: '',
|
|
68
65
|
description: 'The type of entity associated with the file',
|
|
66
|
+
modes: [
|
|
67
|
+
{
|
|
68
|
+
displayName: 'From List',
|
|
69
|
+
name: 'list',
|
|
70
|
+
type: 'list',
|
|
71
|
+
typeOptions: {
|
|
72
|
+
searchListMethod: 'searchLimetypes',
|
|
73
|
+
searchable: true,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
displayName: 'By Name',
|
|
78
|
+
name: 'name',
|
|
79
|
+
type: 'string',
|
|
80
|
+
placeholder: 'e.g. company',
|
|
81
|
+
},
|
|
82
|
+
],
|
|
69
83
|
displayOptions: {
|
|
70
84
|
show: {
|
|
71
85
|
resource: [DATA_RESOURCE],
|
|
@@ -145,7 +159,9 @@ export async function execute(
|
|
|
145
159
|
};
|
|
146
160
|
}
|
|
147
161
|
if (source == 'byLimeobject') {
|
|
148
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
162
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
163
|
+
extractValue: true,
|
|
164
|
+
}) as string;
|
|
149
165
|
const property = this.getNodeParameter('property', i) as string;
|
|
150
166
|
|
|
151
167
|
const fileResponse = await getFileContentByLimetype(
|
|
@@ -29,13 +29,27 @@ export const properties: INodeProperties[] = [
|
|
|
29
29
|
{
|
|
30
30
|
displayName: 'Limetype',
|
|
31
31
|
name: 'limetype',
|
|
32
|
-
type: '
|
|
33
|
-
|
|
34
|
-
loadOptionsMethod: 'getLimetypes',
|
|
35
|
-
},
|
|
32
|
+
type: 'resourceLocator',
|
|
33
|
+
default: { mode: 'list', value: '' },
|
|
36
34
|
required: true,
|
|
37
|
-
default: '',
|
|
38
35
|
description: 'The type of entity to retrieve',
|
|
36
|
+
modes: [
|
|
37
|
+
{
|
|
38
|
+
displayName: 'From List',
|
|
39
|
+
name: 'list',
|
|
40
|
+
type: 'list',
|
|
41
|
+
typeOptions: {
|
|
42
|
+
searchListMethod: 'searchLimetypes',
|
|
43
|
+
searchable: true,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
displayName: 'By Name',
|
|
48
|
+
name: 'name',
|
|
49
|
+
type: 'string',
|
|
50
|
+
placeholder: 'e.g. company',
|
|
51
|
+
},
|
|
52
|
+
],
|
|
39
53
|
displayOptions: {
|
|
40
54
|
show: {
|
|
41
55
|
resource: [DATA_RESOURCE],
|
|
@@ -98,7 +112,9 @@ export async function execute(
|
|
|
98
112
|
this: IExecuteFunctions,
|
|
99
113
|
i: number
|
|
100
114
|
): Promise<WorkflowFileResponse<Limeobject>> {
|
|
101
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
115
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
116
|
+
extractValue: true,
|
|
117
|
+
}) as string;
|
|
102
118
|
const objectId = this.getNodeParameter('objectId', i) as string;
|
|
103
119
|
const includeFileContent = this.getNodeParameter(
|
|
104
120
|
'includeFileContent',
|
|
@@ -36,13 +36,27 @@ export const properties: INodeProperties[] = [
|
|
|
36
36
|
{
|
|
37
37
|
displayName: 'Limetype',
|
|
38
38
|
name: 'limetype',
|
|
39
|
-
type: '
|
|
40
|
-
|
|
41
|
-
loadOptionsMethod: 'getLimetypes',
|
|
42
|
-
},
|
|
39
|
+
type: 'resourceLocator',
|
|
40
|
+
default: { mode: 'list', value: '' },
|
|
43
41
|
required: true,
|
|
44
|
-
default: '',
|
|
45
42
|
description: 'The type of entity to update',
|
|
43
|
+
modes: [
|
|
44
|
+
{
|
|
45
|
+
displayName: 'From List',
|
|
46
|
+
name: 'list',
|
|
47
|
+
type: 'list',
|
|
48
|
+
typeOptions: {
|
|
49
|
+
searchListMethod: 'searchLimetypes',
|
|
50
|
+
searchable: true,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
displayName: 'By Name',
|
|
55
|
+
name: 'name',
|
|
56
|
+
type: 'string',
|
|
57
|
+
placeholder: 'e.g. company',
|
|
58
|
+
},
|
|
59
|
+
],
|
|
46
60
|
displayOptions: {
|
|
47
61
|
show: {
|
|
48
62
|
resource: [DATA_RESOURCE],
|
|
@@ -160,7 +174,9 @@ export async function execute(
|
|
|
160
174
|
this: IExecuteFunctions,
|
|
161
175
|
i: number
|
|
162
176
|
): Promise<WorkflowFileResponse<Limeobject>> {
|
|
163
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
177
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
178
|
+
extractValue: true,
|
|
179
|
+
}) as string;
|
|
164
180
|
const id = this.getNodeParameter('id', i) as string;
|
|
165
181
|
const inputType = this.getNodeParameter('inputType', i) as string;
|
|
166
182
|
|
|
@@ -60,13 +60,27 @@ export const properties: INodeProperties[] = [
|
|
|
60
60
|
{
|
|
61
61
|
displayName: 'Limetype',
|
|
62
62
|
name: 'limetype',
|
|
63
|
-
type: '
|
|
64
|
-
|
|
65
|
-
loadOptionsMethod: 'getLimetypes',
|
|
66
|
-
},
|
|
63
|
+
type: 'resourceLocator',
|
|
64
|
+
default: { mode: 'list', value: '' },
|
|
67
65
|
required: true,
|
|
68
|
-
default: '',
|
|
69
66
|
description: 'The type of entity associated with the file',
|
|
67
|
+
modes: [
|
|
68
|
+
{
|
|
69
|
+
displayName: 'From List',
|
|
70
|
+
name: 'list',
|
|
71
|
+
type: 'list',
|
|
72
|
+
typeOptions: {
|
|
73
|
+
searchListMethod: 'searchLimetypes',
|
|
74
|
+
searchable: true,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
displayName: 'By Name',
|
|
79
|
+
name: 'name',
|
|
80
|
+
type: 'string',
|
|
81
|
+
placeholder: 'e.g. company',
|
|
82
|
+
},
|
|
83
|
+
],
|
|
70
84
|
displayOptions: {
|
|
71
85
|
show: {
|
|
72
86
|
resource: [METADATA_RESOURCE],
|
|
@@ -133,7 +147,9 @@ export async function execute(
|
|
|
133
147
|
if (source == 'byFile') {
|
|
134
148
|
response = await getFileMetadata(this, id);
|
|
135
149
|
} else if (source == 'byLimeobject') {
|
|
136
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
150
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
151
|
+
extractValue: true,
|
|
152
|
+
}) as string;
|
|
137
153
|
const property = this.getNodeParameter('property', i) as string;
|
|
138
154
|
response = await getFileMetadataByLimeobject(
|
|
139
155
|
this,
|
|
@@ -26,13 +26,27 @@ export const properties: INodeProperties[] = [
|
|
|
26
26
|
{
|
|
27
27
|
displayName: 'Limetype',
|
|
28
28
|
name: 'limetype',
|
|
29
|
-
type: '
|
|
30
|
-
|
|
31
|
-
loadOptionsMethod: 'getLimetypes',
|
|
32
|
-
},
|
|
29
|
+
type: 'resourceLocator',
|
|
30
|
+
default: { mode: 'list', value: '' },
|
|
33
31
|
required: true,
|
|
34
|
-
default: '',
|
|
35
32
|
description: 'The name of the entity type to get details for',
|
|
33
|
+
modes: [
|
|
34
|
+
{
|
|
35
|
+
displayName: 'From List',
|
|
36
|
+
name: 'list',
|
|
37
|
+
type: 'list',
|
|
38
|
+
typeOptions: {
|
|
39
|
+
searchListMethod: 'searchLimetypes',
|
|
40
|
+
searchable: true,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
displayName: 'By Name',
|
|
45
|
+
name: 'name',
|
|
46
|
+
type: 'string',
|
|
47
|
+
placeholder: 'e.g. company',
|
|
48
|
+
},
|
|
49
|
+
],
|
|
36
50
|
displayOptions: {
|
|
37
51
|
show: {
|
|
38
52
|
resource: [METADATA_RESOURCE],
|
|
@@ -56,7 +70,9 @@ export async function execute(
|
|
|
56
70
|
this: IExecuteFunctions,
|
|
57
71
|
i: number
|
|
58
72
|
): Promise<WorkflowResponse<Limetype>> {
|
|
59
|
-
const limetype = this.getNodeParameter('limetype', i
|
|
73
|
+
const limetype = this.getNodeParameter('limetype', i, undefined, {
|
|
74
|
+
extractValue: true,
|
|
75
|
+
}) as string;
|
|
60
76
|
|
|
61
77
|
const response = await getLimetype(this, limetype);
|
|
62
78
|
return response.data;
|
|
@@ -32,6 +32,8 @@ export class LimeFormsTrigger implements INodeType {
|
|
|
32
32
|
description: INodeTypeDescription = {
|
|
33
33
|
displayName: 'Lime CRM Forms Trigger',
|
|
34
34
|
name: 'limeCrmFormsTrigger',
|
|
35
|
+
documentationUrl:
|
|
36
|
+
'https://platform.docs.lime-crm.com/en/latest/workflows-and-integrations/node-reference/',
|
|
35
37
|
group: ['trigger'],
|
|
36
38
|
version: 1,
|
|
37
39
|
icon: 'file:assets/lime-crm.svg',
|