@learningsuite/n8n-nodes-learningsuite 1.2.2

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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.de.md +555 -0
  3. package/README.md +427 -0
  4. package/dist/credentials/LearningSuiteApi.credentials.d.ts +10 -0
  5. package/dist/credentials/LearningSuiteApi.credentials.js +49 -0
  6. package/dist/credentials/learningsuite.svg +1 -0
  7. package/dist/nodes/LearningSuite/LearningSuite.node.d.ts +65 -0
  8. package/dist/nodes/LearningSuite/LearningSuite.node.js +221 -0
  9. package/dist/nodes/LearningSuite/LearningSuiteTrigger.node.d.ts +66 -0
  10. package/dist/nodes/LearningSuite/LearningSuiteTrigger.node.js +433 -0
  11. package/dist/nodes/LearningSuite/descriptions/ai.properties.d.ts +2 -0
  12. package/dist/nodes/LearningSuite/descriptions/ai.properties.js +141 -0
  13. package/dist/nodes/LearningSuite/descriptions/apiCall.properties.d.ts +2 -0
  14. package/dist/nodes/LearningSuite/descriptions/apiCall.properties.js +87 -0
  15. package/dist/nodes/LearningSuite/descriptions/bundle.properties.d.ts +2 -0
  16. package/dist/nodes/LearningSuite/descriptions/bundle.properties.js +32 -0
  17. package/dist/nodes/LearningSuite/descriptions/community.properties.d.ts +2 -0
  18. package/dist/nodes/LearningSuite/descriptions/community.properties.js +229 -0
  19. package/dist/nodes/LearningSuite/descriptions/course.properties.d.ts +2 -0
  20. package/dist/nodes/LearningSuite/descriptions/course.properties.js +248 -0
  21. package/dist/nodes/LearningSuite/descriptions/customFields.properties.d.ts +2 -0
  22. package/dist/nodes/LearningSuite/descriptions/customFields.properties.js +452 -0
  23. package/dist/nodes/LearningSuite/descriptions/group.properties.d.ts +2 -0
  24. package/dist/nodes/LearningSuite/descriptions/group.properties.js +165 -0
  25. package/dist/nodes/LearningSuite/descriptions/hub.properties.d.ts +2 -0
  26. package/dist/nodes/LearningSuite/descriptions/hub.properties.js +167 -0
  27. package/dist/nodes/LearningSuite/descriptions/member.properties.d.ts +2 -0
  28. package/dist/nodes/LearningSuite/descriptions/member.properties.js +625 -0
  29. package/dist/nodes/LearningSuite/descriptions/module.properties.d.ts +2 -0
  30. package/dist/nodes/LearningSuite/descriptions/module.properties.js +84 -0
  31. package/dist/nodes/LearningSuite/descriptions/popup.properties.d.ts +2 -0
  32. package/dist/nodes/LearningSuite/descriptions/popup.properties.js +73 -0
  33. package/dist/nodes/LearningSuite/descriptions/resource.selector.d.ts +2 -0
  34. package/dist/nodes/LearningSuite/descriptions/resource.selector.js +87 -0
  35. package/dist/nodes/LearningSuite/descriptions/role.properties.d.ts +2 -0
  36. package/dist/nodes/LearningSuite/descriptions/role.properties.js +14 -0
  37. package/dist/nodes/LearningSuite/descriptions/teamMember.properties.d.ts +2 -0
  38. package/dist/nodes/LearningSuite/descriptions/teamMember.properties.js +74 -0
  39. package/dist/nodes/LearningSuite/descriptions/trigger.instant.properties.d.ts +2 -0
  40. package/dist/nodes/LearningSuite/descriptions/trigger.instant.properties.js +542 -0
  41. package/dist/nodes/LearningSuite/descriptions/user.properties.d.ts +2 -0
  42. package/dist/nodes/LearningSuite/descriptions/user.properties.js +135 -0
  43. package/dist/nodes/LearningSuite/descriptions/webhook.properties.d.ts +2 -0
  44. package/dist/nodes/LearningSuite/descriptions/webhook.properties.js +672 -0
  45. package/dist/nodes/LearningSuite/descriptions/webhook.sampleData.properties.d.ts +2 -0
  46. package/dist/nodes/LearningSuite/descriptions/webhook.sampleData.properties.js +401 -0
  47. package/dist/nodes/LearningSuite/exec.types.d.ts +5 -0
  48. package/dist/nodes/LearningSuite/exec.types.js +2 -0
  49. package/dist/nodes/LearningSuite/execute/ai.handlers.d.ts +4 -0
  50. package/dist/nodes/LearningSuite/execute/ai.handlers.js +23 -0
  51. package/dist/nodes/LearningSuite/execute/apiCall.handlers.d.ts +4 -0
  52. package/dist/nodes/LearningSuite/execute/apiCall.handlers.js +46 -0
  53. package/dist/nodes/LearningSuite/execute/bundle.handlers.d.ts +5 -0
  54. package/dist/nodes/LearningSuite/execute/bundle.handlers.js +12 -0
  55. package/dist/nodes/LearningSuite/execute/community.handlers.d.ts +11 -0
  56. package/dist/nodes/LearningSuite/execute/community.handlers.js +94 -0
  57. package/dist/nodes/LearningSuite/execute/course.handlers.d.ts +10 -0
  58. package/dist/nodes/LearningSuite/execute/course.handlers.js +87 -0
  59. package/dist/nodes/LearningSuite/execute/customFields.handlers.d.ts +16 -0
  60. package/dist/nodes/LearningSuite/execute/customFields.handlers.js +342 -0
  61. package/dist/nodes/LearningSuite/execute/group.handlers.d.ts +15 -0
  62. package/dist/nodes/LearningSuite/execute/group.handlers.js +99 -0
  63. package/dist/nodes/LearningSuite/execute/hub.handlers.d.ts +9 -0
  64. package/dist/nodes/LearningSuite/execute/hub.handlers.js +65 -0
  65. package/dist/nodes/LearningSuite/execute/member.handlers.d.ts +23 -0
  66. package/dist/nodes/LearningSuite/execute/member.handlers.js +244 -0
  67. package/dist/nodes/LearningSuite/execute/module.handlers.d.ts +6 -0
  68. package/dist/nodes/LearningSuite/execute/module.handlers.js +36 -0
  69. package/dist/nodes/LearningSuite/execute/popup.handlers.d.ts +7 -0
  70. package/dist/nodes/LearningSuite/execute/popup.handlers.js +24 -0
  71. package/dist/nodes/LearningSuite/execute/registry.d.ts +2 -0
  72. package/dist/nodes/LearningSuite/execute/registry.js +35 -0
  73. package/dist/nodes/LearningSuite/execute/role.handlers.d.ts +4 -0
  74. package/dist/nodes/LearningSuite/execute/role.handlers.js +6 -0
  75. package/dist/nodes/LearningSuite/execute/teamMember.handlers.d.ts +6 -0
  76. package/dist/nodes/LearningSuite/execute/teamMember.handlers.js +21 -0
  77. package/dist/nodes/LearningSuite/execute/user.handlers.d.ts +4 -0
  78. package/dist/nodes/LearningSuite/execute/user.handlers.js +32 -0
  79. package/dist/nodes/LearningSuite/execute/webhook.handlers.d.ts +9 -0
  80. package/dist/nodes/LearningSuite/execute/webhook.handlers.js +306 -0
  81. package/dist/nodes/LearningSuite/icons/learningsuite-icon-dark.svg +1 -0
  82. package/dist/nodes/LearningSuite/icons/learningsuite-icon-light.svg +1 -0
  83. package/dist/nodes/LearningSuite/index.d.ts +1 -0
  84. package/dist/nodes/LearningSuite/index.js +17 -0
  85. package/dist/nodes/LearningSuite/methods/loadOptions/apiCall.loadOptions.d.ts +1 -0
  86. package/dist/nodes/LearningSuite/methods/loadOptions/apiCall.loadOptions.js +2 -0
  87. package/dist/nodes/LearningSuite/methods/loadOptions/bundle.loadOptions.d.ts +2 -0
  88. package/dist/nodes/LearningSuite/methods/loadOptions/bundle.loadOptions.js +7 -0
  89. package/dist/nodes/LearningSuite/methods/loadOptions/common.d.ts +7 -0
  90. package/dist/nodes/LearningSuite/methods/loadOptions/common.js +22 -0
  91. package/dist/nodes/LearningSuite/methods/loadOptions/community.loadOptions.d.ts +5 -0
  92. package/dist/nodes/LearningSuite/methods/loadOptions/community.loadOptions.js +80 -0
  93. package/dist/nodes/LearningSuite/methods/loadOptions/course.loadOptions.d.ts +5 -0
  94. package/dist/nodes/LearningSuite/methods/loadOptions/course.loadOptions.js +58 -0
  95. package/dist/nodes/LearningSuite/methods/loadOptions/customFields.loadOptions.d.ts +12 -0
  96. package/dist/nodes/LearningSuite/methods/loadOptions/customFields.loadOptions.js +55 -0
  97. package/dist/nodes/LearningSuite/methods/loadOptions/group.loadOptions.d.ts +2 -0
  98. package/dist/nodes/LearningSuite/methods/loadOptions/group.loadOptions.js +7 -0
  99. package/dist/nodes/LearningSuite/methods/loadOptions/hub.loadOptions.d.ts +3 -0
  100. package/dist/nodes/LearningSuite/methods/loadOptions/hub.loadOptions.js +11 -0
  101. package/dist/nodes/LearningSuite/methods/loadOptions/member.loadOptions.d.ts +9 -0
  102. package/dist/nodes/LearningSuite/methods/loadOptions/member.loadOptions.js +27 -0
  103. package/dist/nodes/LearningSuite/methods/loadOptions/module.loadOptions.d.ts +5 -0
  104. package/dist/nodes/LearningSuite/methods/loadOptions/module.loadOptions.js +29 -0
  105. package/dist/nodes/LearningSuite/methods/loadOptions/popup.loadOptions.d.ts +2 -0
  106. package/dist/nodes/LearningSuite/methods/loadOptions/popup.loadOptions.js +7 -0
  107. package/dist/nodes/LearningSuite/methods/loadOptions/role.loadOptions.d.ts +2 -0
  108. package/dist/nodes/LearningSuite/methods/loadOptions/role.loadOptions.js +7 -0
  109. package/dist/nodes/LearningSuite/methods/loadOptions/teamMember.loadOptions.d.ts +9 -0
  110. package/dist/nodes/LearningSuite/methods/loadOptions/teamMember.loadOptions.js +35 -0
  111. package/dist/nodes/LearningSuite/methods/loadOptions/webhook.loadOptions.d.ts +6 -0
  112. package/dist/nodes/LearningSuite/methods/loadOptions/webhook.loadOptions.js +18 -0
  113. package/dist/nodes/LearningSuite/methods/resourceMappers/customFields.resourceMapper.d.ts +2 -0
  114. package/dist/nodes/LearningSuite/methods/resourceMappers/customFields.resourceMapper.js +35 -0
  115. package/dist/nodes/LearningSuite/methods/resourceMappers/hub.resourceMapper.d.ts +2 -0
  116. package/dist/nodes/LearningSuite/methods/resourceMappers/hub.resourceMapper.js +34 -0
  117. package/dist/nodes/LearningSuite/shared/customFields.helpers.d.ts +4 -0
  118. package/dist/nodes/LearningSuite/shared/customFields.helpers.js +56 -0
  119. package/dist/nodes/LearningSuite/shared/customFields.shared.d.ts +42 -0
  120. package/dist/nodes/LearningSuite/shared/customFields.shared.js +101 -0
  121. package/dist/nodes/LearningSuite/shared/customFields.upload.d.ts +13 -0
  122. package/dist/nodes/LearningSuite/shared/customFields.upload.js +198 -0
  123. package/dist/nodes/LearningSuite/shared/errors.d.ts +1 -0
  124. package/dist/nodes/LearningSuite/shared/errors.js +16 -0
  125. package/dist/nodes/LearningSuite/shared/getScopedParam.d.ts +2 -0
  126. package/dist/nodes/LearningSuite/shared/getScopedParam.js +39 -0
  127. package/dist/nodes/LearningSuite/shared/index.d.ts +4 -0
  128. package/dist/nodes/LearningSuite/shared/index.js +20 -0
  129. package/dist/nodes/LearningSuite/shared/parsing.d.ts +1 -0
  130. package/dist/nodes/LearningSuite/shared/parsing.js +15 -0
  131. package/dist/nodes/LearningSuite/shared/request.d.ts +13 -0
  132. package/dist/nodes/LearningSuite/shared/request.js +53 -0
  133. package/dist/nodes/LearningSuitePollingTrigger/LearningSuitePollingTrigger.node.d.ts +11 -0
  134. package/dist/nodes/LearningSuitePollingTrigger/LearningSuitePollingTrigger.node.js +278 -0
  135. package/dist/nodes/LearningSuitePollingTrigger/descriptions/trigger.polling.properties.d.ts +2 -0
  136. package/dist/nodes/LearningSuitePollingTrigger/descriptions/trigger.polling.properties.js +193 -0
  137. package/package.json +65 -0
