@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.
- package/LICENSE +21 -0
- package/README.de.md +555 -0
- package/README.md +427 -0
- package/dist/credentials/LearningSuiteApi.credentials.d.ts +10 -0
- package/dist/credentials/LearningSuiteApi.credentials.js +49 -0
- package/dist/credentials/learningsuite.svg +1 -0
- package/dist/nodes/LearningSuite/LearningSuite.node.d.ts +65 -0
- package/dist/nodes/LearningSuite/LearningSuite.node.js +221 -0
- package/dist/nodes/LearningSuite/LearningSuiteTrigger.node.d.ts +66 -0
- package/dist/nodes/LearningSuite/LearningSuiteTrigger.node.js +433 -0
- package/dist/nodes/LearningSuite/descriptions/ai.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/ai.properties.js +141 -0
- package/dist/nodes/LearningSuite/descriptions/apiCall.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/apiCall.properties.js +87 -0
- package/dist/nodes/LearningSuite/descriptions/bundle.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/bundle.properties.js +32 -0
- package/dist/nodes/LearningSuite/descriptions/community.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/community.properties.js +229 -0
- package/dist/nodes/LearningSuite/descriptions/course.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/course.properties.js +248 -0
- package/dist/nodes/LearningSuite/descriptions/customFields.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/customFields.properties.js +452 -0
- package/dist/nodes/LearningSuite/descriptions/group.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/group.properties.js +165 -0
- package/dist/nodes/LearningSuite/descriptions/hub.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/hub.properties.js +167 -0
- package/dist/nodes/LearningSuite/descriptions/member.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/member.properties.js +625 -0
- package/dist/nodes/LearningSuite/descriptions/module.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/module.properties.js +84 -0
- package/dist/nodes/LearningSuite/descriptions/popup.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/popup.properties.js +73 -0
- package/dist/nodes/LearningSuite/descriptions/resource.selector.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/resource.selector.js +87 -0
- package/dist/nodes/LearningSuite/descriptions/role.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/role.properties.js +14 -0
- package/dist/nodes/LearningSuite/descriptions/teamMember.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/teamMember.properties.js +74 -0
- package/dist/nodes/LearningSuite/descriptions/trigger.instant.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/trigger.instant.properties.js +542 -0
- package/dist/nodes/LearningSuite/descriptions/user.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/user.properties.js +135 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.properties.js +672 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.sampleData.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.sampleData.properties.js +401 -0
- package/dist/nodes/LearningSuite/exec.types.d.ts +5 -0
- package/dist/nodes/LearningSuite/exec.types.js +2 -0
- package/dist/nodes/LearningSuite/execute/ai.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/ai.handlers.js +23 -0
- package/dist/nodes/LearningSuite/execute/apiCall.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/apiCall.handlers.js +46 -0
- package/dist/nodes/LearningSuite/execute/bundle.handlers.d.ts +5 -0
- package/dist/nodes/LearningSuite/execute/bundle.handlers.js +12 -0
- package/dist/nodes/LearningSuite/execute/community.handlers.d.ts +11 -0
- package/dist/nodes/LearningSuite/execute/community.handlers.js +94 -0
- package/dist/nodes/LearningSuite/execute/course.handlers.d.ts +10 -0
- package/dist/nodes/LearningSuite/execute/course.handlers.js +87 -0
- package/dist/nodes/LearningSuite/execute/customFields.handlers.d.ts +16 -0
- package/dist/nodes/LearningSuite/execute/customFields.handlers.js +342 -0
- package/dist/nodes/LearningSuite/execute/group.handlers.d.ts +15 -0
- package/dist/nodes/LearningSuite/execute/group.handlers.js +99 -0
- package/dist/nodes/LearningSuite/execute/hub.handlers.d.ts +9 -0
- package/dist/nodes/LearningSuite/execute/hub.handlers.js +65 -0
- package/dist/nodes/LearningSuite/execute/member.handlers.d.ts +23 -0
- package/dist/nodes/LearningSuite/execute/member.handlers.js +244 -0
- package/dist/nodes/LearningSuite/execute/module.handlers.d.ts +6 -0
- package/dist/nodes/LearningSuite/execute/module.handlers.js +36 -0
- package/dist/nodes/LearningSuite/execute/popup.handlers.d.ts +7 -0
- package/dist/nodes/LearningSuite/execute/popup.handlers.js +24 -0
- package/dist/nodes/LearningSuite/execute/registry.d.ts +2 -0
- package/dist/nodes/LearningSuite/execute/registry.js +35 -0
- package/dist/nodes/LearningSuite/execute/role.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/role.handlers.js +6 -0
- package/dist/nodes/LearningSuite/execute/teamMember.handlers.d.ts +6 -0
- package/dist/nodes/LearningSuite/execute/teamMember.handlers.js +21 -0
- package/dist/nodes/LearningSuite/execute/user.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/user.handlers.js +32 -0
- package/dist/nodes/LearningSuite/execute/webhook.handlers.d.ts +9 -0
- package/dist/nodes/LearningSuite/execute/webhook.handlers.js +306 -0
- package/dist/nodes/LearningSuite/icons/learningsuite-icon-dark.svg +1 -0
- package/dist/nodes/LearningSuite/icons/learningsuite-icon-light.svg +1 -0
- package/dist/nodes/LearningSuite/index.d.ts +1 -0
- package/dist/nodes/LearningSuite/index.js +17 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/apiCall.loadOptions.d.ts +1 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/apiCall.loadOptions.js +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/bundle.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/bundle.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/common.d.ts +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/common.js +22 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/community.loadOptions.d.ts +5 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/community.loadOptions.js +80 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/course.loadOptions.d.ts +5 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/course.loadOptions.js +58 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/customFields.loadOptions.d.ts +12 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/customFields.loadOptions.js +55 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/group.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/group.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/hub.loadOptions.d.ts +3 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/hub.loadOptions.js +11 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/member.loadOptions.d.ts +9 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/member.loadOptions.js +27 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/module.loadOptions.d.ts +5 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/module.loadOptions.js +29 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/popup.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/popup.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/role.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/role.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/teamMember.loadOptions.d.ts +9 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/teamMember.loadOptions.js +35 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/webhook.loadOptions.d.ts +6 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/webhook.loadOptions.js +18 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/customFields.resourceMapper.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/customFields.resourceMapper.js +35 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/hub.resourceMapper.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/hub.resourceMapper.js +34 -0
- package/dist/nodes/LearningSuite/shared/customFields.helpers.d.ts +4 -0
- package/dist/nodes/LearningSuite/shared/customFields.helpers.js +56 -0
- package/dist/nodes/LearningSuite/shared/customFields.shared.d.ts +42 -0
- package/dist/nodes/LearningSuite/shared/customFields.shared.js +101 -0
- package/dist/nodes/LearningSuite/shared/customFields.upload.d.ts +13 -0
- package/dist/nodes/LearningSuite/shared/customFields.upload.js +198 -0
- package/dist/nodes/LearningSuite/shared/errors.d.ts +1 -0
- package/dist/nodes/LearningSuite/shared/errors.js +16 -0
- package/dist/nodes/LearningSuite/shared/getScopedParam.d.ts +2 -0
- package/dist/nodes/LearningSuite/shared/getScopedParam.js +39 -0
- package/dist/nodes/LearningSuite/shared/index.d.ts +4 -0
- package/dist/nodes/LearningSuite/shared/index.js +20 -0
- package/dist/nodes/LearningSuite/shared/parsing.d.ts +1 -0
- package/dist/nodes/LearningSuite/shared/parsing.js +15 -0
- package/dist/nodes/LearningSuite/shared/request.d.ts +13 -0
- package/dist/nodes/LearningSuite/shared/request.js +53 -0
- package/dist/nodes/LearningSuitePollingTrigger/LearningSuitePollingTrigger.node.d.ts +11 -0
- package/dist/nodes/LearningSuitePollingTrigger/LearningSuitePollingTrigger.node.js +278 -0
- package/dist/nodes/LearningSuitePollingTrigger/descriptions/trigger.polling.properties.d.ts +2 -0
- package/dist/nodes/LearningSuitePollingTrigger/descriptions/trigger.polling.properties.js +193 -0
- package/package.json +65 -0
package/README.md
ADDED
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
# n8n-nodes-learningsuite
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
An n8n Community Node for the **LearningSuite API**, which allows you to seamlessly integrate your LearningSuite instance into n8n workflows.
|
|
10
|
+
|
|
11
|
+
## What is n8n?
|
|
12
|
+
|
|
13
|
+
n8n is an easy-to-use tool that allows you to automate actions between different web apps, such as LearningSuite. Creating so-called "workflows" between apps automates many of the manual tasks. This can save you or your employees a tremendous amount of time.
|
|
14
|
+
|
|
15
|
+
## ⚖️ Legal Notice
|
|
16
|
+
|
|
17
|
+
This community node uses the public LearningSuite API and is not affiliated with or sponsored by LearningSuite. All trademarks belong to their respective owners.
|
|
18
|
+
|
|
19
|
+
**Note**: This is a community-developed node for the LearningSuite API. For official support, please contact LearningSuite directly.
|
|
20
|
+
|
|
21
|
+
## 🚀 Features
|
|
22
|
+
|
|
23
|
+
- **14 resources** fully supported (Member, Course, Group, Bundle, Hub, Module, Community, Custom Fields, Popup, Webhook, Role, User, Team Member, AI, API Call)
|
|
24
|
+
- **87 operations** for maximum flexibility
|
|
25
|
+
- **Instant trigger (webhook-based)** with 17 event types for real-time automation
|
|
26
|
+
- **Polling trigger** with 11 event types for scheduled polling
|
|
27
|
+
- **Flexible API call** resource for custom endpoints
|
|
28
|
+
|
|
29
|
+
## 📋 Supported Operations
|
|
30
|
+
|
|
31
|
+
### 👤 **Member** (20 operations)
|
|
32
|
+
|
|
33
|
+
- Get by email, get by ID, get all, create, update, delete, find or create
|
|
34
|
+
- Activate/deactivate, add/remove courses, add/remove bundles
|
|
35
|
+
- Get courses, get course information, get member bundles
|
|
36
|
+
- Get course progress, get module progress, get lesson progress, set course progress, reset course progress
|
|
37
|
+
|
|
38
|
+
### 📚 **Course** (7 operations)
|
|
39
|
+
|
|
40
|
+
- Get published courses, get course modules, get course modules for member
|
|
41
|
+
- Get course members, get course access requests, get course submissions, create lesson
|
|
42
|
+
|
|
43
|
+
### 👥 **Group** (12 operations)
|
|
44
|
+
|
|
45
|
+
- Add bundles to group, add courses to group, add members to groups, add members to groups (summary)
|
|
46
|
+
- Create group, delete group, find group by name, find or create group
|
|
47
|
+
- Get group courses, get many, remove courses from group, remove members from groups
|
|
48
|
+
|
|
49
|
+
### 📦 **Bundle** (2 operations)
|
|
50
|
+
|
|
51
|
+
- Get all, get bundle members
|
|
52
|
+
|
|
53
|
+
### 🏠 **Hub** (6 operations)
|
|
54
|
+
|
|
55
|
+
- Get all, get templates, create, give hub access, remove hub access, get hub template variables
|
|
56
|
+
|
|
57
|
+
### 📖 **Module** (3 operations)
|
|
58
|
+
|
|
59
|
+
- Get module lessons, get module sections, change module access for member
|
|
60
|
+
|
|
61
|
+
### 💬 **Community** (7 operations)
|
|
62
|
+
|
|
63
|
+
- Assign badges to member, remove community badges from member
|
|
64
|
+
- Get community areas, get community badges, get community forums, get community posts
|
|
65
|
+
- Create community post comment
|
|
66
|
+
|
|
67
|
+
### 🔧 **Custom Fields** (13 operations)
|
|
68
|
+
|
|
69
|
+
- Get cards, get cards (expanded), get categories, get definitions
|
|
70
|
+
- Get field values, get store, get store values
|
|
71
|
+
- Get profile by card, get profiles, get profiles (expanded)
|
|
72
|
+
- Set field value, set multiple field values, update profile field
|
|
73
|
+
|
|
74
|
+
### 🎯 **Popup** (4 operations)
|
|
75
|
+
|
|
76
|
+
- Get all, get popup, trigger popup for member, delete popup trigger
|
|
77
|
+
|
|
78
|
+
### 🔗 **Webhook** (5 operations)
|
|
79
|
+
|
|
80
|
+
- Get/create/update/delete subscriptions, get sample data
|
|
81
|
+
|
|
82
|
+
### 👤 **Team Member** (3 operations)
|
|
83
|
+
|
|
84
|
+
- Get many, get by email, get by ID
|
|
85
|
+
|
|
86
|
+
### 📢 **User** (1 operation)
|
|
87
|
+
|
|
88
|
+
- Send push notification
|
|
89
|
+
|
|
90
|
+
### 🤖 **AI** (1 operation)
|
|
91
|
+
|
|
92
|
+
- RAG Chat
|
|
93
|
+
|
|
94
|
+
### 🛡️ **Role** (1 operation)
|
|
95
|
+
|
|
96
|
+
- Get all
|
|
97
|
+
|
|
98
|
+
### 🛠️ **API Call** (1 operation)
|
|
99
|
+
|
|
100
|
+
- Make a request (for any API calls)
|
|
101
|
+
|
|
102
|
+
## 🎣 Trigger Events
|
|
103
|
+
|
|
104
|
+
The LearningSuite trigger supports the following events:
|
|
105
|
+
|
|
106
|
+
### ⚡ Instant Trigger Events (Webhook)
|
|
107
|
+
|
|
108
|
+
- ✅ Community Post Commented
|
|
109
|
+
- ✅ Community Post Created
|
|
110
|
+
- ✅ Community Post Moderated
|
|
111
|
+
- ✅ Course Member Added
|
|
112
|
+
- ✅ Course Progress Changed
|
|
113
|
+
- ✅ Course Updated
|
|
114
|
+
- ✅ Custom Field Value Changed
|
|
115
|
+
- ✅ Custom Popup Interaction
|
|
116
|
+
- ✅ Exam Completed
|
|
117
|
+
- ✅ Exam Graded
|
|
118
|
+
- ✅ Group User Access Changed
|
|
119
|
+
- ✅ Lesson Completed
|
|
120
|
+
- ✅ New Access Request
|
|
121
|
+
- ✅ New Feedback Created
|
|
122
|
+
- ✅ New Login
|
|
123
|
+
- ✅ Submission Created
|
|
124
|
+
- ✅ User Activation Status Changed
|
|
125
|
+
|
|
126
|
+
### ⏱️ Polling Trigger Events
|
|
127
|
+
|
|
128
|
+
- ✅ Bundle Created
|
|
129
|
+
- ✅ Community Area Created
|
|
130
|
+
- ✅ Community Badge Created
|
|
131
|
+
- ✅ Community Forum Created
|
|
132
|
+
- ✅ Custom Field Card Created
|
|
133
|
+
- ✅ Custom Popup Created
|
|
134
|
+
- ✅ Group Created
|
|
135
|
+
- ✅ Member Created
|
|
136
|
+
- ✅ Member Not Logged In for More Than X Days
|
|
137
|
+
- ✅ Team Member Created
|
|
138
|
+
- ✅ Team Member Updated
|
|
139
|
+
|
|
140
|
+
## 💡 Use case examples
|
|
141
|
+
|
|
142
|
+
### Automated member management
|
|
143
|
+
|
|
144
|
+
Automatically create new members from a list like in Google Sheets, saving you the step of manually creating users in LearningSuite.
|
|
145
|
+
|
|
146
|
+
### E-Commerce Integration
|
|
147
|
+
|
|
148
|
+
Connect other tools like Copecart via webhook using n8n and sell your LearningSuite courses in your own online store.
|
|
149
|
+
|
|
150
|
+
### Lead Generation
|
|
151
|
+
|
|
152
|
+
Link forms from your website and give users who complete the form automated access to information products in LearningSuite.
|
|
153
|
+
|
|
154
|
+
### Progress Monitoring
|
|
155
|
+
|
|
156
|
+
Automatically monitor your participants' progress and send personalized reminders or congratulations.
|
|
157
|
+
|
|
158
|
+
## 🛠️ Installation
|
|
159
|
+
|
|
160
|
+
### Option 1: n8n Community Nodes (Recommended)
|
|
161
|
+
|
|
162
|
+
1. Open your n8n instance
|
|
163
|
+
|
|
164
|
+
2. Go to **Settings** → **Community Nodes**
|
|
165
|
+
|
|
166
|
+
3. Install: `n8n-nodes-learningsuite` or `@rjsebening/n8n-nodes-learningsuite`
|
|
167
|
+
|
|
168
|
+
4. Restart n8n
|
|
169
|
+
|
|
170
|
+
### Option 2: Manual Installation
|
|
171
|
+
|
|
172
|
+
#### A)
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# In your n8n project directory
|
|
176
|
+
npm i @rjsebening/n8n-nodes-learningsuite
|
|
177
|
+
|
|
178
|
+
# Restart n8n
|
|
179
|
+
npm start
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
#### B) Unscoped (Default)
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
|
|
187
|
+
# In your n8n project directory
|
|
188
|
+
npm install n8n-nodes-learningsuite
|
|
189
|
+
|
|
190
|
+
# Restart n8n
|
|
191
|
+
npm start
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Option 3: Docker
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
|
|
199
|
+
# With Docker Environment Variable
|
|
200
|
+
|
|
201
|
+
docker run -it --rm \
|
|
202
|
+
|
|
203
|
+
--name n8n \
|
|
204
|
+
|
|
205
|
+
-p 5678:5678 \
|
|
206
|
+
|
|
207
|
+
-e N8N_CUSTOM_EXTENSIONS="/data/custom" \
|
|
208
|
+
|
|
209
|
+
-v ~/.n8n:/data \
|
|
210
|
+
|
|
211
|
+
docker.n8n.io/n8nio/n8n
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## 🔐 Set up authentication
|
|
216
|
+
|
|
217
|
+
### Generate API key
|
|
218
|
+
|
|
219
|
+
1. Log in to your **LearningSuite instance**
|
|
220
|
+
|
|
221
|
+
2. Go to **Settings** → **Integrations**
|
|
222
|
+
|
|
223
|
+
3. Click **"Generate API key"**
|
|
224
|
+
|
|
225
|
+
4. Copy the generated API key
|
|
226
|
+
|
|
227
|
+
### Configure credentials in n8n
|
|
228
|
+
|
|
229
|
+
1. Open n8n and Go to **Credentials**
|
|
230
|
+
|
|
231
|
+
2. Click **"New Credential"**
|
|
232
|
+
|
|
233
|
+
3. Search for **"LearningSuite API"**
|
|
234
|
+
|
|
235
|
+
4. Fill in the following fields:
|
|
236
|
+
|
|
237
|
+
- **API Key**: Your generated API key
|
|
238
|
+
|
|
239
|
+
- **Base URL**: `https://api.learningsuite.io/api/v1` (default)
|
|
240
|
+
|
|
241
|
+
5. Test the connection and save
|
|
242
|
+
|
|
243
|
+
## 📖 Usage
|
|
244
|
+
|
|
245
|
+
### Basic Member Operation
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
1. Add a "LearningSuite" node
|
|
250
|
+
|
|
251
|
+
2. Select Resource: "Member"
|
|
252
|
+
|
|
253
|
+
3. Select Operation: "Get by Email"
|
|
254
|
+
|
|
255
|
+
4. Enter the email address
|
|
256
|
+
|
|
257
|
+
5. Execute the workflow
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### ⚡ Instant Webhook Trigger Setup
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
1. Add a "LearningSuite Trigger" node
|
|
266
|
+
|
|
267
|
+
2. Select the desired event (e.g., "Lesson Completed")
|
|
268
|
+
|
|
269
|
+
3. Configure optional filters
|
|
270
|
+
|
|
271
|
+
4. Activate the workflow
|
|
272
|
+
|
|
273
|
+
5. The webhook is automatically registered with LearningSuite
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### ⏱️ Polling Trigger Setup
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
1. Add a "LearningSuite Polling Trigger" node
|
|
282
|
+
|
|
283
|
+
2. Select the desired event (e.g., "New Member")
|
|
284
|
+
|
|
285
|
+
3. Configure optional filters
|
|
286
|
+
|
|
287
|
+
4. Activate the workflow
|
|
288
|
+
|
|
289
|
+
5. The polling trigger is automatically registered with LearningSuite
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## 🔧 API Reference
|
|
294
|
+
|
|
295
|
+
The node is based on the **LearningSuite API** and supports all publicly available endpoints.
|
|
296
|
+
|
|
297
|
+
**Base URL**: `https://api.learningsuite.io/api/v1`
|
|
298
|
+
|
|
299
|
+
**Authentication**: API key via `x-api-key` header
|
|
300
|
+
|
|
301
|
+
Complete API documentation available at: [LearningSuite API Docs](https://api.learningsuite.io/api/v1/docs/)
|
|
302
|
+
|
|
303
|
+
## 🤝 Contributing
|
|
304
|
+
|
|
305
|
+
We welcome contributions! Please note the following guidelines:
|
|
306
|
+
|
|
307
|
+
### Development Setup
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
|
|
311
|
+
# Clone Repository
|
|
312
|
+
|
|
313
|
+
git clone https://github.com/rjsebening/n8n-nodes-learningsuite.git
|
|
314
|
+
|
|
315
|
+
cd n8n-nodes-learningsuite
|
|
316
|
+
|
|
317
|
+
# Install Dependencies
|
|
318
|
+
|
|
319
|
+
npm install
|
|
320
|
+
|
|
321
|
+
# Compile TypeScript
|
|
322
|
+
|
|
323
|
+
npm run build
|
|
324
|
+
|
|
325
|
+
# Run Tests
|
|
326
|
+
|
|
327
|
+
npm test
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### Pull Request Guidelines
|
|
332
|
+
|
|
333
|
+
1. **Fork** the repository
|
|
334
|
+
|
|
335
|
+
2. Create a **feature branch** (`git checkout -b feature/amazing-feature`)
|
|
336
|
+
|
|
337
|
+
3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
|
|
338
|
+
|
|
339
|
+
4. **Push** to the branch (`git push origin feature/amazing-feature`)
|
|
340
|
+
|
|
341
|
+
5. Open a **Pull Request**
|
|
342
|
+
|
|
343
|
+
### Code Style
|
|
344
|
+
|
|
345
|
+
- TypeScript for all new Features
|
|
346
|
+
|
|
347
|
+
- Follow ESLint configuration
|
|
348
|
+
|
|
349
|
+
- Add tests for new functionality
|
|
350
|
+
|
|
351
|
+
- Update documentation
|
|
352
|
+
|
|
353
|
+
## 📝 Changelog
|
|
354
|
+
|
|
355
|
+
### Version 0.1.0 (2025-09-23)
|
|
356
|
+
|
|
357
|
+
#### 🎉 Initial Release
|
|
358
|
+
|
|
359
|
+
- ✅ Full LearningSuite API integration
|
|
360
|
+
|
|
361
|
+
- ✅ 14 resources with 87 operations
|
|
362
|
+
|
|
363
|
+
- ✅ Webhook triggers with 17 event types for real-time automation
|
|
364
|
+
|
|
365
|
+
- ✅ Polling triggers with 11 event types
|
|
366
|
+
|
|
367
|
+
- ✅ "Find-or-Create" logic for members and groups
|
|
368
|
+
|
|
369
|
+
- ✅ Custom Fields resource with full CRUD support
|
|
370
|
+
|
|
371
|
+
- ✅ Course progress management (get/set/reset)
|
|
372
|
+
|
|
373
|
+
- ✅ Flexible parameter configuration
|
|
374
|
+
|
|
375
|
+
- ✅ API call resource for custom endpoints
|
|
376
|
+
|
|
377
|
+
## 🛠️ Compatibility
|
|
378
|
+
|
|
379
|
+
- **n8n Version**: 1.112.3+ (tested with latest)
|
|
380
|
+
|
|
381
|
+
- **Node Version**: 20+
|
|
382
|
+
|
|
383
|
+
- **TypeScript**: 5.0+
|
|
384
|
+
|
|
385
|
+
## 📄 License
|
|
386
|
+
|
|
387
|
+
This project is licensed under the [MIT License].
|
|
388
|
+
|
|
389
|
+
## ❓ Support
|
|
390
|
+
|
|
391
|
+
### Report Issues
|
|
392
|
+
|
|
393
|
+
For bugs or feature requests, please create a [GitHub Issue](https://github.com/rjsebening/n8n-nodes-learningsuite/issues).
|
|
394
|
+
|
|
395
|
+
### FAQ
|
|
396
|
+
|
|
397
|
+
**Q: Can I use multiple LearningSuite instances?**
|
|
398
|
+
|
|
399
|
+
A: Yes, simply create multiple credentials with different API keys and base URLs.
|
|
400
|
+
|
|
401
|
+
**Q: Are all API endpoints supported?**
|
|
402
|
+
|
|
403
|
+
A: The node covers all public API endpoints. For specific endpoints, use the "API Call" resource.
|
|
404
|
+
|
|
405
|
+
**Q: How do I find my LearningSuite API base URL?**
|
|
406
|
+
|
|
407
|
+
A: The default URL is `https://api.learningsuite.io/api/v1`. For custom domains, contact your LearningSuite administrator.
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
⭐ **Like this node?** Give us a star on GitHub!
|
|
412
|
+
|
|
413
|
+
💡 **Feature request?** Open an issue - we're always open to improvements!
|
|
414
|
+
|
|
415
|
+
## 📋 Disclaimer
|
|
416
|
+
|
|
417
|
+
This unofficial community node is not affiliated with, endorsed by, or sponsored by LearningSuite. It exclusively uses the publicly available LearningSuite API in accordance with its Terms of Use.
|
|
418
|
+
|
|
419
|
+
**Important Notes:**
|
|
420
|
+
|
|
421
|
+
- This node is developed and maintained by the community.
|
|
422
|
+
|
|
423
|
+
- For issues with the LearningSuite API, contact official LearningSuite Support.
|
|
424
|
+
|
|
425
|
+
- All LearningSuite trademarks and logos belong to LearningSuite.
|
|
426
|
+
|
|
427
|
+
- This node merely provides an interface to the public API.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAuthenticate, ICredentialTestRequest, ICredentialType, Icon, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class LearningSuiteApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
icon: Icon;
|
|
6
|
+
documentationUrl: string;
|
|
7
|
+
properties: INodeProperties[];
|
|
8
|
+
authenticate: IAuthenticate;
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LearningSuiteApi = void 0;
|
|
4
|
+
class LearningSuiteApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'learningSuiteApi';
|
|
7
|
+
this.displayName = 'LearningSuite API';
|
|
8
|
+
this.icon = 'file:learningsuite.svg';
|
|
9
|
+
this.documentationUrl = 'https://github.com/rjsebening/n8n-nodes-learningsuite/blob/main/CREDENTIALS.md';
|
|
10
|
+
this.properties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'API Key',
|
|
13
|
+
name: 'apiKey',
|
|
14
|
+
type: 'string',
|
|
15
|
+
typeOptions: { password: true },
|
|
16
|
+
required: true,
|
|
17
|
+
default: '',
|
|
18
|
+
description: 'API key provided by LearningSuite',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
displayName: 'Base URL',
|
|
22
|
+
name: 'baseUrl',
|
|
23
|
+
type: 'string',
|
|
24
|
+
default: 'https://api.learningsuite.io/api/v1',
|
|
25
|
+
required: true,
|
|
26
|
+
description: 'Base URL of the LearningSuite API',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
this.authenticate = {
|
|
30
|
+
type: 'generic',
|
|
31
|
+
properties: {
|
|
32
|
+
headers: {
|
|
33
|
+
'X-API-KEY': '={{$credentials.apiKey}}',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
this.test = {
|
|
38
|
+
request: {
|
|
39
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
40
|
+
url: '/auth',
|
|
41
|
+
method: 'GET',
|
|
42
|
+
headers: {
|
|
43
|
+
accept: 'application/json',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.LearningSuiteApi = LearningSuiteApi;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" zoomAndPan="magnify" viewBox="0 0 384 391.91998" height="512" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="6e6c1ae191"><path d="M 127 2.066406 L 318 2.066406 L 318 214 L 127 214 Z M 127 2.066406 " clip-rule="nonzero"/></clipPath><clipPath id="d43b364f1c"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath><clipPath id="b01eb270cc"><path d="M 224 54 L 369 54 L 369 293 L 224 293 Z M 224 54 " clip-rule="nonzero"/></clipPath><clipPath id="55f83de6eb"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath><clipPath id="b192d6d655"><path d="M 121 219 L 367 219 L 367 339 L 121 339 Z M 121 219 " clip-rule="nonzero"/></clipPath><clipPath id="d86f66000d"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath><clipPath id="ceec2f0e47"><path d="M 66 170 L 258 170 L 258 381.488281 L 66 381.488281 Z M 66 170 " clip-rule="nonzero"/></clipPath><clipPath id="44123b8dc5"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath><clipPath id="c4b59ff950"><path d="M 15 89 L 160 89 L 160 329 L 15 329 Z M 15 89 " clip-rule="nonzero"/></clipPath><clipPath id="ea0ae54dc4"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath><clipPath id="162f5ad0d5"><path d="M 15 47 L 261 47 L 261 166 L 15 166 Z M 15 47 " clip-rule="nonzero"/></clipPath><clipPath id="7a740aa3aa"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath><clipPath id="f801f6698e"><path d="M 153 147 L 237 147 L 237 238 L 153 238 Z M 153 147 " clip-rule="nonzero"/></clipPath><clipPath id="3192d50a54"><path d="M 14.773438 75.550781 L 14.773438 308.371094 C 14.773438 348.953125 47.671875 381.855469 88.257812 381.855469 L 295.742188 381.855469 C 336.328125 381.855469 369.226562 348.953125 369.226562 308.371094 L 369.226562 75.550781 C 369.226562 34.96875 336.328125 2.066406 295.742188 2.066406 L 88.257812 2.066406 C 47.671875 2.066406 14.773438 34.96875 14.773438 75.550781 Z M 14.773438 75.550781 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#6e6c1ae191)"><g clip-path="url(#d43b364f1c)"><path fill="#1871d4" d="M 291.515625 213.128906 C 292.085938 198.511719 291.609375 183.929688 290.089844 169.378906 C 288.445312 152.855469 285.25 136.636719 280.496094 120.722656 C 275.328125 103.039062 267.5625 86.585938 257.191406 71.355469 C 252.628906 64.359375 247.34375 57.953125 241.347656 52.136719 C 235.347656 46.320312 228.78125 41.234375 221.644531 36.886719 C 217.082031 34.214844 212.25 32.171875 207.148438 30.761719 C 202.050781 29.347656 196.855469 28.613281 191.566406 28.558594 C 184.449219 28.46875 177.640625 29.878906 171.148438 32.792969 L 127.097656 27.84375 C 131.570312 24.03125 136.285156 20.539062 141.234375 17.363281 C 147.609375 13.246094 154.339844 9.835938 161.429688 7.128906 C 169.304688 4.101562 177.457031 2.421875 185.886719 2.097656 C 186.691406 2.0625 187.464844 2.0625 188.417969 2.0625 C 196.847656 2.078125 205.117188 3.207031 213.238281 5.460938 C 221.324219 7.714844 229.019531 10.914062 236.320312 15.058594 C 243.777344 19.332031 250.691406 24.347656 257.070312 30.105469 C 263.445312 35.859375 269.140625 42.230469 274.148438 49.207031 C 274.914062 50.261719 275.851562 51.535156 277.101562 53.199219 L 277.167969 53.277344 C 282.785156 60.59375 287.863281 68.265625 292.402344 76.292969 C 298.792969 87.984375 303.597656 100.292969 306.820312 113.21875 C 315.085938 145.617188 317.917969 165.109375 317.859375 171.953125 C 311.960938 187.65625 298.828125 204.480469 291.527344 213.121094 Z M 291.515625 213.128906 " fill-opacity="1" fill-rule="nonzero"/></g></g><g clip-path="url(#b01eb270cc)"><g clip-path="url(#55f83de6eb)"><path fill="#042344" d="M 258.054688 292.488281 C 246.765625 292.34375 235.570312 291.238281 224.472656 289.175781 C 237.425781 282.359375 249.828125 274.652344 261.675781 266.058594 C 275.175781 256.375 287.632812 245.496094 299.046875 233.429688 C 311.785156 220.105469 322.171875 205.148438 330.203125 188.5625 C 333.980469 181.113281 336.886719 173.339844 338.925781 165.242188 C 340.964844 157.144531 342.082031 148.921875 342.277344 140.574219 C 342.3125 135.289062 341.671875 130.085938 340.34375 124.96875 C 339.019531 119.851562 337.058594 114.988281 334.460938 110.382812 C 330.976562 104.191406 326.355469 99.019531 320.59375 94.863281 L 302.859375 54.253906 C 308.449219 56.238281 313.875 58.59375 319.140625 61.320312 C 325.875 64.769531 332.171875 68.882812 338.035156 73.660156 C 344.578125 78.949219 350.09375 85.148438 354.578125 92.261719 C 355.023438 92.980469 355.421875 93.671875 355.863281 94.4375 C 360.074219 101.734375 363.230469 109.460938 365.34375 117.613281 C 367.433594 125.738281 368.507812 133.996094 368.574219 142.386719 C 368.589844 150.972656 367.695312 159.464844 365.886719 167.859375 C 364.082031 176.253906 361.40625 184.363281 357.859375 192.183594 L 357.585938 192.808594 C 357.375 193.300781 357.144531 193.796875 356.933594 194.308594 C 356.65625 194.957031 356.375 195.609375 356.082031 196.28125 L 355.882812 196.726562 L 355.726562 197.0625 C 352.238281 205.503906 348.164062 213.652344 343.507812 221.511719 C 336.582031 232.894531 328.316406 243.203125 318.710938 252.4375 C 294.742188 275.847656 279.265625 288.039062 273.320312 291.363281 C 268.261719 292.152344 263.171875 292.527344 258.054688 292.488281 Z M 258.054688 292.488281 " fill-opacity="1" fill-rule="nonzero"/></g></g><g clip-path="url(#b192d6d655)"><g clip-path="url(#d86f66000d)"><path fill="#1871d4" d="M 243.113281 338.027344 C 241.886719 338.027344 240.921875 338.027344 240.082031 337.996094 C 226.753906 337.691406 213.6875 335.695312 200.878906 332.007812 C 168.539062 322.929688 150.273438 315.667969 144.433594 312.207031 C 133.769531 299.222656 125.753906 279.453125 121.929688 268.820312 C 134.304688 276.632812 147.175781 283.511719 160.546875 289.457031 C 175.6875 296.3125 191.34375 301.660156 207.511719 305.507812 C 221.246094 308.777344 235.171875 310.457031 249.289062 310.550781 C 253.566406 310.550781 257.832031 310.382812 261.96875 310.03125 C 270.3125 309.582031 278.507812 308.214844 286.546875 305.929688 C 294.585938 303.648438 302.273438 300.503906 309.605469 296.5 C 314.207031 293.882812 318.398438 290.722656 322.175781 287.015625 C 325.953125 283.308594 329.191406 279.179688 331.890625 274.628906 C 335.527344 268.519531 337.703125 261.933594 338.421875 254.863281 L 364.738281 219.1875 C 365.824219 225.015625 366.492188 230.890625 366.75 236.808594 C 367.132812 244.359375 366.71875 251.867188 365.503906 259.332031 C 364.1875 267.632812 361.566406 275.5 357.636719 282.933594 C 357.328125 283.519531 356.984375 284.113281 356.652344 284.707031 L 356.449219 285.035156 L 356.382812 285.160156 C 352.164062 292.441406 347.050781 299.03125 341.046875 304.933594 C 335.042969 310.800781 328.421875 315.863281 321.179688 320.117188 C 313.742188 324.425781 305.933594 327.898438 297.753906 330.539062 C 289.570312 333.175781 281.203125 334.921875 272.648438 335.769531 C 270.996094 335.929688 269.226562 336.136719 267.722656 336.320312 L 267.621094 336.320312 C 259.484375 337.378906 251.316406 337.945312 243.113281 338.027344 Z M 243.113281 338.027344 " fill-opacity="1" fill-rule="nonzero"/></g></g><g clip-path="url(#ceec2f0e47)"><g clip-path="url(#44123b8dc5)"><path fill="#042344" d="M 195.886719 381.484375 C 187.460938 381.472656 179.1875 380.339844 171.066406 378.085938 C 162.976562 375.839844 155.285156 372.640625 147.984375 368.492188 C 140.53125 364.214844 133.617188 359.195312 127.242188 353.4375 C 120.863281 347.683594 115.167969 341.316406 110.15625 334.339844 C 109.382812 333.277344 108.351562 331.851562 107.207031 330.347656 L 107.066406 330.160156 L 107.011719 330.078125 C 101.449219 322.8125 96.417969 315.199219 91.917969 307.234375 C 85.519531 295.546875 80.714844 283.238281 77.503906 270.308594 C 69.203125 237.90625 66.363281 218.417969 66.445312 211.597656 C 72.359375 195.863281 85.496094 179.046875 92.796875 170.417969 C 92.214844 185.039062 92.691406 199.625 94.222656 214.175781 C 95.851562 230.703125 99.039062 246.921875 103.78125 262.835938 C 108.960938 280.515625 116.730469 296.976562 127.097656 312.214844 C 131.664062 319.207031 136.945312 325.609375 142.945312 331.421875 C 148.945312 337.234375 155.511719 342.3125 162.648438 346.660156 C 167.214844 349.332031 172.046875 351.375 177.148438 352.785156 C 182.25 354.195312 187.445312 354.925781 192.738281 354.980469 C 199.855469 355.078125 206.664062 353.667969 213.15625 350.753906 L 257.222656 355.695312 C 252.71875 359.550781 247.96875 363.066406 242.964844 366.246094 C 236.605469 370.355469 229.882812 373.757812 222.804688 376.445312 C 214.960938 379.472656 206.835938 381.140625 198.433594 381.457031 C 197.582031 381.46875 196.800781 381.484375 195.886719 381.484375 Z M 195.886719 381.484375 " fill-opacity="1" fill-rule="nonzero"/></g></g><g clip-path="url(#c4b59ff950)"><g clip-path="url(#ea0ae54dc4)"><path fill="#1871d4" d="M 81.429688 328.019531 C 75.84375 326.050781 70.425781 323.707031 65.167969 320.980469 C 58.433594 317.523438 52.132812 313.40625 46.261719 308.628906 C 39.726562 303.34375 34.21875 297.144531 29.738281 290.035156 C 29.292969 289.320312 28.847656 288.597656 28.425781 287.871094 C 24.222656 280.578125 21.070312 272.855469 18.972656 264.703125 C 16.882812 256.574219 15.800781 248.3125 15.730469 239.921875 C 15.71875 231.332031 16.613281 222.839844 18.417969 214.441406 C 20.21875 206.042969 22.890625 197.929688 26.425781 190.097656 C 27.074219 188.667969 27.757812 187.128906 28.378906 185.664062 L 28.421875 185.554688 L 28.488281 185.40625 L 28.488281 185.355469 C 32.003906 176.867188 36.109375 168.671875 40.800781 160.769531 C 47.722656 149.394531 55.984375 139.085938 65.582031 129.847656 C 89.523438 106.5 104.726562 94.425781 110.972656 90.917969 C 116.039062 90.136719 121.136719 89.769531 126.261719 89.808594 C 137.546875 89.96875 148.738281 91.074219 159.835938 93.128906 C 146.878906 99.9375 134.472656 107.640625 122.625 116.238281 C 109.121094 125.910156 96.660156 136.78125 85.246094 148.847656 C 72.507812 162.167969 62.125 177.117188 54.09375 193.695312 C 50.3125 201.144531 47.402344 208.921875 45.363281 217.019531 C 43.320312 225.117188 42.199219 233.34375 41.996094 241.691406 C 41.96875 246.980469 42.617188 252.1875 43.941406 257.304688 C 45.269531 262.425781 47.226562 267.292969 49.820312 271.902344 C 53.292969 278.105469 57.914062 283.277344 63.6875 287.425781 L 81.441406 328.015625 Z M 81.429688 328.019531 " fill-opacity="1" fill-rule="nonzero"/></g></g><g clip-path="url(#162f5ad0d5)"><g clip-path="url(#7a740aa3aa)"><path fill="#042344" d="M 17.367188 165.964844 C 16.308594 160.140625 15.640625 154.277344 15.359375 148.367188 C 14.984375 140.8125 15.398438 133.300781 16.605469 125.835938 C 17.910156 117.53125 20.527344 109.664062 24.449219 102.226562 L 24.695312 101.785156 C 24.9375 101.339844 25.195312 100.875 25.449219 100.425781 L 25.683594 100.015625 C 29.910156 92.734375 35.03125 86.148438 41.046875 80.257812 C 47.039062 74.371094 53.65625 69.304688 60.902344 65.058594 C 68.339844 60.753906 76.148438 57.285156 84.328125 54.648438 C 92.507812 52.011719 100.871094 50.269531 109.425781 49.421875 L 111.027344 49.238281 L 114.355469 48.867188 L 114.773438 48.8125 L 114.808594 48.8125 C 122.832031 47.78125 130.890625 47.226562 138.980469 47.144531 C 140.078125 47.144531 141.011719 47.144531 142.019531 47.179688 C 155.355469 47.484375 168.433594 49.476562 181.25 53.164062 C 213.539062 62.222656 231.566406 69.34375 237.667969 72.96875 C 248.324219 85.964844 256.347656 105.722656 260.167969 116.347656 C 247.789062 108.542969 234.914062 101.660156 221.546875 95.703125 C 206.40625 88.863281 190.757812 83.515625 174.59375 79.664062 C 160.875 76.40625 146.964844 74.730469 132.867188 74.640625 C 128.601562 74.640625 124.308594 74.820312 120.132812 75.179688 C 111.789062 75.625 103.597656 76.988281 95.558594 79.265625 C 87.519531 81.546875 79.832031 84.683594 72.496094 88.683594 C 67.894531 91.300781 63.707031 94.460938 59.933594 98.171875 C 56.160156 101.882812 52.925781 106.011719 50.230469 110.566406 C 46.589844 116.675781 44.414062 123.265625 43.703125 130.339844 L 17.367188 165.960938 Z M 17.367188 165.964844 " fill-opacity="1" fill-rule="nonzero"/></g></g><g clip-path="url(#f801f6698e)"><g clip-path="url(#3192d50a54)"><path fill="#042344" d="M 228.59375 179.5625 C 229.734375 180.222656 230.773438 181.015625 231.710938 181.949219 C 232.644531 182.882812 233.441406 183.921875 234.101562 185.0625 C 234.761719 186.207031 235.261719 187.414062 235.605469 188.691406 C 235.945312 189.964844 236.117188 191.261719 236.117188 192.582031 C 236.117188 193.902344 235.945312 195.199219 235.605469 196.472656 C 235.261719 197.746094 234.761719 198.957031 234.101562 200.097656 C 233.441406 201.242188 232.644531 202.277344 231.710938 203.210938 C 230.773438 204.144531 229.734375 204.941406 228.59375 205.601562 L 175.980469 235.929688 C 175.414062 236.257812 174.824219 236.546875 174.21875 236.800781 C 173.609375 237.050781 172.988281 237.261719 172.355469 237.429688 C 171.71875 237.601562 171.078125 237.726562 170.425781 237.8125 C 169.773438 237.898438 169.117188 237.941406 168.460938 237.941406 C 167.804688 237.941406 167.152344 237.898438 166.5 237.8125 C 165.847656 237.726562 165.203125 237.597656 164.570312 237.429688 C 163.933594 237.257812 163.316406 237.046875 162.707031 236.796875 C 162.101562 236.542969 161.511719 236.253906 160.945312 235.925781 C 160.375 235.597656 159.828125 235.234375 159.308594 234.835938 C 158.785156 234.433594 158.292969 234.003906 157.828125 233.539062 C 157.363281 233.074219 156.933594 232.582031 156.53125 232.0625 C 156.132812 231.539062 155.769531 230.996094 155.4375 230.425781 C 155.109375 229.859375 154.820312 229.269531 154.570312 228.664062 C 154.316406 228.058594 154.105469 227.4375 153.9375 226.804688 C 153.765625 226.167969 153.636719 225.527344 153.550781 224.875 C 153.464844 224.226562 153.421875 223.570312 153.421875 222.914062 L 153.421875 162.238281 C 153.421875 161.582031 153.464844 160.929688 153.550781 160.277344 C 153.636719 159.625 153.765625 158.984375 153.9375 158.351562 C 154.105469 157.714844 154.316406 157.09375 154.570312 156.488281 C 154.820312 155.882812 155.109375 155.292969 155.4375 154.726562 C 155.769531 154.15625 156.132812 153.613281 156.53125 153.09375 C 156.933594 152.570312 157.363281 152.078125 157.828125 151.613281 C 158.292969 151.148438 158.785156 150.71875 159.308594 150.320312 C 159.828125 149.917969 160.375 149.554688 160.945312 149.226562 C 161.511719 148.898438 162.101562 148.609375 162.707031 148.355469 C 163.316406 148.105469 163.933594 147.894531 164.570312 147.726562 C 165.203125 147.554688 165.847656 147.425781 166.5 147.339844 C 167.152344 147.253906 167.804688 147.210938 168.460938 147.210938 C 169.117188 147.210938 169.773438 147.253906 170.425781 147.339844 C 171.078125 147.425781 171.71875 147.554688 172.355469 147.722656 C 172.988281 147.890625 173.609375 148.101562 174.21875 148.351562 C 174.824219 148.605469 175.414062 148.894531 175.980469 149.222656 Z M 228.59375 179.5625 " fill-opacity="1" fill-rule="nonzero"/></g></g></svg>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type IExecuteFunctions, type INodeExecutionData, type INodeType, type INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
import { getTemplateVariablesResourceMapperFields } from './methods/resourceMappers/hub.resourceMapper';
|
|
3
|
+
import { getMultipleCustomFieldValueResourceMapperFields } from './methods/resourceMappers/customFields.resourceMapper';
|
|
4
|
+
export declare class LearningSuite implements INodeType {
|
|
5
|
+
description: INodeTypeDescription;
|
|
6
|
+
methods: {
|
|
7
|
+
loadOptions: {
|
|
8
|
+
webhook_getSubscriptions(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}[]>;
|
|
13
|
+
teamMember_getTeamMembersById(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
14
|
+
name: string;
|
|
15
|
+
value: string;
|
|
16
|
+
}[]>;
|
|
17
|
+
teamMember_getTeamMembersByEmail(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
18
|
+
name: string;
|
|
19
|
+
value: string;
|
|
20
|
+
}[]>;
|
|
21
|
+
role_getRoles(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
22
|
+
popup_getPopups(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
23
|
+
module_getAllModules(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
24
|
+
module_getModules(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
25
|
+
module_getSections(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
26
|
+
module_getLessons(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
27
|
+
member_getMembers(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
28
|
+
name: string;
|
|
29
|
+
value: string;
|
|
30
|
+
}[]>;
|
|
31
|
+
member_getMembersByEmail(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
32
|
+
name: string;
|
|
33
|
+
value: string;
|
|
34
|
+
}[]>;
|
|
35
|
+
hub_getHubs(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
36
|
+
hub_getTemplates(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
37
|
+
group_getGroups(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
38
|
+
customFields_getCards(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
39
|
+
customFields_getDefinitions(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
40
|
+
customFields_getCategories(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
41
|
+
customFields_getFieldType(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
42
|
+
name: string;
|
|
43
|
+
value: string;
|
|
44
|
+
}[]>;
|
|
45
|
+
customFields_getFieldOptions(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<{
|
|
46
|
+
name: string;
|
|
47
|
+
value: string;
|
|
48
|
+
}[]>;
|
|
49
|
+
course_getCourses(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
50
|
+
course_getModules(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
51
|
+
course_getSectionsInCourse(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
52
|
+
course_getLessonsInCourse(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
53
|
+
community_getAreas(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
54
|
+
community_getForums(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
55
|
+
community_getBadges(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
56
|
+
community_getLatestPosts(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
57
|
+
bundle_getBundles(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
58
|
+
};
|
|
59
|
+
resourceMapping: {
|
|
60
|
+
getTemplateVariablesResourceMapperFields: typeof getTemplateVariablesResourceMapperFields;
|
|
61
|
+
getMultipleCustomFieldValueResourceMapperFields: typeof getMultipleCustomFieldValueResourceMapperFields;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
65
|
+
}
|