@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,672 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webhookProperties = void 0;
4
+ const webhook_sampleData_properties_1 = require("./webhook.sampleData.properties");
5
+ exports.webhookProperties = [
6
+ {
7
+ displayName: 'Operation',
8
+ name: 'operation',
9
+ type: 'options',
10
+ noDataExpression: true,
11
+ default: 'getSubscriptions',
12
+ displayOptions: { show: { resource: ['webhook'] } },
13
+ options: [
14
+ {
15
+ name: 'Create Webhook Subscription',
16
+ value: 'createSubscription',
17
+ action: 'Create webhook subscription',
18
+ description: 'Create a webhook subscription to receive events',
19
+ },
20
+ {
21
+ name: 'Delete Webhook Subscription',
22
+ value: 'deleteSubscription',
23
+ action: 'Delete webhook subscription',
24
+ description: 'Delete a webhook subscription by ID',
25
+ },
26
+ {
27
+ name: 'Get Webhook Sample Data',
28
+ value: 'getSampleData',
29
+ action: 'Get webhook sample data',
30
+ description: 'Retrieve sample payloads for supported webhook events',
31
+ },
32
+ {
33
+ name: 'Get Webhook Subscription',
34
+ value: 'getSubscription',
35
+ action: 'Get webhook subscription',
36
+ description: 'Get a webhook subscription by ID',
37
+ },
38
+ {
39
+ name: 'Get Webhook Subscriptions',
40
+ value: 'getSubscriptions',
41
+ action: 'Get webhook subscriptions',
42
+ description: 'List webhook subscriptions',
43
+ },
44
+ {
45
+ name: 'Update Webhook Subscription',
46
+ value: 'updateSubscription',
47
+ action: 'Update webhook subscription',
48
+ description: 'Update a webhook subscription',
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ displayName: 'Subscription Name or ID',
54
+ name: 'subscriptionId',
55
+ type: 'options',
56
+ displayOptions: {
57
+ show: { resource: ['webhook'], operation: ['getSubscription', 'updateSubscription', 'deleteSubscription'] },
58
+ },
59
+ typeOptions: { loadOptionsMethod: 'webhook_getSubscriptions' },
60
+ default: '',
61
+ required: true,
62
+ description: 'ID of the webhook subscription. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
63
+ },
64
+ {
65
+ displayName: 'Webhook URL',
66
+ name: 'hookUrl',
67
+ type: 'string',
68
+ displayOptions: { show: { resource: ['webhook'], operation: ['createSubscription', 'updateSubscription'] } },
69
+ default: '',
70
+ required: true,
71
+ placeholder: 'https://your-endpoint.com/webhook',
72
+ description: 'URL to send webhook events to',
73
+ },
74
+ {
75
+ displayName: 'Event Type',
76
+ name: 'eventType',
77
+ type: 'options',
78
+ required: true,
79
+ default: 'communityPost.created',
80
+ displayOptions: { show: { resource: ['webhook'], operation: ['createSubscription', 'updateSubscription'] } },
81
+ description: 'Type of event to subscribe to',
82
+ options: [
83
+ { name: 'Community Post Commented', value: 'communityPost.commented' },
84
+ { name: 'Community Post Created', value: 'communityPost.created' },
85
+ { name: 'Community Post Moderated', value: 'communityPost.moderated' },
86
+ { name: 'Course Member Added', value: 'course.memberAdded' },
87
+ { name: 'Course Progress Changed', value: 'courseProgress.changed' },
88
+ { name: 'Course Updated Events', value: 'course.updated' },
89
+ { name: 'Custom Field Value Changed Events', value: 'customField.valueChanged' },
90
+ { name: 'Custom Popup Interaction', value: 'customPopup.interaction' },
91
+ { name: 'Exam Completed', value: 'exam.completed' },
92
+ { name: 'Exam Graded', value: 'exam.graded' },
93
+ { name: 'Group User Access Changed', value: 'group.userAccessChanged' },
94
+ { name: 'Lesson Completed', value: 'lesson.completed' },
95
+ { name: 'New Access Request', value: 'accessRequest.created' },
96
+ { name: 'New Feedback Created', value: 'feedback.created' },
97
+ { name: 'New Login', value: 'login.new' },
98
+ { name: 'Submission Created', value: 'submission.created' },
99
+ { name: 'User Activation Status Changed', value: 'user.activationStatusChanged' },
100
+ ],
101
+ },
102
+ // --------- Sample Data ---------
103
+ {
104
+ displayName: 'Sample Data Type',
105
+ name: 'sampleDataType',
106
+ type: 'options',
107
+ default: 'feedback-events',
108
+ displayOptions: { show: { resource: ['webhook'], operation: ['getSampleData'] } },
109
+ required: true,
110
+ description: 'Type of sample data to retrieve',
111
+ options: [
112
+ { name: 'Community Post Commented', value: 'community-post-commented-events' },
113
+ { name: 'Community Post Created Events', value: 'community-post-created-events' },
114
+ { name: 'Community Post Moderated Events', value: 'community-post-moderated-events' },
115
+ { name: 'Course Member Added', value: 'course-member-added-events' },
116
+ { name: 'Course Progress Changed Events', value: 'progress-changed-events' },
117
+ { name: 'Course Updated Events', value: 'course-updated-events' },
118
+ { name: 'Custom Field Value Changed Events', value: 'custom-field-value-changed' },
119
+ { name: 'Custom Popup Interaction Events', value: 'custom-popup-interaction-events' },
120
+ { name: 'Exam Completed Events', value: 'exam-completed-events' },
121
+ { name: 'Exam Graded Events', value: 'exam-graded-events' },
122
+ { name: 'Feedback Events', value: 'feedback-events' },
123
+ { name: 'Group User Access Changed Events', value: 'group-user-access-changed-events' },
124
+ { name: 'Lesson Completed Events', value: 'lesson-completed-events' },
125
+ { name: 'New Login Events', value: 'new-login-events' },
126
+ { name: 'User Activation Status Changed Events', value: 'user-activation-status-changed-events' },
127
+ ],
128
+ },
129
+ // ====== Optionen pro Event (identisch zu instantProperties) ======
130
+ // Login Options
131
+ {
132
+ displayName: 'Login Options',
133
+ name: 'additionalLoginNew',
134
+ type: 'collection',
135
+ default: {},
136
+ placeholder: 'Add option',
137
+ displayOptions: {
138
+ show: {
139
+ resource: ['webhook'],
140
+ operation: ['createSubscription', 'updateSubscription'],
141
+ eventType: ['login.new'],
142
+ },
143
+ },
144
+ options: [
145
+ {
146
+ displayName: 'Login Type',
147
+ name: 'loginType',
148
+ type: 'options',
149
+ default: '',
150
+ description: 'Filter by login type. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
151
+ options: [
152
+ { name: 'All', value: '' },
153
+ { name: 'App Email Code', value: 'app-email-code' },
154
+ { name: 'Auto Login', value: 'auto-login' },
155
+ { name: 'Email & Password', value: 'email-password' },
156
+ { name: 'Google', value: 'google' },
157
+ { name: 'Impersonated by Admin', value: 'impersonated-by-admin' },
158
+ { name: 'Impersonation (as Member)', value: 'impersonation' },
159
+ { name: 'Magic Link', value: 'magic-link' },
160
+ { name: 'OIDC', value: 'oidc' },
161
+ { name: 'Password Reset', value: 'password-reset' },
162
+ { name: 'Refresh', value: 'refresh' },
163
+ ],
164
+ },
165
+ {
166
+ displayName: 'User Role Name or ID',
167
+ name: 'userRoleId',
168
+ type: 'options',
169
+ typeOptions: { loadOptionsMethod: 'role_getRoles' },
170
+ default: '',
171
+ description: 'Optional role filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
172
+ },
173
+ ],
174
+ },
175
+ // Custom Popup Interaction
176
+ {
177
+ displayName: 'Popup Interaction Options',
178
+ name: 'additionalPopupInteraction',
179
+ type: 'collection',
180
+ default: {},
181
+ placeholder: 'Add option',
182
+ displayOptions: {
183
+ show: {
184
+ resource: ['webhook'],
185
+ operation: ['createSubscription', 'updateSubscription'],
186
+ eventType: ['customPopup.interaction'],
187
+ },
188
+ },
189
+ options: [
190
+ {
191
+ displayName: 'Popup Name or ID',
192
+ name: 'customPopupId',
193
+ type: 'options',
194
+ typeOptions: { loadOptionsMethod: 'popup_getPopups' },
195
+ default: '',
196
+ description: 'Optional popup filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
197
+ },
198
+ {
199
+ displayName: 'Interaction Type',
200
+ name: 'interactionType',
201
+ type: 'options',
202
+ default: '',
203
+ description: 'Filter by interaction type',
204
+ options: [
205
+ { name: 'All', value: '' },
206
+ { name: 'Actioned', value: 'actioned' },
207
+ { name: 'Dismissed', value: 'dismissed' },
208
+ ],
209
+ },
210
+ ],
211
+ },
212
+ // Course Progress Changed
213
+ {
214
+ displayName: 'Course Progress Above (%)',
215
+ name: 'threshold',
216
+ type: 'number',
217
+ default: 50,
218
+ typeOptions: { minValue: 0, maxValue: 100 },
219
+ description: 'Specify the threshold value to trigger (1-100) without the percent sign',
220
+ displayOptions: {
221
+ show: {
222
+ resource: ['webhook'],
223
+ operation: ['createSubscription', 'updateSubscription'],
224
+ eventType: ['courseProgress.changed'],
225
+ },
226
+ },
227
+ },
228
+ {
229
+ displayName: 'Course Progress Options',
230
+ name: 'additionalCourseProgress',
231
+ type: 'collection',
232
+ default: {},
233
+ placeholder: 'Add option',
234
+ displayOptions: {
235
+ show: {
236
+ resource: ['webhook'],
237
+ operation: ['createSubscription', 'updateSubscription'],
238
+ eventType: ['courseProgress.changed'],
239
+ },
240
+ },
241
+ options: [
242
+ {
243
+ displayName: 'Course Name or ID',
244
+ name: 'courseId',
245
+ type: 'options',
246
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
247
+ default: '',
248
+ description: 'Optional course filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
249
+ },
250
+ ],
251
+ },
252
+ // Community Post Created
253
+ {
254
+ displayName: 'Community Post (Created) Options',
255
+ name: 'additionalCommunityPostCreated',
256
+ type: 'collection',
257
+ default: {},
258
+ placeholder: 'Add option',
259
+ displayOptions: {
260
+ show: {
261
+ resource: ['webhook'],
262
+ operation: ['createSubscription', 'updateSubscription'],
263
+ eventType: ['communityPost.created'],
264
+ },
265
+ },
266
+ options: [
267
+ {
268
+ displayName: 'Area Name or ID',
269
+ name: 'areaId',
270
+ type: 'options',
271
+ typeOptions: { loadOptionsMethod: 'community_getAreas' },
272
+ default: '',
273
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
274
+ },
275
+ {
276
+ displayName: 'Forum Name or ID',
277
+ name: 'forumId',
278
+ type: 'options',
279
+ typeOptions: {
280
+ loadOptionsMethod: 'community_getForums',
281
+ loadOptionsDependsOn: ['additionalCommunityPostCreated.areaId'],
282
+ },
283
+ default: '',
284
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
285
+ },
286
+ {
287
+ displayName: 'Publish Status',
288
+ name: 'publishStatus',
289
+ type: 'options',
290
+ options: [
291
+ { name: 'Both', value: 'both' },
292
+ { name: 'Published', value: 'published' },
293
+ { name: 'Waiting for Moderation', value: 'waiting for moderation' },
294
+ ],
295
+ default: 'both',
296
+ },
297
+ ],
298
+ },
299
+ // Community Post Commented
300
+ {
301
+ displayName: 'Community Post (Commented) Options',
302
+ name: 'additionalCommunityPostCommented',
303
+ type: 'collection',
304
+ default: {},
305
+ placeholder: 'Add option',
306
+ displayOptions: {
307
+ show: {
308
+ resource: ['webhook'],
309
+ operation: ['createSubscription', 'updateSubscription'],
310
+ eventType: ['communityPost.commented'],
311
+ },
312
+ },
313
+ options: [
314
+ {
315
+ displayName: 'Area Name or ID',
316
+ name: 'areaId',
317
+ type: 'options',
318
+ typeOptions: { loadOptionsMethod: 'community_getAreas' },
319
+ default: '',
320
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
321
+ },
322
+ {
323
+ displayName: 'Forum Name or ID',
324
+ name: 'forumId',
325
+ type: 'options',
326
+ typeOptions: {
327
+ loadOptionsMethod: 'community_getForums',
328
+ loadOptionsDependsOn: ['additionalCommunityPostCommented.areaId'],
329
+ },
330
+ default: '',
331
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
332
+ },
333
+ {
334
+ displayName: 'Mentioned User Names or IDs',
335
+ name: 'mentionedUserIds',
336
+ type: 'multiOptions',
337
+ typeOptions: { loadOptionsMethod: 'teamMember_getTeamMembersById' },
338
+ default: [],
339
+ description: 'If set, only comments that tag at least one of the given team-member IDs are returned. NOTE: only available for users with admin-zone access, not for members. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
340
+ },
341
+ ],
342
+ },
343
+ // Community Post Moderated
344
+ {
345
+ displayName: 'Community Post (Moderated) Options',
346
+ name: 'additionalCommunityPostModerated',
347
+ type: 'collection',
348
+ default: {},
349
+ placeholder: 'Add option',
350
+ displayOptions: {
351
+ show: {
352
+ resource: ['webhook'],
353
+ operation: ['createSubscription', 'updateSubscription'],
354
+ eventType: ['communityPost.moderated'],
355
+ },
356
+ },
357
+ options: [
358
+ {
359
+ displayName: 'Area Name or ID',
360
+ name: 'areaId',
361
+ type: 'options',
362
+ typeOptions: { loadOptionsMethod: 'community_getAreas' },
363
+ default: '',
364
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
365
+ },
366
+ {
367
+ displayName: 'Forum Name or ID',
368
+ name: 'forumId',
369
+ type: 'options',
370
+ typeOptions: {
371
+ loadOptionsMethod: 'community_getForums',
372
+ loadOptionsDependsOn: ['additionalCommunityPostModerated.areaId'],
373
+ },
374
+ default: '',
375
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
376
+ },
377
+ {
378
+ displayName: 'Approved Status',
379
+ name: 'approved',
380
+ type: 'options',
381
+ options: [
382
+ { name: 'Both', value: 'both' },
383
+ { name: 'Approved (Yes)', value: 'approved' },
384
+ { name: 'Rejected (No)', value: 'rejected' },
385
+ ],
386
+ default: 'both',
387
+ },
388
+ ],
389
+ },
390
+ // Course Events (courseInstanceId)
391
+ {
392
+ displayName: 'Course Options',
393
+ name: 'additionalCourseOptions',
394
+ type: 'collection',
395
+ default: {},
396
+ placeholder: 'Add option',
397
+ displayOptions: {
398
+ show: {
399
+ resource: ['webhook'],
400
+ operation: ['createSubscription', 'updateSubscription'],
401
+ eventType: ['course.updated', 'course.memberAdded'],
402
+ },
403
+ },
404
+ options: [
405
+ {
406
+ displayName: 'Course Name or ID',
407
+ name: 'courseId',
408
+ type: 'options',
409
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
410
+ default: '',
411
+ description: 'Optional course filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
412
+ },
413
+ ],
414
+ },
415
+ // Feedback (courseInstanceId)
416
+ {
417
+ displayName: 'Feedback Options',
418
+ name: 'additionalFeedbackOptions',
419
+ type: 'collection',
420
+ default: {},
421
+ placeholder: 'Add option',
422
+ displayOptions: {
423
+ show: {
424
+ resource: ['webhook'],
425
+ operation: ['createSubscription', 'updateSubscription'],
426
+ eventType: ['feedback.created'],
427
+ },
428
+ },
429
+ options: [
430
+ {
431
+ displayName: 'Course Name or ID',
432
+ name: 'courseId',
433
+ type: 'options',
434
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
435
+ default: '',
436
+ description: 'Optional course filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
437
+ },
438
+ ],
439
+ },
440
+ // Exam (courseInstanceId + examModuleId)
441
+ {
442
+ displayName: 'Exam Options',
443
+ name: 'additionalExamOptions',
444
+ type: 'collection',
445
+ default: {},
446
+ placeholder: 'Add option',
447
+ displayOptions: {
448
+ show: {
449
+ resource: ['webhook'],
450
+ operation: ['createSubscription', 'updateSubscription'],
451
+ eventType: ['exam.completed', 'exam.graded'],
452
+ },
453
+ },
454
+ options: [
455
+ {
456
+ displayName: 'Course Name or ID',
457
+ name: 'courseId',
458
+ type: 'options',
459
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
460
+ default: '',
461
+ description: 'Optional course filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
462
+ },
463
+ {
464
+ displayName: 'Exam Module Name or ID',
465
+ name: 'examModuleId',
466
+ type: 'options',
467
+ typeOptions: {
468
+ loadOptionsMethod: 'module_getModules',
469
+ loadOptionsDependsOn: ['additionalExamOptions.courseId'],
470
+ },
471
+ default: '',
472
+ description: 'Optional module filter. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
473
+ },
474
+ ],
475
+ },
476
+ // Access Request Course (required)
477
+ {
478
+ displayName: 'Course Name or ID',
479
+ name: 'courseId',
480
+ type: 'options',
481
+ required: true,
482
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
483
+ default: '',
484
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
485
+ displayOptions: {
486
+ show: {
487
+ resource: ['webhook'],
488
+ operation: ['createSubscription', 'updateSubscription'],
489
+ eventType: ['accessRequest.created'],
490
+ },
491
+ },
492
+ },
493
+ // Group User Access Changed
494
+ {
495
+ displayName: 'Action',
496
+ name: 'actionType',
497
+ type: 'options',
498
+ default: 'added',
499
+ options: [
500
+ { name: 'Added', value: 'added' },
501
+ { name: 'Removed', value: 'removed' },
502
+ ],
503
+ displayOptions: {
504
+ show: {
505
+ resource: ['webhook'],
506
+ operation: ['createSubscription', 'updateSubscription'],
507
+ eventType: ['group.userAccessChanged'],
508
+ },
509
+ },
510
+ },
511
+ {
512
+ displayName: 'Group Access Options',
513
+ name: 'additionalGroupAccess',
514
+ type: 'collection',
515
+ default: {},
516
+ placeholder: 'Add option',
517
+ displayOptions: {
518
+ show: {
519
+ resource: ['webhook'],
520
+ operation: ['createSubscription', 'updateSubscription'],
521
+ eventType: ['group.userAccessChanged'],
522
+ },
523
+ },
524
+ options: [
525
+ {
526
+ displayName: 'Group Name or ID',
527
+ name: 'groupId',
528
+ type: 'options',
529
+ typeOptions: { loadOptionsMethod: 'group_getGroups' },
530
+ default: '',
531
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
532
+ },
533
+ ],
534
+ },
535
+ // Lesson Completed (kaskadiert)
536
+ {
537
+ displayName: 'Lesson Completed Options',
538
+ name: 'additionalLessonCompleted',
539
+ type: 'collection',
540
+ default: {},
541
+ placeholder: 'Add option',
542
+ displayOptions: {
543
+ show: {
544
+ resource: ['webhook'],
545
+ operation: ['createSubscription', 'updateSubscription'],
546
+ eventType: ['lesson.completed'],
547
+ },
548
+ },
549
+ options: [
550
+ {
551
+ displayName: 'Course Name or ID',
552
+ name: 'courseId',
553
+ type: 'options',
554
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
555
+ default: '',
556
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
557
+ },
558
+ {
559
+ displayName: 'Module Name or ID',
560
+ name: 'moduleId',
561
+ type: 'options',
562
+ typeOptions: {
563
+ loadOptionsMethod: 'course_getModules',
564
+ loadOptionsDependsOn: ['additionalLessonCompleted.courseId'],
565
+ },
566
+ default: '',
567
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
568
+ },
569
+ {
570
+ displayName: 'Lesson Name or ID',
571
+ name: 'lessonId',
572
+ type: 'options',
573
+ typeOptions: {
574
+ loadOptionsMethod: 'module_getLessons',
575
+ loadOptionsDependsOn: ['additionalLessonCompleted.moduleId'],
576
+ },
577
+ default: '',
578
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
579
+ },
580
+ ],
581
+ },
582
+ // Submission Created (optional course)
583
+ {
584
+ displayName: 'Submission Options',
585
+ name: 'additionalSubmission',
586
+ type: 'collection',
587
+ default: {},
588
+ placeholder: 'Add option',
589
+ displayOptions: {
590
+ show: {
591
+ resource: ['webhook'],
592
+ operation: ['createSubscription', 'updateSubscription'],
593
+ eventType: ['submission.created'],
594
+ },
595
+ },
596
+ options: [
597
+ {
598
+ displayName: 'Course Name or ID',
599
+ name: 'courseId',
600
+ type: 'options',
601
+ typeOptions: { loadOptionsMethod: 'course_getCourses' },
602
+ default: '',
603
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
604
+ },
605
+ ],
606
+ },
607
+ // Custom Field Value
608
+ {
609
+ displayName: 'Custom Field Options',
610
+ name: 'additionalCustomFieldValueChanged',
611
+ type: 'collection',
612
+ default: {},
613
+ placeholder: 'Add option',
614
+ displayOptions: {
615
+ show: {
616
+ resource: ['webhook'],
617
+ operation: ['createSubscription', 'updateSubscription'],
618
+ eventType: ['customField.valueChanged'],
619
+ },
620
+ },
621
+ options: [
622
+ {
623
+ displayName: 'Custom Field Card Name or ID',
624
+ name: 'customFieldCardId',
625
+ type: 'options',
626
+ typeOptions: {
627
+ loadOptionsMethod: 'customFields_getCards',
628
+ },
629
+ default: '',
630
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
631
+ },
632
+ ],
633
+ },
634
+ // User Activation Status Changed
635
+ {
636
+ displayName: 'Activation Status Options',
637
+ name: 'additionalUserActivationStatus',
638
+ type: 'collection',
639
+ default: {},
640
+ placeholder: 'Add option',
641
+ displayOptions: {
642
+ show: {
643
+ resource: ['webhook'],
644
+ operation: ['createSubscription', 'updateSubscription'],
645
+ eventType: ['user.activationStatusChanged'],
646
+ },
647
+ },
648
+ options: [
649
+ {
650
+ displayName: 'Action',
651
+ name: 'action',
652
+ type: 'options',
653
+ default: '',
654
+ description: 'Filter by activation status action',
655
+ options: [
656
+ { name: 'All', value: '' },
657
+ { name: 'Activated', value: 'activated' },
658
+ { name: 'Deactivated', value: 'deactivated' },
659
+ ],
660
+ },
661
+ {
662
+ displayName: 'Role Name or ID',
663
+ name: 'roleId',
664
+ type: 'options',
665
+ typeOptions: { loadOptionsMethod: 'role_getRoles' },
666
+ default: '',
667
+ description: 'Filter for a specific user role. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
668
+ },
669
+ ],
670
+ },
671
+ ...webhook_sampleData_properties_1.webhookSampleDataProperties,
672
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const webhookSampleDataProperties: INodeProperties[];