@@ -0,0 +1,452 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customFieldsProperties = void 0;
4
+ exports.customFieldsProperties = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: { show: { resource: ['customFields'] } },
11
+ default: 'getCards',
12
+ options: [
13
+ {
14
+ name: 'Get Cards',
15
+ value: 'getCards',
16
+ description: 'Retrieve all custom field cards',
17
+ action: 'Retrieve all custom field cards',
18
+ },
19
+ {
20
+ name: 'Get Cards (Expanded)',
21
+ value: 'getCardsExpanded',
22
+ description: 'Retrieve custom field cards including their definitions and categories',
23
+ action: 'Retrieve custom field cards including their definitions and categories',
24
+ },
25
+ {
26
+ name: 'Get Categories',
27
+ value: 'getCategories',
28
+ description: 'Retrieve custom field categories',
29
+ action: 'Retrieve custom field categories',
30
+ },
31
+ {
32
+ name: 'Get Definitions',
33
+ value: 'getDefinitions',
34
+ description: 'Retrieve custom field definitions',
35
+ action: 'Retrieve custom field definitions',
36
+ },
37
+ {
38
+ name: 'Get Field Values',
39
+ value: 'getFieldValues',
40
+ description: 'Retrieve the values of a custom field for a user',
41
+ action: 'Retrieve the values of a custom field for a user',
42
+ },
43
+ {
44
+ name: 'Get Profile by Card',
45
+ value: 'getProfileByCard',
46
+ description: 'Retrieve the values of a custom field card profile for a user',
47
+ action: 'Retrieve the values of a custom field card profile for a user',
48
+ },
49
+ {
50
+ name: 'Get Profiles',
51
+ value: 'getProfiles',
52
+ description: 'Retrieve custom field profiles of a user',
53
+ action: 'Retrieve custom field profiles of a user',
54
+ },
55
+ {
56
+ name: 'Get Profiles (Expanded)',
57
+ value: 'getProfilesExpanded',
58
+ description: 'Retrieve custom field profiles including their values',
59
+ action: 'Retrieve custom field profiles including their values',
60
+ },
61
+ {
62
+ name: 'Get Store',
63
+ value: 'getStore',
64
+ description: 'Retrieve the complete custom field store of a user',
65
+ action: 'Retrieve the complete custom field store of a user',
66
+ },
67
+ {
68
+ name: 'Get Store Values',
69
+ value: 'getStoreValues',
70
+ description: 'Get all custom field values of a user for a given profile',
71
+ action: 'Get all custom field values of a user for a given profile',
72
+ },
73
+ {
74
+ name: 'Set Field Value',
75
+ value: 'setFieldValue',
76
+ description: 'Set the value of a single custom field for a user',
77
+ action: 'Set the value of a single custom field for a user',
78
+ },
79
+ {
80
+ name: 'Set Multiple Field Values',
81
+ value: 'setMultipleFieldValues',
82
+ description: 'Set multiple custom field values for a user in one request',
83
+ action: 'Set multiple custom field values for a user in one request',
84
+ },
85
+ {
86
+ name: 'Update Profile Field',
87
+ value: 'updateProfileField',
88
+ description: 'Update a custom field value within a profile of a custom field card',
89
+ action: 'Update a custom field value within a profile of a custom field card',
90
+ },
91
+ ],
92
+ },
93
+ {
94
+ displayName: 'User Name or ID',
95
+ name: 'userId',
96
+ type: 'options',
97
+ typeOptions: {
98
+ loadOptionsMethod: 'member_getMembers',
99
+ },
100
+ required: true,
101
+ default: '',
102
+ description: 'The ID of the user whose custom field data should be accessed. Choose from the list, or specify an ID using an expression. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
103
+ displayOptions: {
104
+ show: {
105
+ resource: ['customFields'],
106
+ operation: [
107
+ 'getFieldValues',
108
+ 'getProfileByCard',
109
+ 'getProfiles',
110
+ 'getProfilesExpanded',
111
+ 'getStore',
112
+ 'getStoreValues',
113
+ 'setFieldValue',
114
+ 'setMultipleFieldValues',
115
+ 'updateProfileField',
116
+ ],
117
+ },
118
+ },
119
+ },
120
+ {
121
+ displayName: 'Card Name or ID',
122
+ name: 'customFieldCardId',
123
+ type: 'options',
124
+ default: '',
125
+ description: 'Filter results by a specific custom field card. Choose from the list or specify an ID using an expression. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
126
+ typeOptions: {
127
+ loadOptionsMethod: 'customFields_getCards',
128
+ },
129
+ displayOptions: {
130
+ show: {
131
+ resource: ['customFields'],
132
+ operation: ['getCategories', 'getDefinitions', 'getProfiles', 'getProfilesExpanded'],
133
+ },
134
+ },
135
+ },
136
+ {
137
+ displayName: 'Card Name or ID',
138
+ name: 'customFieldCardId',
139
+ type: 'options',
140
+ required: true,
141
+ default: '',
142
+ description: 'The custom field card to use. Choose from the list or specify an ID using an expression. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
143
+ typeOptions: {
144
+ loadOptionsMethod: 'customFields_getCards',
145
+ },
146
+ displayOptions: {
147
+ show: {
148
+ resource: ['customFields'],
149
+ operation: ['getProfileByCard', 'updateProfileField'],
150
+ },
151
+ },
152
+ },
153
+ {
154
+ displayName: 'Profile Index',
155
+ name: 'profileIndex',
156
+ type: 'number',
157
+ default: null,
158
+ description: 'If specified, the profile with this index is used. Ignored if Profile ID is set. Takes precedence over Profile Name. If not specified or if the index does not exist for a given field key, the value in the default/first profile is returned.',
159
+ displayOptions: {
160
+ show: {
161
+ resource: ['customFields'],
162
+ operation: [
163
+ 'setFieldValue',
164
+ 'updateProfileField',
165
+ 'setMultipleFieldValues',
166
+ 'getProfileByCard',
167
+ 'getStoreValues',
168
+ ],
169
+ },
170
+ },
171
+ },
172
+ {
173
+ displayName: 'Profile ID',
174
+ name: 'profileId',
175
+ type: 'string',
176
+ default: '',
177
+ description: 'If specified, the profile with this ID is used. Takes precedence over Profile Index and Profile Name.',
178
+ displayOptions: {
179
+ show: {
180
+ resource: ['customFields'],
181
+ operation: ['setFieldValue', 'setMultipleFieldValues', 'getProfileByCard', 'updateProfileField'],
182
+ },
183
+ },
184
+ },
185
+ {
186
+ displayName: 'Profile Name',
187
+ name: 'profileName',
188
+ type: 'string',
189
+ default: '',
190
+ description: 'If specified, the first profile with this name is used. Ignored if Profile ID or Profile Index is set.',
191
+ displayOptions: {
192
+ show: {
193
+ resource: ['customFields'],
194
+ operation: ['updateProfileField', 'getProfileByCard'],
195
+ },
196
+ },
197
+ },
198
+ {
199
+ displayName: 'Field Key Name or ID',
200
+ name: 'fieldKey',
201
+ type: 'options',
202
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
203
+ required: true,
204
+ typeOptions: {
205
+ loadOptionsMethod: 'customFields_getDefinitions',
206
+ loadOptionsDependsOn: ['customFieldCardId'],
207
+ },
208
+ displayOptions: {
209
+ show: {
210
+ resource: ['customFields'],
211
+ operation: ['setFieldValue', 'getFieldValues', 'updateProfileField'],
212
+ },
213
+ },
214
+ default: '',
215
+ },
216
+ {
217
+ displayName: 'Field Type Name or ID',
218
+ name: 'fieldType',
219
+ type: 'options',
220
+ default: '',
221
+ description: 'Automatically detected from the selected field. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
222
+ typeOptions: {
223
+ loadOptionsMethod: 'customFields_getFieldType',
224
+ loadOptionsDependsOn: ['fieldKey'],
225
+ },
226
+ displayOptions: {
227
+ show: {
228
+ resource: ['customFields'],
229
+ operation: ['setFieldValue', 'updateProfileField'],
230
+ },
231
+ },
232
+ options: [],
233
+ },
234
+ {
235
+ displayName: 'Field Value',
236
+ name: 'fieldValueString',
237
+ type: 'string',
238
+ default: '',
239
+ required: true,
240
+ placeholder: 'Enter text value',
241
+ description: 'The string value to set for this custom field',
242
+ displayOptions: {
243
+ show: {
244
+ resource: ['customFields'],
245
+ operation: ['setFieldValue', 'updateProfileField'],
246
+ fieldType: ['string'],
247
+ },
248
+ },
249
+ },
250
+ {
251
+ displayName: 'Field Value',
252
+ name: 'fieldValueNumber',
253
+ type: 'number',
254
+ default: 0,
255
+ required: true,
256
+ placeholder: 'Enter numeric value',
257
+ description: 'The numeric value to set for this custom field',
258
+ displayOptions: {
259
+ show: {
260
+ resource: ['customFields'],
261
+ operation: ['setFieldValue', 'updateProfileField'],
262
+ fieldType: ['number'],
263
+ },
264
+ },
265
+ },
266
+ {
267
+ displayName: 'Field Value',
268
+ name: 'fieldValueBoolean',
269
+ type: 'boolean',
270
+ default: false,
271
+ required: true,
272
+ description: 'Whether to set a boolean value for this user-defined field',
273
+ displayOptions: {
274
+ show: {
275
+ resource: ['customFields'],
276
+ operation: ['setFieldValue', 'updateProfileField'],
277
+ fieldType: ['boolean'],
278
+ },
279
+ },
280
+ },
281
+ {
282
+ displayName: 'Field Value',
283
+ name: 'fieldValueDateTime',
284
+ type: 'dateTime',
285
+ default: '',
286
+ required: true,
287
+ placeholder: 'Select date/time',
288
+ description: 'The date/time value to set for this custom field',
289
+ displayOptions: {
290
+ show: {
291
+ resource: ['customFields'],
292
+ operation: ['setFieldValue', 'updateProfileField'],
293
+ fieldType: ['dateTime'],
294
+ },
295
+ },
296
+ },
297
+ {
298
+ displayName: 'Field Value Name or ID',
299
+ name: 'fieldValueOption',
300
+ type: 'options',
301
+ default: '',
302
+ required: true,
303
+ typeOptions: {
304
+ loadOptionsMethod: 'customFields_getFieldOptions',
305
+ loadOptionsDependsOn: ['fieldKey'],
306
+ },
307
+ description: 'Select a value from the available options. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
308
+ displayOptions: {
309
+ show: {
310
+ resource: ['customFields'],
311
+ operation: ['setFieldValue', 'updateProfileField'],
312
+ fieldType: ['option'],
313
+ },
314
+ },
315
+ },
316
+ {
317
+ displayName: 'Field Value Names or IDs',
318
+ name: 'fieldValueMultiOptions',
319
+ type: 'multiOptions',
320
+ default: [],
321
+ required: true,
322
+ typeOptions: {
323
+ loadOptionsMethod: 'customFields_getFieldOptions',
324
+ loadOptionsDependsOn: ['fieldKey'],
325
+ },
326
+ description: 'Select one or more values from the available options. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
327
+ displayOptions: {
328
+ show: {
329
+ resource: ['customFields'],
330
+ operation: ['setFieldValue', 'updateProfileField'],
331
+ fieldType: ['multiOptions'],
332
+ },
333
+ },
334
+ },
335
+ {
336
+ displayName: 'Binary Property',
337
+ name: 'fieldValueBinary',
338
+ type: 'string',
339
+ default: 'data',
340
+ required: true,
341
+ placeholder: 'data',
342
+ description: 'Name of the binary property containing the file(s) to upload. If the input contains multiple binary properties, separate their names with commas (e.g. "data,file1,file2").',
343
+ displayOptions: {
344
+ show: {
345
+ resource: ['customFields'],
346
+ operation: ['setFieldValue', 'updateProfileField'],
347
+ fieldType: ['files', 'images', 'videos', 'audios'],
348
+ },
349
+ },
350
+ },
351
+ {
352
+ displayName: 'File Name',
353
+ name: 'fieldValueFileName',
354
+ type: 'string',
355
+ default: '',
356
+ placeholder: 'e.g. report.pdf',
357
+ description: 'Optional custom file name. If left empty, the original file name from the binary data is used.',
358
+ displayOptions: {
359
+ show: {
360
+ resource: ['customFields'],
361
+ operation: ['setFieldValue', 'updateProfileField'],
362
+ fieldType: ['files'],
363
+ },
364
+ },
365
+ },
366
+ {
367
+ displayName: 'Field Value',
368
+ name: 'fieldValueFallback',
369
+ type: 'string',
370
+ default: '',
371
+ required: true,
372
+ placeholder: 'Enter value',
373
+ description: 'The value to set for this custom field',
374
+ displayOptions: {
375
+ show: {
376
+ resource: ['customFields'],
377
+ operation: ['setFieldValue', 'updateProfileField'],
378
+ },
379
+ hide: {
380
+ fieldType: [
381
+ 'string',
382
+ 'number',
383
+ 'boolean',
384
+ 'dateTime',
385
+ 'option',
386
+ 'multiOptions',
387
+ 'files',
388
+ 'images',
389
+ 'videos',
390
+ 'audios',
391
+ ],
392
+ },
393
+ },
394
+ },
395
+ {
396
+ displayName: 'Field Values',
397
+ name: 'fieldValues',
398
+ type: 'resourceMapper',
399
+ noDataExpression: true,
400
+ required: true,
401
+ default: {
402
+ mappingMode: 'defineBelow',
403
+ value: null,
404
+ },
405
+ typeOptions: {
406
+ resourceMapper: {
407
+ resourceMapperMethod: 'getMultipleCustomFieldValueResourceMapperFields',
408
+ mode: 'add',
409
+ fieldWords: {
410
+ singular: 'field',
411
+ plural: 'fields',
412
+ },
413
+ addAllFields: true,
414
+ multiKeyMatch: false,
415
+ supportAutoMap: false,
416
+ },
417
+ },
418
+ displayOptions: {
419
+ show: {
420
+ resource: ['customFields'],
421
+ operation: ['setMultipleFieldValues'],
422
+ },
423
+ },
424
+ },
425
+ {
426
+ displayName: 'Limit',
427
+ name: 'limit',
428
+ type: 'number',
429
+ typeOptions: { minValue: 1 },
430
+ default: 50,
431
+ description: 'Max number of results to return',
432
+ displayOptions: {
433
+ show: {
434
+ resource: ['customFields'],
435
+ operation: ['getCards', 'getCardsExpanded', 'getCategories', 'getDefinitions'],
436
+ },
437
+ },
438
+ },
439
+ {
440
+ displayName: 'Offset',
441
+ name: 'offset',
442
+ type: 'number',
443
+ default: 0,
444
+ description: 'Number of results to skip before starting to return items',
445
+ displayOptions: {
446
+ show: {
447
+ resource: ['customFields'],
448
+ operation: ['getCards', 'getCardsExpanded', 'getCategories', 'getDefinitions'],
449
+ },
450
+ },
451
+ },
452
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const groupProperties: INodeProperties[];
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groupProperties = void 0;
4
+ exports.groupProperties = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ default: 'findOrCreate',
11
+ displayOptions: { show: { resource: ['group'] } },
12
+ options: [
13
+ {
14
+ name: 'Add Bundles to Group',
15
+ value: 'addBundles',
16
+ description: 'Add one or more bundles to a group',
17
+ action: 'Add bundles to group',
18
+ },
19
+ {
20
+ name: 'Add Courses to Group',
21
+ value: 'addCourses',
22
+ description: 'Add one or more courses to a group',
23
+ action: 'Add courses to group',
24
+ },
25
+ {
26
+ name: 'Add Members to Groups',
27
+ value: 'addMembers',
28
+ description: 'Add one or more members to one or more groups',
29
+ action: 'Add members to groups',
30
+ },
31
+ {
32
+ name: 'Add Members to Groups (Summary)',
33
+ value: 'addMembersSummary',
34
+ description: 'Add members to groups and return only a summary of changes',
35
+ action: 'Add members to groups summary',
36
+ },
37
+ { name: 'Create Group', value: 'create', description: 'Create a new group', action: 'Create a group' },
38
+ { name: 'Delete Group', value: 'delete', description: 'Delete a group by ID', action: 'Delete a group' },
39
+ {
40
+ name: 'Find Group by Name',
41
+ value: 'findByName',
42
+ description: 'Find groups by name',
43
+ action: 'Find groups by name',
44
+ },
45
+ {
46
+ name: 'Find or Create Group',
47
+ value: 'findOrCreate',
48
+ description: 'Find a group by name or create it if not found',
49
+ action: 'Find or create group',
50
+ },
51
+ {
52
+ name: 'Get Group Courses',
53
+ value: 'getCourses',
54
+ description: 'List courses assigned to a group',
55
+ action: 'Get group courses',
56
+ },
57
+ { name: 'Get Many', value: 'getAll', description: 'List groups', action: 'Get many groups' },
58
+ {
59
+ name: 'Remove Courses From Group',
60
+ value: 'removeCourses',
61
+ description: 'Remove one or more courses from a group',
62
+ action: 'Remove courses from group',
63
+ },
64
+ {
65
+ name: 'Remove Members From Groups',
66
+ value: 'removeMembers',
67
+ description: 'Remove one or more members from one or more groups',
68
+ action: 'Remove members from groups',
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ displayName: 'Group Name or ID',
74
+ name: 'groupId',
75
+ type: 'options',
76
+ typeOptions: { loadOptionsMethod: 'group_getGroups' },
77
+ displayOptions: {
78
+ show: { resource: ['group'], operation: ['delete', 'getCourses', 'addCourses', 'removeCourses', 'addBundles'] },
79
+ },
80
+ default: '',
81
+ required: true,
82
+ description: 'ID of the group. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
83
+ },
84
+ {
85
+ displayName: 'Group Names or IDs',
86
+ name: 'groupIds',
87
+ type: 'multiOptions',
88
+ typeOptions: { loadOptionsMethod: 'group_getGroups' },
89
+ displayOptions: { show: { resource: ['group'], operation: ['addMembers', 'addMembersSummary', 'removeMembers'] } },
90
+ default: [],
91
+ description: 'Select one or more groups. Comma-separated list of group IDs. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
92
+ },
93
+ {
94
+ displayName: 'Group Name',
95
+ name: 'groupName',
96
+ type: 'string',
97
+ displayOptions: { show: { resource: ['group'], operation: ['create', 'findByName', 'findOrCreate'] } },
98
+ default: '',
99
+ required: true,
100
+ description: 'Name of the group',
101
+ },
102
+ {
103
+ displayName: 'User Name or IDs',
104
+ name: 'userIds',
105
+ type: 'multiOptions',
106
+ typeOptions: { loadOptionsMethod: 'member_getMembers' },
107
+ displayOptions: { show: { resource: ['group'], operation: ['addMembers', 'addMembersSummary', 'removeMembers'] } },
108
+ default: [],
109
+ description: 'Select one or more users. Comma-separated list of user IDs. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
110
+ },
111
+ {
112
+ displayName: 'Course Names or IDs',
113
+ name: 'courseIds',
114
+ type: 'multiOptions',
115
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
116
+ displayOptions: { show: { resource: ['group'], operation: ['addCourses', 'removeCourses'] } },
117
+ default: [],
118
+ description: 'Select one or more courses. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
119
+ },
120
+ {
121
+ displayName: 'Bundle Names or IDs',
122
+ name: 'bundleIds',
123
+ type: 'multiOptions',
124
+ typeOptions: { loadOptionsMethod: 'bundle_getBundles' },
125
+ displayOptions: { show: { resource: ['group'], operation: ['addBundles'] } },
126
+ default: [],
127
+ description: 'Select one or more bundles. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
128
+ },
129
+ {
130
+ displayName: 'Additional Options',
131
+ name: 'additionalOptions',
132
+ type: 'collection',
133
+ placeholder: 'Add Option',
134
+ default: {},
135
+ displayOptions: { show: { resource: ['group'], operation: ['getAll', 'findByName', 'findOrCreate'] } },
136
+ options: [
137
+ {
138
+ displayName: 'Include Users',
139
+ name: 'includeUsers',
140
+ type: 'boolean',
141
+ default: false,
142
+ description: 'Whether: Include users in group results',
143
+ },
144
+ ],
145
+ },
146
+ {
147
+ displayName: 'Additional Options',
148
+ name: 'additionalOptions',
149
+ type: 'collection',
150
+ placeholder: 'Add Option',
151
+ displayOptions: {
152
+ show: { resource: ['group'], operation: ['addMembers', 'addMembersSummary', 'addCourses', 'addBundles'] },
153
+ },
154
+ default: {},
155
+ options: [
156
+ {
157
+ displayName: 'Disable Access Notification Email',
158
+ name: 'disableAccessNotificationEmail',
159
+ type: 'boolean',
160
+ default: false,
161
+ description: 'Whether the access notification email should be deactivated. Default is false.',
162
+ },
163
+ ],
164
+ },
165
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const hubProperties: INodeProperties[];