@edubase/mcp 1.0.23
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.md +169 -0
- package/dist/helpers.js +4 -0
- package/dist/index.js +430 -0
- package/dist/prompts.js +4 -0
- package/dist/tools/classes.js +348 -0
- package/dist/tools/exams.js +309 -0
- package/dist/tools/integrations.js +246 -0
- package/dist/tools/metrics.js +39 -0
- package/dist/tools/organizations.js +625 -0
- package/dist/tools/permissions.js +2216 -0
- package/dist/tools/plays.js +406 -0
- package/dist/tools/questions.js +1142 -0
- package/dist/tools/quizes.js +253 -0
- package/dist/tools/tags.js +1504 -0
- package/dist/tools/users.js +611 -0
- package/dist/tools.js +68 -0
- package/package.json +30 -0
|
@@ -0,0 +1,625 @@
|
|
|
1
|
+
/* Tool definitions */
|
|
2
|
+
export const EDUBASE_API_TOOLS_ORGANIZATIONS = [
|
|
3
|
+
// GET /organizations - List owned and managed organizations
|
|
4
|
+
{
|
|
5
|
+
name: 'edubase_get_organizations',
|
|
6
|
+
description: "List owned and managed organizations.",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
type: 'object',
|
|
9
|
+
properties: {
|
|
10
|
+
search: {
|
|
11
|
+
type: 'string',
|
|
12
|
+
description: 'search string to filter results',
|
|
13
|
+
},
|
|
14
|
+
limit: {
|
|
15
|
+
type: 'number',
|
|
16
|
+
description: 'limit number of results (default: 16)',
|
|
17
|
+
},
|
|
18
|
+
page: {
|
|
19
|
+
type: 'number',
|
|
20
|
+
description: 'page number (default: 1), not used in search mode!',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
required: [],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
// GET /organization - Get/check organization
|
|
27
|
+
{
|
|
28
|
+
name: 'edubase_get_organization',
|
|
29
|
+
description: "Get/check organization.",
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
organization: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'organization identification string',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: ['organization'],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
// POST /organization - Create an organization
|
|
42
|
+
{
|
|
43
|
+
name: 'edubase_post_organization',
|
|
44
|
+
description: "Create an organization.",
|
|
45
|
+
inputSchema: {
|
|
46
|
+
type: 'object',
|
|
47
|
+
properties: {
|
|
48
|
+
name: {
|
|
49
|
+
type: 'string',
|
|
50
|
+
description: 'title of the organization',
|
|
51
|
+
},
|
|
52
|
+
description: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
description: 'optional short description',
|
|
55
|
+
},
|
|
56
|
+
domain: {
|
|
57
|
+
type: 'string',
|
|
58
|
+
description: 'domain name (FQDN) for the organization without www prefix, needs special privileges to set!',
|
|
59
|
+
},
|
|
60
|
+
website: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
description: 'homepage URL',
|
|
63
|
+
},
|
|
64
|
+
email: {
|
|
65
|
+
type: 'string',
|
|
66
|
+
description: 'contact email address',
|
|
67
|
+
},
|
|
68
|
+
phone: {
|
|
69
|
+
type: 'string',
|
|
70
|
+
description: 'contact phone number',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
required: ['name'],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
// PATCH /organization - Update organization
|
|
77
|
+
{
|
|
78
|
+
name: 'edubase_patch_organization',
|
|
79
|
+
description: "Update organization.",
|
|
80
|
+
inputSchema: {
|
|
81
|
+
type: 'object',
|
|
82
|
+
properties: {
|
|
83
|
+
organization: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'organization identification string',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
required: ['organization'],
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
// DELETE /organization - Remove organization
|
|
92
|
+
{
|
|
93
|
+
name: 'edubase_delete_organization',
|
|
94
|
+
description: "Remove organization.",
|
|
95
|
+
inputSchema: {
|
|
96
|
+
type: 'object',
|
|
97
|
+
properties: {
|
|
98
|
+
organization: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
description: 'organization identification string',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
required: ['organization'],
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
// GET /organization:members - List all members in an organization
|
|
107
|
+
{
|
|
108
|
+
name: 'edubase_get_organization_members',
|
|
109
|
+
description: "List all members in an organization.",
|
|
110
|
+
inputSchema: {
|
|
111
|
+
type: 'object',
|
|
112
|
+
properties: {
|
|
113
|
+
organization: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
description: 'organization identification string',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
required: ['organization'],
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
// POST /organization:members - Assign user(s) to an organization
|
|
122
|
+
{
|
|
123
|
+
name: 'edubase_post_organization_members',
|
|
124
|
+
description: "Assign user(s) to an organization. Updates memberships if already member of the organization.",
|
|
125
|
+
inputSchema: {
|
|
126
|
+
type: 'object',
|
|
127
|
+
properties: {
|
|
128
|
+
organization: {
|
|
129
|
+
type: 'string',
|
|
130
|
+
description: 'organization identification string',
|
|
131
|
+
},
|
|
132
|
+
users: {
|
|
133
|
+
type: 'string',
|
|
134
|
+
description: 'comma-separated list of user identification strings',
|
|
135
|
+
},
|
|
136
|
+
department: {
|
|
137
|
+
type: 'string',
|
|
138
|
+
description: 'optional name of department',
|
|
139
|
+
},
|
|
140
|
+
permission_organization: {
|
|
141
|
+
type: 'string',
|
|
142
|
+
description: 'optional permission level to organization (member / teacher / reporter / supervisor / admin) (default: member)',
|
|
143
|
+
},
|
|
144
|
+
permission_content: {
|
|
145
|
+
type: 'string',
|
|
146
|
+
description: 'optional permission level to contents in organization (none / view / report / control / modify / grant / admin) (default: none)',
|
|
147
|
+
},
|
|
148
|
+
notify: {
|
|
149
|
+
type: 'boolean',
|
|
150
|
+
description: 'notify users (default: false)',
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
required: ['organization', 'users'],
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
// DELETE /organization:members - Remove user(s) from an organization
|
|
157
|
+
{
|
|
158
|
+
name: 'edubase_delete_organization_members',
|
|
159
|
+
description: "Remove user(s) from an organization.",
|
|
160
|
+
inputSchema: {
|
|
161
|
+
type: 'object',
|
|
162
|
+
properties: {
|
|
163
|
+
organization: {
|
|
164
|
+
type: 'string',
|
|
165
|
+
description: 'organization identification string',
|
|
166
|
+
},
|
|
167
|
+
users: {
|
|
168
|
+
type: 'string',
|
|
169
|
+
description: 'comma-separated list of user identification strings',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
required: ['organization', 'users'],
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
// POST /organizations:members - Assign user(s) to organization(s)
|
|
176
|
+
{
|
|
177
|
+
name: 'edubase_post_organizations_members',
|
|
178
|
+
description: "Assign user(s) to organization(s). Updates memberships if already member of an organization.",
|
|
179
|
+
inputSchema: {
|
|
180
|
+
type: 'object',
|
|
181
|
+
properties: {
|
|
182
|
+
organizations: {
|
|
183
|
+
type: 'string',
|
|
184
|
+
description: 'comma-separated list of organization identification strings',
|
|
185
|
+
},
|
|
186
|
+
users: {
|
|
187
|
+
type: 'string',
|
|
188
|
+
description: 'comma-separated list of user identification strings',
|
|
189
|
+
},
|
|
190
|
+
department: {
|
|
191
|
+
type: 'string',
|
|
192
|
+
description: 'optional name of department',
|
|
193
|
+
},
|
|
194
|
+
permission_organization: {
|
|
195
|
+
type: 'string',
|
|
196
|
+
description: 'optional permission level to organization (member / teacher / reporter / supervisor / admin) (default: member)',
|
|
197
|
+
},
|
|
198
|
+
permission_content: {
|
|
199
|
+
type: 'string',
|
|
200
|
+
description: 'optional permission level to contents in organization (none / view / report / control / modify / grant / admin) (default: none)',
|
|
201
|
+
},
|
|
202
|
+
notify: {
|
|
203
|
+
type: 'boolean',
|
|
204
|
+
description: 'notify users (default: false)',
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
required: ['organizations', 'users'],
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
// GET /user:organizations - List all organizations a user is member of
|
|
211
|
+
{
|
|
212
|
+
name: 'edubase_get_user_organizations',
|
|
213
|
+
description: "List all organizations a user is member of.",
|
|
214
|
+
inputSchema: {
|
|
215
|
+
type: 'object',
|
|
216
|
+
properties: {
|
|
217
|
+
user: {
|
|
218
|
+
type: 'string',
|
|
219
|
+
description: 'user identification string',
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
required: ['user'],
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
// POST /user:organizations - Assign user to organization(s)
|
|
226
|
+
{
|
|
227
|
+
name: 'edubase_post_user_organizations',
|
|
228
|
+
description: "Assign user to organization(s). Updates membership if already member of an organization.",
|
|
229
|
+
inputSchema: {
|
|
230
|
+
type: 'object',
|
|
231
|
+
properties: {
|
|
232
|
+
user: {
|
|
233
|
+
type: 'string',
|
|
234
|
+
description: 'user identification string',
|
|
235
|
+
},
|
|
236
|
+
organizations: {
|
|
237
|
+
type: 'string',
|
|
238
|
+
description: 'comma-separated list of organization identification strings',
|
|
239
|
+
},
|
|
240
|
+
department: {
|
|
241
|
+
type: 'string',
|
|
242
|
+
description: 'optional name of department',
|
|
243
|
+
},
|
|
244
|
+
permission_organization: {
|
|
245
|
+
type: 'string',
|
|
246
|
+
description: 'optional permission level to organization (member / teacher / reporter / supervisor / admin) (default: member)',
|
|
247
|
+
},
|
|
248
|
+
permission_content: {
|
|
249
|
+
type: 'string',
|
|
250
|
+
description: 'optional permission level to contents in organization (none / view / report / control / modify / grant / admin) (default: none)',
|
|
251
|
+
},
|
|
252
|
+
notify: {
|
|
253
|
+
type: 'boolean',
|
|
254
|
+
description: 'notify user (default: false)',
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
required: ['user', 'organizations'],
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
// DELETE /user:organizations - Remove user from organization(s)
|
|
261
|
+
{
|
|
262
|
+
name: 'edubase_delete_user_organizations',
|
|
263
|
+
description: "Remove user from organization(s).",
|
|
264
|
+
inputSchema: {
|
|
265
|
+
type: 'object',
|
|
266
|
+
properties: {
|
|
267
|
+
user: {
|
|
268
|
+
type: 'string',
|
|
269
|
+
description: 'user identification string',
|
|
270
|
+
},
|
|
271
|
+
organizations: {
|
|
272
|
+
type: 'string',
|
|
273
|
+
description: 'comma-separated list of organization identification strings',
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
required: ['user', 'organizations'],
|
|
277
|
+
},
|
|
278
|
+
},
|
|
279
|
+
// GET /organization:webhook - Get/check webhook configured in organization
|
|
280
|
+
{
|
|
281
|
+
name: 'edubase_get_organization_webhook',
|
|
282
|
+
description: "Get/check webhook configured in organization.",
|
|
283
|
+
inputSchema: {
|
|
284
|
+
type: 'object',
|
|
285
|
+
properties: {
|
|
286
|
+
organization: {
|
|
287
|
+
type: 'string',
|
|
288
|
+
description: 'organization identification string',
|
|
289
|
+
},
|
|
290
|
+
webhook: {
|
|
291
|
+
type: 'string',
|
|
292
|
+
description: 'webhook identification string',
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
required: ['organization', 'webhook'],
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
// POST /organization:webhook - Create a webhook for an organization
|
|
299
|
+
{
|
|
300
|
+
name: 'edubase_post_organization_webhook',
|
|
301
|
+
description: "Create a webhook for an organization.",
|
|
302
|
+
inputSchema: {
|
|
303
|
+
type: 'object',
|
|
304
|
+
properties: {
|
|
305
|
+
organization: {
|
|
306
|
+
type: 'string',
|
|
307
|
+
description: 'organization identification string',
|
|
308
|
+
},
|
|
309
|
+
name: {
|
|
310
|
+
type: 'string',
|
|
311
|
+
description: 'title of the webhook',
|
|
312
|
+
},
|
|
313
|
+
trigger_event: {
|
|
314
|
+
type: 'string',
|
|
315
|
+
description: "Type of event to trigger webhook:\n" +
|
|
316
|
+
"- exam-play-result: triggers when a user (must be member of the organization) completes an exam in the organization\n" +
|
|
317
|
+
"- quiz-play-result: triggers when a user (must be member of the organization) completes a quiz in practice mode in the organization\n" +
|
|
318
|
+
"- api: triggers when a manual API call is made (useful for testing and debugging)",
|
|
319
|
+
},
|
|
320
|
+
endpoint: {
|
|
321
|
+
type: 'string',
|
|
322
|
+
description: 'URL to send webhook notifications to',
|
|
323
|
+
},
|
|
324
|
+
method: {
|
|
325
|
+
type: 'string',
|
|
326
|
+
description: "HTTP method to use for webhook notifications (default: POST)\n" +
|
|
327
|
+
"- POST\n" +
|
|
328
|
+
"- GET",
|
|
329
|
+
},
|
|
330
|
+
authentication: {
|
|
331
|
+
type: 'string',
|
|
332
|
+
description: "Type of authentication (default: none):\n" +
|
|
333
|
+
"- none: no authentication\n" +
|
|
334
|
+
"- key: use a secret key (or password) for authentication",
|
|
335
|
+
},
|
|
336
|
+
authentication_send: {
|
|
337
|
+
type: 'string',
|
|
338
|
+
description: "How to send authentication data (default: data):\n" +
|
|
339
|
+
"- header: as header field\n" +
|
|
340
|
+
"- bearer: as Bearer token in Authorization header\n" +
|
|
341
|
+
"- data: as data field (in body or query string)",
|
|
342
|
+
},
|
|
343
|
+
authentication_send_header: {
|
|
344
|
+
type: 'string',
|
|
345
|
+
description: 'name of header field to send authentication data in, required if authentication is set to key and authentication_send is set to header',
|
|
346
|
+
},
|
|
347
|
+
authentication_send_data: {
|
|
348
|
+
type: 'string',
|
|
349
|
+
description: 'name of data field to send authentication data in, required if authentication is set to key and authentication_send is set to data',
|
|
350
|
+
},
|
|
351
|
+
authentication_key: {
|
|
352
|
+
type: 'string',
|
|
353
|
+
description: 'secret key (or password) to use for authentication, required if authentication is set to key',
|
|
354
|
+
},
|
|
355
|
+
authentication_key_custom: {
|
|
356
|
+
type: 'string',
|
|
357
|
+
description: 'custom field name to use as the authentication key, required if authentication is set to key, mutually exclusive with authentication_key',
|
|
358
|
+
},
|
|
359
|
+
extra_data: {
|
|
360
|
+
type: 'string',
|
|
361
|
+
description: 'additional data (as JSON encoded string) to send with the webhook notification',
|
|
362
|
+
},
|
|
363
|
+
retry: {
|
|
364
|
+
type: 'string',
|
|
365
|
+
description: "How to retry webhook notifications on failure (default: error):\n" +
|
|
366
|
+
"- none: no retry\n" +
|
|
367
|
+
"- error: delayed retry on any error",
|
|
368
|
+
},
|
|
369
|
+
},
|
|
370
|
+
required: ['organization', 'name', 'trigger_event', 'endpoint'],
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
// PATCH /organization:webhook - Update organizational webhook
|
|
374
|
+
{
|
|
375
|
+
name: 'edubase_patch_organization_webhook',
|
|
376
|
+
description: "Update organizational webhook.",
|
|
377
|
+
inputSchema: {
|
|
378
|
+
type: 'object',
|
|
379
|
+
properties: {
|
|
380
|
+
organization: {
|
|
381
|
+
type: 'string',
|
|
382
|
+
description: 'organization identification string',
|
|
383
|
+
},
|
|
384
|
+
webhook: {
|
|
385
|
+
type: 'string',
|
|
386
|
+
description: 'webhook identification string',
|
|
387
|
+
},
|
|
388
|
+
active: {
|
|
389
|
+
type: 'boolean',
|
|
390
|
+
description: 'enable or disable webhook',
|
|
391
|
+
},
|
|
392
|
+
},
|
|
393
|
+
required: ['organization', 'webhook'],
|
|
394
|
+
},
|
|
395
|
+
},
|
|
396
|
+
// DELETE /organization:webhook - Remove webhook from organization
|
|
397
|
+
{
|
|
398
|
+
name: 'edubase_delete_organization_webhook',
|
|
399
|
+
description: "Remove organizational webhook.",
|
|
400
|
+
inputSchema: {
|
|
401
|
+
type: 'object',
|
|
402
|
+
properties: {
|
|
403
|
+
organization: {
|
|
404
|
+
type: 'string',
|
|
405
|
+
description: 'organization identification string',
|
|
406
|
+
},
|
|
407
|
+
webhook: {
|
|
408
|
+
type: 'string',
|
|
409
|
+
description: 'webhook identification string',
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
required: ['organization', 'webhook'],
|
|
413
|
+
},
|
|
414
|
+
},
|
|
415
|
+
// POST /organization:webhook:trigger - Trigger an organizational webhook call with optional custom payload
|
|
416
|
+
{
|
|
417
|
+
name: 'edubase_post_organization_webhook_trigger',
|
|
418
|
+
description: "Trigger an organizational webhook call with optional custom payload. Only triggers webhooks with **trigger_event** set to `api`!.",
|
|
419
|
+
inputSchema: {
|
|
420
|
+
type: 'object',
|
|
421
|
+
properties: {
|
|
422
|
+
organization: {
|
|
423
|
+
type: 'string',
|
|
424
|
+
description: 'organization identification string',
|
|
425
|
+
},
|
|
426
|
+
webhook: {
|
|
427
|
+
type: 'string',
|
|
428
|
+
description: 'webhook identification string',
|
|
429
|
+
},
|
|
430
|
+
data: {
|
|
431
|
+
type: 'string',
|
|
432
|
+
description: 'custom payload data to be sent with the webhook call, must be a valid JSON string',
|
|
433
|
+
},
|
|
434
|
+
},
|
|
435
|
+
required: ['organization', 'webhook'],
|
|
436
|
+
},
|
|
437
|
+
},
|
|
438
|
+
];
|
|
439
|
+
/* Output schema definitions */
|
|
440
|
+
export const EDUBASE_API_TOOLS_ORGANIZATIONS_OUTPUT_SCHEMA = {
|
|
441
|
+
// GET /organizations - List owned and managed organizations
|
|
442
|
+
edubase_get_organizations: {
|
|
443
|
+
type: 'array',
|
|
444
|
+
items: {
|
|
445
|
+
type: 'object',
|
|
446
|
+
properties: {
|
|
447
|
+
organization: {
|
|
448
|
+
type: 'string',
|
|
449
|
+
description: 'organization identification string',
|
|
450
|
+
},
|
|
451
|
+
id: {
|
|
452
|
+
type: 'string',
|
|
453
|
+
description: 'external unique organization identifier (if set for the organization)',
|
|
454
|
+
},
|
|
455
|
+
name: {
|
|
456
|
+
type: 'string',
|
|
457
|
+
description: 'title of the organization',
|
|
458
|
+
},
|
|
459
|
+
},
|
|
460
|
+
},
|
|
461
|
+
},
|
|
462
|
+
// GET /organization - Get/check organization
|
|
463
|
+
edubase_get_organization: {
|
|
464
|
+
type: 'object',
|
|
465
|
+
properties: {
|
|
466
|
+
organization: {
|
|
467
|
+
type: 'string',
|
|
468
|
+
description: 'organization identification string',
|
|
469
|
+
},
|
|
470
|
+
id: {
|
|
471
|
+
type: 'string',
|
|
472
|
+
description: 'external unique organization identifier (if set for the organization)',
|
|
473
|
+
},
|
|
474
|
+
name: {
|
|
475
|
+
type: 'string',
|
|
476
|
+
description: 'title of the organization',
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
},
|
|
480
|
+
// POST /organization - Create an organization
|
|
481
|
+
edubase_post_organization: {
|
|
482
|
+
type: 'object',
|
|
483
|
+
properties: {
|
|
484
|
+
organization: {
|
|
485
|
+
type: 'string',
|
|
486
|
+
description: 'organization identification string',
|
|
487
|
+
},
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
// PATCH /organization - Update organization
|
|
491
|
+
edubase_patch_organization: {},
|
|
492
|
+
// DELETE /organization - Remove organization
|
|
493
|
+
edubase_delete_organization: {},
|
|
494
|
+
// GET /organization:members - List all members in an organization
|
|
495
|
+
edubase_get_organization_members: {
|
|
496
|
+
type: 'array',
|
|
497
|
+
items: {
|
|
498
|
+
type: 'object',
|
|
499
|
+
properties: {
|
|
500
|
+
user: {
|
|
501
|
+
type: 'string',
|
|
502
|
+
description: 'user identification string',
|
|
503
|
+
},
|
|
504
|
+
name: {
|
|
505
|
+
type: 'string',
|
|
506
|
+
description: 'name of the member',
|
|
507
|
+
},
|
|
508
|
+
department: {
|
|
509
|
+
type: 'string',
|
|
510
|
+
description: 'name of the department (if member)',
|
|
511
|
+
},
|
|
512
|
+
permission: {
|
|
513
|
+
type: 'array',
|
|
514
|
+
items: {
|
|
515
|
+
organization: {
|
|
516
|
+
type: 'string',
|
|
517
|
+
description: 'permission level to organization',
|
|
518
|
+
},
|
|
519
|
+
content: {
|
|
520
|
+
type: 'string',
|
|
521
|
+
description: 'permission level to contents in organization',
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
},
|
|
525
|
+
},
|
|
526
|
+
},
|
|
527
|
+
},
|
|
528
|
+
// POST /organization:members - Assign user(s) to an organization
|
|
529
|
+
edubase_post_organization_members: {},
|
|
530
|
+
// DELETE /organization:members - Remove user(s) from an organization
|
|
531
|
+
edubase_delete_organization_members: {},
|
|
532
|
+
// POST /organizations:members - Assign user(s) to organization(s)
|
|
533
|
+
edubase_post_organizations_members: {},
|
|
534
|
+
// GET /user:organizations - List all organizations a user is member of
|
|
535
|
+
edubase_get_user_organizations: {
|
|
536
|
+
type: 'array',
|
|
537
|
+
items: {
|
|
538
|
+
type: 'object',
|
|
539
|
+
properties: {
|
|
540
|
+
organization: {
|
|
541
|
+
type: 'string',
|
|
542
|
+
description: 'organization identification string',
|
|
543
|
+
},
|
|
544
|
+
id: {
|
|
545
|
+
type: 'string',
|
|
546
|
+
description: 'external unique organization identifier (if set for the organization)',
|
|
547
|
+
},
|
|
548
|
+
name: {
|
|
549
|
+
type: 'string',
|
|
550
|
+
description: 'title of the organization',
|
|
551
|
+
},
|
|
552
|
+
link: {
|
|
553
|
+
type: 'string',
|
|
554
|
+
description: 'link to the organization manager page',
|
|
555
|
+
},
|
|
556
|
+
department: {
|
|
557
|
+
type: 'string',
|
|
558
|
+
description: 'name of the department (if member)',
|
|
559
|
+
},
|
|
560
|
+
permission: {
|
|
561
|
+
type: 'array',
|
|
562
|
+
items: {
|
|
563
|
+
type: 'object',
|
|
564
|
+
properties: {
|
|
565
|
+
organization: {
|
|
566
|
+
type: 'string',
|
|
567
|
+
description: 'permission level to organization',
|
|
568
|
+
},
|
|
569
|
+
content: {
|
|
570
|
+
type: 'string',
|
|
571
|
+
description: 'permission level to contents in organization',
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
},
|
|
575
|
+
},
|
|
576
|
+
},
|
|
577
|
+
},
|
|
578
|
+
},
|
|
579
|
+
// POST /user:organizations - Assign user to organization(s)
|
|
580
|
+
edubase_post_user_organizations: {},
|
|
581
|
+
// DELETE /user:organizations - Remove user from organization(s)
|
|
582
|
+
edubase_delete_user_organizations: {},
|
|
583
|
+
// GET /organization:webhook - Get/check webhook configured in organization
|
|
584
|
+
edubase_get_organization_webhook: {
|
|
585
|
+
type: 'object',
|
|
586
|
+
properties: {
|
|
587
|
+
organization: {
|
|
588
|
+
type: 'string',
|
|
589
|
+
description: 'organization identification string',
|
|
590
|
+
},
|
|
591
|
+
webhook: {
|
|
592
|
+
type: 'string',
|
|
593
|
+
description: 'webhook identification string',
|
|
594
|
+
},
|
|
595
|
+
name: {
|
|
596
|
+
type: 'string',
|
|
597
|
+
description: 'title of the webhook',
|
|
598
|
+
},
|
|
599
|
+
active: {
|
|
600
|
+
type: 'boolean',
|
|
601
|
+
description: 'webhook is active',
|
|
602
|
+
},
|
|
603
|
+
},
|
|
604
|
+
},
|
|
605
|
+
// POST /organization:webhook - Create a webhook for an organization
|
|
606
|
+
edubase_post_organization_webhook: {
|
|
607
|
+
type: 'object',
|
|
608
|
+
properties: {
|
|
609
|
+
organization: {
|
|
610
|
+
type: 'string',
|
|
611
|
+
description: 'organization identification string',
|
|
612
|
+
},
|
|
613
|
+
webhook: {
|
|
614
|
+
type: 'string',
|
|
615
|
+
description: 'webhook identification string',
|
|
616
|
+
},
|
|
617
|
+
},
|
|
618
|
+
},
|
|
619
|
+
// PATCH /organization:webhook - Update organizational webhook
|
|
620
|
+
edubase_patch_organization_webhook: {},
|
|
621
|
+
// DELETE /organization:webhook - Remove webhook from organization
|
|
622
|
+
edubase_delete_organization_webhook: {},
|
|
623
|
+
// POST /organization:webhook:trigger - Trigger an organizational webhook call with optional custom payload
|
|
624
|
+
edubase_post_organization_webhook_trigger: {},
|
|
625
|
+
};
|