@limetech/n8n-nodes-lime 3.11.2 → 3.12.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 (59) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +4 -2
  3. package/dist/nodes/lime-crm/LimeCrmNode.node.js +4 -1
  4. package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +1 -1
  5. package/dist/nodes/lime-crm/{LimeCrm.node.json → LimeCrmNode.node.json} +2 -2
  6. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +1 -0
  7. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +1 -1
  8. package/dist/nodes/lime-crm/methods/getLimetypeProperties.js +6 -2
  9. package/dist/nodes/lime-crm/methods/getLimetypeProperties.js.map +1 -1
  10. package/dist/nodes/lime-crm/methods/index.d.ts +1 -0
  11. package/dist/nodes/lime-crm/methods/index.js +3 -1
  12. package/dist/nodes/lime-crm/methods/index.js.map +1 -1
  13. package/dist/nodes/lime-crm/methods/resourceMapping.js +9 -3
  14. package/dist/nodes/lime-crm/methods/resourceMapping.js.map +1 -1
  15. package/dist/nodes/lime-crm/methods/searchLimetypes.d.ts +2 -0
  16. package/dist/nodes/lime-crm/methods/searchLimetypes.js +23 -0
  17. package/dist/nodes/lime-crm/methods/searchLimetypes.js.map +1 -0
  18. package/dist/nodes/lime-crm/resources/data/operations/bulkImportCommons.js +22 -6
  19. package/dist/nodes/lime-crm/resources/data/operations/bulkImportCommons.js.map +1 -1
  20. package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.js +22 -6
  21. package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.js.map +1 -1
  22. package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.js +22 -6
  23. package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.js.map +1 -1
  24. package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.js +22 -6
  25. package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.js.map +1 -1
  26. package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.js +22 -6
  27. package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.js.map +1 -1
  28. package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.js +22 -6
  29. package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.js.map +1 -1
  30. package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.js +22 -6
  31. package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.js.map +1 -1
  32. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.js +22 -6
  33. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.js.map +1 -1
  34. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.js +22 -6
  35. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.js.map +1 -1
  36. package/dist/nodes/lime-forms/LimeFormsTrigger.node.js +1 -0
  37. package/dist/nodes/lime-forms/LimeFormsTrigger.node.js.map +1 -1
  38. package/dist/nodes/lime-forms/utils/workflow.js +1 -1
  39. package/dist/nodes/lime-forms/utils/workflow.js.map +1 -1
  40. package/dist/tsconfig.build.tsbuildinfo +1 -1
  41. package/nodes/lime-crm/{LimeCrm.node.json → LimeCrmNode.node.json} +2 -2
  42. package/nodes/lime-crm/LimeCrmNode.node.ts +7 -3
  43. package/nodes/lime-crm/LimeCrmTrigger.node.ts +2 -0
  44. package/nodes/lime-crm/methods/getLimetypeProperties.ts +6 -2
  45. package/nodes/lime-crm/methods/index.ts +1 -0
  46. package/nodes/lime-crm/methods/resourceMapping.ts +9 -3
  47. package/nodes/lime-crm/methods/searchLimetypes.ts +33 -0
  48. package/nodes/lime-crm/resources/data/operations/bulkImportCommons.ts +22 -6
  49. package/nodes/lime-crm/resources/data/operations/createSingleObject.operation.ts +22 -6
  50. package/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.ts +22 -6
  51. package/nodes/lime-crm/resources/data/operations/getManyObjects.operation.ts +22 -6
  52. package/nodes/lime-crm/resources/data/operations/getSingleFile.operation.ts +22 -6
  53. package/nodes/lime-crm/resources/data/operations/getSingleObject.operation.ts +22 -6
  54. package/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.ts +22 -6
  55. package/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.ts +22 -6
  56. package/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.ts +22 -6
  57. package/nodes/lime-forms/LimeFormsTrigger.node.ts +2 -0
  58. package/nodes/lime-forms/utils/workflow.ts +1 -1
  59. package/package.json +1 -1
@@ -6,12 +6,12 @@
6
6
  "resources": {
7
7
  "credentialDocumentation": [
8
8
  {
9
- "url": "https://lime-crm.com/api-docs/"
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/api-docs/"
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
- getLimetypes,
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 getLimetypes}
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', '') as string;
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', '') as string;
148
+ const limetype = this.getNodeParameter('limetype', '', {
149
+ extractValue: true,
150
+ }) as string;
147
151
 
148
152
  if (!limetype) return [];
149
153
 
@@ -1,4 +1,5 @@
1
1
  export { getLimetypes } from './getLimetypes';
2
+ export { searchLimetypes } from './searchLimetypes';
2
3
  export {
3
4
  getFileProperties,
4
5
  getFilteredLimetypeProperties,
@@ -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') as string;
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') as string;
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') as string;
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: 'options',
61
- typeOptions: {
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) as string;
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: 'options',
40
- typeOptions: {
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) as string;
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: 'options',
33
- typeOptions: {
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) as string;
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: 'options',
94
- typeOptions: {
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],
@@ -458,7 +472,9 @@ async function fetchLimeObjects(
458
472
  * @public
459
473
  */
460
474
  export async function execute(this: IExecuteFunctions, i: number) {
461
- const limetype = this.getNodeParameter('limetype', i) as string;
475
+ const limetype = this.getNodeParameter('limetype', i, undefined, {
476
+ extractValue: true,
477
+ }) as string;
462
478
  const responseFormatInputMethod = this.getNodeParameter(
463
479
  'responseFormatInputMethod',
464
480
  i
@@ -59,13 +59,27 @@ export const properties: INodeProperties[] = [
59
59
  {
60
60
  displayName: 'Limetype',
61
61
  name: 'limetype',
62
- type: 'options',
63
- typeOptions: {
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) as string;
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: 'options',
33
- typeOptions: {
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) as string;
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: 'options',
40
- typeOptions: {
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) as string;
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: 'options',
64
- typeOptions: {
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) as string;
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: 'options',
30
- typeOptions: {
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) as string;
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',
@@ -13,5 +13,5 @@ export function getWorkflowUrl(
13
13
  );
14
14
  }
15
15
 
16
- return new URL(`${baseUrl}/workflow/${workflowId}`).href;
16
+ return new URL(`workflow/${workflowId}`, baseUrl).href;
17
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/n8n-nodes-lime",
3
- "version": "3.11.2",
3
+ "version": "3.12.0",
4
4
  "description": "n8n node to connect to Lime CRM",
5
5
  "author": {
6
6
  "name": "Lime Technologies",