@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.
@@ -0,0 +1,2216 @@
1
+ /* Tool definitions */
2
+ export const EDUBASE_API_TOOLS_PERMISSIONS = [
3
+ // GET /class:permission - Check if a user has permission on a class
4
+ {
5
+ name: 'edubase_get_class_permission',
6
+ description: "Check if a user has permission on a class.",
7
+ inputSchema: {
8
+ type: 'object',
9
+ properties: {
10
+ class: {
11
+ type: 'string',
12
+ description: 'class identification string',
13
+ },
14
+ user: {
15
+ type: 'string',
16
+ description: 'user identification string',
17
+ },
18
+ permission: {
19
+ type: 'string',
20
+ description: 'permission level (view / report / control / modify / grant / admin)',
21
+ },
22
+ },
23
+ required: ['class', 'user', 'permission'],
24
+ },
25
+ },
26
+ // POST /class:permission - Create new permission for a user
27
+ {
28
+ name: 'edubase_post_class_permission',
29
+ description: "Create new permission for a user on a class.",
30
+ inputSchema: {
31
+ type: 'object',
32
+ properties: {
33
+ class: {
34
+ type: 'string',
35
+ description: 'class identification string',
36
+ },
37
+ user: {
38
+ type: 'string',
39
+ description: 'user identification string',
40
+ },
41
+ permission: {
42
+ type: 'string',
43
+ description: 'permission level (view / report / control / modify / grant / admin)',
44
+ },
45
+ },
46
+ required: ['class', 'user', 'permission'],
47
+ },
48
+ },
49
+ // DELETE /class:permission - Remove a user permission
50
+ {
51
+ name: 'edubase_delete_class_permission',
52
+ description: "Remove a user permission from a class.",
53
+ inputSchema: {
54
+ type: 'object',
55
+ properties: {
56
+ class: {
57
+ type: 'string',
58
+ description: 'class identification string',
59
+ },
60
+ user: {
61
+ type: 'string',
62
+ description: 'user identification string',
63
+ },
64
+ permission: {
65
+ type: 'string',
66
+ description: 'permission level (view / report / control / modify / grant / admin)',
67
+ },
68
+ },
69
+ required: ['class', 'user', 'permission'],
70
+ },
71
+ },
72
+ // POST /class:transfer - Transfer class to user
73
+ {
74
+ name: 'edubase_post_class_transfer',
75
+ description: "Transfer class to user.",
76
+ inputSchema: {
77
+ type: 'object',
78
+ properties: {
79
+ class: {
80
+ type: 'string',
81
+ description: 'class identification string',
82
+ },
83
+ user: {
84
+ type: 'string',
85
+ description: 'user identification string',
86
+ },
87
+ },
88
+ required: ['class', 'user'],
89
+ },
90
+ },
91
+ // GET /course:permission - Check if a user has permission on a course
92
+ {
93
+ name: 'edubase_get_course_permission',
94
+ description: "Check if a user has permission on a course.",
95
+ inputSchema: {
96
+ type: 'object',
97
+ properties: {
98
+ course: {
99
+ type: 'string',
100
+ description: 'course identification string',
101
+ },
102
+ user: {
103
+ type: 'string',
104
+ description: 'user identification string',
105
+ },
106
+ permission: {
107
+ type: 'string',
108
+ description: 'permission level (view / report / control / modify / grant / admin)',
109
+ },
110
+ },
111
+ required: ['course', 'user', 'permission'],
112
+ },
113
+ },
114
+ // POST /course:permission - Create new permission for a user
115
+ {
116
+ name: 'edubase_post_course_permission',
117
+ description: "Create new permission for a user on a course.",
118
+ inputSchema: {
119
+ type: 'object',
120
+ properties: {
121
+ course: {
122
+ type: 'string',
123
+ description: 'course identification string',
124
+ },
125
+ user: {
126
+ type: 'string',
127
+ description: 'user identification string',
128
+ },
129
+ permission: {
130
+ type: 'string',
131
+ description: 'permission level (view / report / control / modify / grant / admin)',
132
+ },
133
+ },
134
+ required: ['course', 'user', 'permission'],
135
+ },
136
+ },
137
+ // DELETE /course:permission - Remove a user permission
138
+ {
139
+ name: 'edubase_delete_course_permission',
140
+ description: "Remove a user permission from a course.",
141
+ inputSchema: {
142
+ type: 'object',
143
+ properties: {
144
+ course: {
145
+ type: 'string',
146
+ description: 'course identification string',
147
+ },
148
+ user: {
149
+ type: 'string',
150
+ description: 'user identification string',
151
+ },
152
+ permission: {
153
+ type: 'string',
154
+ description: 'permission level (view / report / control / modify / grant / admin)',
155
+ },
156
+ },
157
+ required: ['course', 'user', 'permission'],
158
+ },
159
+ },
160
+ // POST /course:transfer - Transfer course to user
161
+ {
162
+ name: 'edubase_delete_course_transfer',
163
+ description: "Transfer course to user.",
164
+ inputSchema: {
165
+ type: 'object',
166
+ properties: {
167
+ course: {
168
+ type: 'string',
169
+ description: 'course identification string',
170
+ },
171
+ user: {
172
+ type: 'string',
173
+ description: 'user identification string',
174
+ },
175
+ },
176
+ required: ['course', 'user'],
177
+ },
178
+ },
179
+ // GET /event:permission - Check if a user has permission on an event
180
+ {
181
+ name: 'edubase_get_event_permission',
182
+ description: "Check if a user has permission on an event.",
183
+ inputSchema: {
184
+ type: 'object',
185
+ properties: {
186
+ event: {
187
+ type: 'string',
188
+ description: 'event identification string',
189
+ },
190
+ user: {
191
+ type: 'string',
192
+ description: 'user identification string',
193
+ },
194
+ permission: {
195
+ type: 'string',
196
+ description: 'permission level (view / report / control / modify / finances / grant / admin)',
197
+ },
198
+ },
199
+ required: ['event', 'user', 'permission'],
200
+ },
201
+ },
202
+ // POST /event:permission - Create new permission for a user
203
+ {
204
+ name: 'edubase_post_event_permission',
205
+ description: "Create new permission for a user on an event.",
206
+ inputSchema: {
207
+ type: 'object',
208
+ properties: {
209
+ event: {
210
+ type: 'string',
211
+ description: 'event identification string',
212
+ },
213
+ user: {
214
+ type: 'string',
215
+ description: 'user identification string',
216
+ },
217
+ permission: {
218
+ type: 'string',
219
+ description: 'permission level (view / report / control / modify / finances / grant / admin)',
220
+ },
221
+ },
222
+ required: ['event', 'user', 'permission'],
223
+ },
224
+ },
225
+ // DELETE /event:permission - Remove a user permission
226
+ {
227
+ name: 'edubase_delete_event_permission',
228
+ description: "Remove a user permission from an event.",
229
+ inputSchema: {
230
+ type: 'object',
231
+ properties: {
232
+ event: {
233
+ type: 'string',
234
+ description: 'event identification string',
235
+ },
236
+ user: {
237
+ type: 'string',
238
+ description: 'user identification string',
239
+ },
240
+ permission: {
241
+ type: 'string',
242
+ description: 'permission level (view / report / control / modify / finances / grant / admin)',
243
+ },
244
+ },
245
+ required: ['event', 'user', 'permission'],
246
+ },
247
+ },
248
+ // POST /event:transfer - Transfer event to user
249
+ {
250
+ name: 'edubase_post_event_transfer',
251
+ description: "Transfer event to user.",
252
+ inputSchema: {
253
+ type: 'object',
254
+ properties: {
255
+ event: {
256
+ type: 'string',
257
+ description: 'event identification string',
258
+ },
259
+ user: {
260
+ type: 'string',
261
+ description: 'user identification string',
262
+ },
263
+ },
264
+ required: ['event', 'user'],
265
+ },
266
+ },
267
+ // GET /exam:permission - Check if a user has permission on an exam
268
+ {
269
+ name: 'edubase_get_exam_permission',
270
+ description: "Check if a user has permission on an exam.",
271
+ inputSchema: {
272
+ type: 'object',
273
+ properties: {
274
+ exam: {
275
+ type: 'string',
276
+ description: 'exam identification string',
277
+ },
278
+ user: {
279
+ type: 'string',
280
+ description: 'user identification string',
281
+ },
282
+ permission: {
283
+ type: 'string',
284
+ description: 'permission level (view / report / control / modify / grant / admin)',
285
+ },
286
+ },
287
+ required: ['exam', 'user', 'permission'],
288
+ },
289
+ },
290
+ // POST /exam:permission - Create new permission for a user
291
+ {
292
+ name: 'edubase_post_exam_permission',
293
+ description: "Create new permission for a user on an exam.",
294
+ inputSchema: {
295
+ type: 'object',
296
+ properties: {
297
+ exam: {
298
+ type: 'string',
299
+ description: 'exam identification string',
300
+ },
301
+ user: {
302
+ type: 'string',
303
+ description: 'user identification string',
304
+ },
305
+ permission: {
306
+ type: 'string',
307
+ description: 'permission level (view / report / control / modify / grant / admin)',
308
+ },
309
+ },
310
+ required: ['exam', 'user', 'permission'],
311
+ },
312
+ },
313
+ // DELETE /exam:permission - Remove a user permission
314
+ {
315
+ name: 'edubase_delete_exam_permission',
316
+ description: "Remove a user permission from an exam.",
317
+ inputSchema: {
318
+ type: 'object',
319
+ properties: {
320
+ exam: {
321
+ type: 'string',
322
+ description: 'exam identification string',
323
+ },
324
+ user: {
325
+ type: 'string',
326
+ description: 'user identification string',
327
+ },
328
+ permission: {
329
+ type: 'string',
330
+ description: 'permission level (view / report / control / modify / grant / admin)',
331
+ },
332
+ },
333
+ required: ['exam', 'user', 'permission'],
334
+ },
335
+ },
336
+ // POST /exam:transfer - Transfer exam to user
337
+ {
338
+ name: 'edubase_post_exam_transfer',
339
+ description: "Transfer exam to user.",
340
+ inputSchema: {
341
+ type: 'object',
342
+ properties: {
343
+ exam: {
344
+ type: 'string',
345
+ description: 'exam identification string',
346
+ },
347
+ user: {
348
+ type: 'string',
349
+ description: 'user identification string',
350
+ },
351
+ },
352
+ required: ['exam', 'user'],
353
+ },
354
+ },
355
+ // GET /integration:permission - Check if a user has permission on an integration
356
+ {
357
+ name: 'edubase_get_integration_permission',
358
+ description: "Check if a user has permission on an integration.",
359
+ inputSchema: {
360
+ type: 'object',
361
+ properties: {
362
+ integration: {
363
+ type: 'string',
364
+ description: 'integration identification string',
365
+ },
366
+ user: {
367
+ type: 'string',
368
+ description: 'user identification string',
369
+ },
370
+ permission: {
371
+ type: 'string',
372
+ description: 'permission level (view / report / control / modify / grant / admin)',
373
+ },
374
+ },
375
+ required: ['integration', 'user', 'permission'],
376
+ },
377
+ },
378
+ // POST /integration:permission - Create new permission for a user
379
+ {
380
+ name: 'edubase_post_integration_permission',
381
+ description: "Create new permission for a user on an integration.",
382
+ inputSchema: {
383
+ type: 'object',
384
+ properties: {
385
+ integration: {
386
+ type: 'string',
387
+ description: 'integration identification string',
388
+ },
389
+ user: {
390
+ type: 'string',
391
+ description: 'user identification string',
392
+ },
393
+ permission: {
394
+ type: 'string',
395
+ description: 'permission level (view / report / control / modify / grant / admin)',
396
+ },
397
+ },
398
+ required: ['integration', 'user', 'permission'],
399
+ },
400
+ },
401
+ // DELETE /integration:permission - Remove a user permission
402
+ {
403
+ name: 'edubase_delete_integration_permission',
404
+ description: "Remove a user permission from an integration.",
405
+ inputSchema: {
406
+ type: 'object',
407
+ properties: {
408
+ integration: {
409
+ type: 'string',
410
+ description: 'integration identification string',
411
+ },
412
+ user: {
413
+ type: 'string',
414
+ description: 'user identification string',
415
+ },
416
+ permission: {
417
+ type: 'string',
418
+ description: 'permission level (view / report / control / modify / grant / admin)',
419
+ },
420
+ },
421
+ required: ['integration', 'user', 'permission'],
422
+ },
423
+ },
424
+ // POST /integration:transfer - Transfer integration to user
425
+ {
426
+ name: 'edubase_post_integration_transfer',
427
+ description: "Transfer integration to user.",
428
+ inputSchema: {
429
+ type: 'object',
430
+ properties: {
431
+ integration: {
432
+ type: 'string',
433
+ description: 'integration identification string',
434
+ },
435
+ user: {
436
+ type: 'string',
437
+ description: 'user identification string',
438
+ },
439
+ },
440
+ required: ['integration', 'user'],
441
+ },
442
+ },
443
+ // GET /organization:permission - Check if a user has permission on an organization
444
+ {
445
+ name: 'edubase_get_organization_permission',
446
+ description: "Check if a user has permission on an organization.",
447
+ inputSchema: {
448
+ type: 'object',
449
+ properties: {
450
+ organization: {
451
+ type: 'string',
452
+ description: 'organization identification string',
453
+ },
454
+ user: {
455
+ type: 'string',
456
+ description: 'user identification string',
457
+ },
458
+ permission: {
459
+ type: 'string',
460
+ description: 'permission level (view / report / control / modify / grant / admin)',
461
+ },
462
+ },
463
+ required: ['organization', 'user', 'permission'],
464
+ },
465
+ },
466
+ // POST /organization:permission - Create new permission for a user
467
+ {
468
+ name: 'edubase_post_organization_permission',
469
+ description: "Create new permission for a user on an organization.",
470
+ inputSchema: {
471
+ type: 'object',
472
+ properties: {
473
+ organization: {
474
+ type: 'string',
475
+ description: 'organization identification string',
476
+ },
477
+ user: {
478
+ type: 'string',
479
+ description: 'user identification string',
480
+ },
481
+ permission: {
482
+ type: 'string',
483
+ description: 'permission level (view / report / control / modify / grant / admin)',
484
+ },
485
+ },
486
+ required: ['organization', 'user', 'permission'],
487
+ },
488
+ },
489
+ // DELETE /organization:permission - Remove a user permission
490
+ {
491
+ name: 'edubase_delete_organization_permission',
492
+ description: "Remove a user permission from an organization.",
493
+ inputSchema: {
494
+ type: 'object',
495
+ properties: {
496
+ organization: {
497
+ type: 'string',
498
+ description: 'organization identification string',
499
+ },
500
+ user: {
501
+ type: 'string',
502
+ description: 'user identification string',
503
+ },
504
+ permission: {
505
+ type: 'string',
506
+ description: 'permission level (view / report / control / modify / grant / admin)',
507
+ },
508
+ },
509
+ required: ['organization', 'user', 'permission'],
510
+ },
511
+ },
512
+ // POST /organization:transfer - Transfer organization to user
513
+ {
514
+ name: 'edubase_post_organization_transfer',
515
+ description: "Transfer organization to user.",
516
+ inputSchema: {
517
+ type: 'object',
518
+ properties: {
519
+ organization: {
520
+ type: 'string',
521
+ description: 'organization identification string',
522
+ },
523
+ user: {
524
+ type: 'string',
525
+ description: 'user identification string',
526
+ },
527
+ },
528
+ required: ['organization', 'user'],
529
+ },
530
+ },
531
+ // GET /quiz:permission - Check if a user has permission on a quiz
532
+ {
533
+ name: 'edubase_get_quiz_permission',
534
+ description: "Check if a user has permission on a quiz.",
535
+ inputSchema: {
536
+ type: 'object',
537
+ properties: {
538
+ quiz: {
539
+ type: 'string',
540
+ description: 'Quiz identification string',
541
+ },
542
+ user: {
543
+ type: 'string',
544
+ description: 'user identification string',
545
+ },
546
+ permission: {
547
+ type: 'string',
548
+ description: 'permission level (view / report / control / modify / grant / admin)',
549
+ },
550
+ },
551
+ required: ['quiz', 'user', 'permission'],
552
+ },
553
+ },
554
+ // POST /quiz:permission - Create new permission for a user
555
+ {
556
+ name: 'edubase_post_quiz_permission',
557
+ description: "Create new permission for a user on a quiz.",
558
+ inputSchema: {
559
+ type: 'object',
560
+ properties: {
561
+ quiz: {
562
+ type: 'string',
563
+ description: 'Quiz identification string',
564
+ },
565
+ user: {
566
+ type: 'string',
567
+ description: 'user identification string',
568
+ },
569
+ permission: {
570
+ type: 'string',
571
+ description: 'permission level (view / report / control / modify / grant / admin)',
572
+ },
573
+ },
574
+ required: ['quiz', 'user', 'permission'],
575
+ },
576
+ },
577
+ // DELETE /quiz:permission - Remove a user permission
578
+ {
579
+ name: 'edubase_delete_quiz_permission',
580
+ description: "Remove a user permission from a quiz.",
581
+ inputSchema: {
582
+ type: 'object',
583
+ properties: {
584
+ quiz: {
585
+ type: 'string',
586
+ description: 'Quiz identification string',
587
+ },
588
+ user: {
589
+ type: 'string',
590
+ description: 'user identification string',
591
+ },
592
+ permission: {
593
+ type: 'string',
594
+ description: 'permission level (view / report / control / modify / grant / admin)',
595
+ },
596
+ },
597
+ required: ['quiz', 'user', 'permission'],
598
+ },
599
+ },
600
+ // POST /quiz:transfer - Transfer Quiz to user
601
+ {
602
+ name: 'edubase_post_quiz_transfer',
603
+ description: "Transfer Quiz to user.",
604
+ inputSchema: {
605
+ type: 'object',
606
+ properties: {
607
+ quiz: {
608
+ type: 'string',
609
+ description: 'Quiz identification string',
610
+ },
611
+ user: {
612
+ type: 'string',
613
+ description: 'user identification string',
614
+ },
615
+ },
616
+ required: ['quiz', 'user'],
617
+ },
618
+ },
619
+ // GET /scorm:permission - Check if a user has permission on a SCORM
620
+ {
621
+ name: 'edubase_get_scorm_permission',
622
+ description: "Check if a user has permission on a SCORM learning material.",
623
+ inputSchema: {
624
+ type: 'object',
625
+ properties: {
626
+ scorm: {
627
+ type: 'string',
628
+ description: 'SCORM identification string',
629
+ },
630
+ user: {
631
+ type: 'string',
632
+ description: 'user identification string',
633
+ },
634
+ permission: {
635
+ type: 'string',
636
+ description: 'permission level (view / report / control / modify / grant / admin)',
637
+ },
638
+ },
639
+ required: ['scorm', 'user', 'permission'],
640
+ },
641
+ },
642
+ // POST /scorm:permission - Create new permission for a user
643
+ {
644
+ name: 'edubase_post_scorm_permission',
645
+ description: "Create new permission for a user on a SCORM learning material.",
646
+ inputSchema: {
647
+ type: 'object',
648
+ properties: {
649
+ scorm: {
650
+ type: 'string',
651
+ description: 'SCORM identification string',
652
+ },
653
+ user: {
654
+ type: 'string',
655
+ description: 'user identification string',
656
+ },
657
+ permission: {
658
+ type: 'string',
659
+ description: 'permission level (view / report / control / modify / grant / admin)',
660
+ },
661
+ },
662
+ required: ['scorm', 'user', 'permission'],
663
+ },
664
+ },
665
+ // DELETE /scorm:permission - Remove a user permission
666
+ {
667
+ name: 'edubase_delete_scorm_permission',
668
+ description: "Remove a user permission from a SCORM learning material.",
669
+ inputSchema: {
670
+ type: 'object',
671
+ properties: {
672
+ scorm: {
673
+ type: 'string',
674
+ description: 'SCORM identification string',
675
+ },
676
+ user: {
677
+ type: 'string',
678
+ description: 'user identification string',
679
+ },
680
+ permission: {
681
+ type: 'string',
682
+ description: 'permission level (view / report / control / modify / grant / admin)',
683
+ },
684
+ },
685
+ required: ['scorm', 'user', 'permission'],
686
+ },
687
+ },
688
+ // POST /scorm:transfer - Transfer SCORM to user
689
+ {
690
+ name: 'edubase_post_scorm_transfer',
691
+ description: "Transfer SCORM to user.",
692
+ inputSchema: {
693
+ type: 'object',
694
+ properties: {
695
+ scorm: {
696
+ type: 'string',
697
+ description: 'SCORM identification string',
698
+ },
699
+ user: {
700
+ type: 'string',
701
+ description: 'user identification string',
702
+ },
703
+ },
704
+ required: ['scorm', 'user'],
705
+ },
706
+ },
707
+ // GET /tag:permission - Check if a user has permission on a tag
708
+ {
709
+ name: 'edubase_get_tag_permission',
710
+ description: "Check if a user has permission on a tag.",
711
+ inputSchema: {
712
+ type: 'object',
713
+ properties: {
714
+ tag: {
715
+ type: 'string',
716
+ description: 'tag identification string',
717
+ },
718
+ user: {
719
+ type: 'string',
720
+ description: 'user identification string',
721
+ },
722
+ permission: {
723
+ type: 'string',
724
+ description: 'permission level (view / report / control / modify / grant / admin)',
725
+ },
726
+ },
727
+ required: ['tag', 'user', 'permission'],
728
+ },
729
+ },
730
+ // POST /tag:permission - Create new permission for a user
731
+ {
732
+ name: 'edubase_post_tag_permission',
733
+ description: "Create new permission for a user on a tag.",
734
+ inputSchema: {
735
+ type: 'object',
736
+ properties: {
737
+ tag: {
738
+ type: 'string',
739
+ description: 'tag identification string',
740
+ },
741
+ user: {
742
+ type: 'string',
743
+ description: 'user identification string',
744
+ },
745
+ permission: {
746
+ type: 'string',
747
+ description: 'permission level (view / report / control / modify / grant / admin)',
748
+ },
749
+ },
750
+ required: ['tag', 'user', 'permission'],
751
+ },
752
+ },
753
+ // DELETE /tag:permission - Remove a user permission
754
+ {
755
+ name: 'edubase_delete_tag_permission',
756
+ description: "Remove a user permission from a tag.",
757
+ inputSchema: {
758
+ type: 'object',
759
+ properties: {
760
+ tag: {
761
+ type: 'string',
762
+ description: 'tag identification string',
763
+ },
764
+ user: {
765
+ type: 'string',
766
+ description: 'user identification string',
767
+ },
768
+ permission: {
769
+ type: 'string',
770
+ description: 'permission level (view / report / control / modify / grant / admin)',
771
+ },
772
+ },
773
+ required: ['tag', 'user', 'permission'],
774
+ },
775
+ },
776
+ // POST /tag:transfer - Transfer tag to user
777
+ {
778
+ name: 'edubase_post_tag_transfer',
779
+ description: "Transfer tag to user.",
780
+ inputSchema: {
781
+ type: 'object',
782
+ properties: {
783
+ tag: {
784
+ type: 'string',
785
+ description: 'tag identification string',
786
+ },
787
+ user: {
788
+ type: 'string',
789
+ description: 'user identification string',
790
+ },
791
+ },
792
+ required: ['tag', 'user'],
793
+ },
794
+ },
795
+ // GET /video:permission - Check if a user has permission on a video
796
+ {
797
+ name: 'edubase_get_video_permission',
798
+ description: "Check if a user has permission on a video.",
799
+ inputSchema: {
800
+ type: 'object',
801
+ properties: {
802
+ video: {
803
+ type: 'string',
804
+ description: 'video identification string',
805
+ },
806
+ user: {
807
+ type: 'string',
808
+ description: 'user identification string',
809
+ },
810
+ permission: {
811
+ type: 'string',
812
+ description: 'permission level (view / report / control / modify / grant / admin)',
813
+ },
814
+ },
815
+ required: ['video', 'user', 'permission'],
816
+ },
817
+ },
818
+ // POST /video:permission - Create new permission for a user
819
+ {
820
+ name: 'edubase_post_video_permission',
821
+ description: "Create new permission for a user on a video.",
822
+ inputSchema: {
823
+ type: 'object',
824
+ properties: {
825
+ video: {
826
+ type: 'string',
827
+ description: 'video identification string',
828
+ },
829
+ user: {
830
+ type: 'string',
831
+ description: 'user identification string',
832
+ },
833
+ permission: {
834
+ type: 'string',
835
+ description: 'permission level (view / report / control / modify / grant / admin)',
836
+ },
837
+ },
838
+ required: ['video', 'user', 'permission'],
839
+ },
840
+ },
841
+ // DELETE /video:permission - Remove a user permission
842
+ {
843
+ name: 'edubase_delete_video_permission',
844
+ description: "Remove a user permission from a video.",
845
+ inputSchema: {
846
+ type: 'object',
847
+ properties: {
848
+ video: {
849
+ type: 'string',
850
+ description: 'video identification string',
851
+ },
852
+ user: {
853
+ type: 'string',
854
+ description: 'user identification string',
855
+ },
856
+ permission: {
857
+ type: 'string',
858
+ description: 'permission level (view / report / control / modify / grant / admin)',
859
+ },
860
+ },
861
+ required: ['video', 'user', 'permission'],
862
+ },
863
+ },
864
+ // POST /video:transfer - Transfer video to user
865
+ {
866
+ name: 'edubase_post_video_transfer',
867
+ description: "Transfer video to user.",
868
+ inputSchema: {
869
+ type: 'object',
870
+ properties: {
871
+ video: {
872
+ type: 'string',
873
+ description: 'video identification string',
874
+ },
875
+ user: {
876
+ type: 'string',
877
+ description: 'user identification string',
878
+ },
879
+ },
880
+ required: ['video', 'user'],
881
+ },
882
+ },
883
+ ];
884
+ /* Output schema definitions */
885
+ export const EDUBASE_API_TOOLS_PERMISSIONS_OUTPUT_SCHEMA = {
886
+ // GET /class:permission - Check if a user has permission on a class
887
+ edubase_get_class_permission: {
888
+ type: 'object',
889
+ properties: {
890
+ user: {
891
+ type: 'string',
892
+ description: 'the user identification string',
893
+ },
894
+ content: {
895
+ type: 'object',
896
+ properties: {
897
+ type: {
898
+ type: 'string',
899
+ description: 'will be "class"',
900
+ },
901
+ code: {
902
+ type: 'string',
903
+ description: 'the class identification string',
904
+ },
905
+ id: {
906
+ type: 'string',
907
+ description: 'external unique class identifier (if set for the class)',
908
+ },
909
+ },
910
+ },
911
+ status: {
912
+ type: 'object',
913
+ properties: {
914
+ permission: {
915
+ type: 'boolean',
916
+ description: 'the user has permission on this class',
917
+ },
918
+ rule: {
919
+ type: 'boolean',
920
+ description: 'there is a permission rule with these parameters',
921
+ },
922
+ },
923
+ },
924
+ },
925
+ },
926
+ // POST /class:permission - Create new permission for a user
927
+ edubase_post_class_permission: {
928
+ type: 'object',
929
+ properties: {
930
+ user: {
931
+ type: 'string',
932
+ description: 'the user identification string',
933
+ },
934
+ content: {
935
+ type: 'object',
936
+ properties: {
937
+ type: {
938
+ type: 'string',
939
+ description: 'will be "class"',
940
+ },
941
+ code: {
942
+ type: 'string',
943
+ description: 'the class identification string',
944
+ },
945
+ id: {
946
+ type: 'string',
947
+ description: 'external unique class identifier (if set for the class)',
948
+ },
949
+ },
950
+ },
951
+ success: {
952
+ type: 'boolean',
953
+ description: 'operation was successful',
954
+ },
955
+ },
956
+ },
957
+ // DELETE /class:permission - Remove a user permission
958
+ edubase_delete_class_permission: {
959
+ type: 'object',
960
+ properties: {
961
+ user: {
962
+ type: 'string',
963
+ description: 'the user identification string',
964
+ },
965
+ content: {
966
+ type: 'object',
967
+ properties: {
968
+ type: {
969
+ type: 'string',
970
+ description: 'will be "class"',
971
+ },
972
+ code: {
973
+ type: 'string',
974
+ description: 'the class identification string',
975
+ },
976
+ id: {
977
+ type: 'string',
978
+ description: 'external unique class identifier (if set for the class)',
979
+ },
980
+ },
981
+ },
982
+ success: {
983
+ type: 'boolean',
984
+ description: 'operation was successful',
985
+ },
986
+ },
987
+ },
988
+ // POST /class:transfer - Transfer class to user
989
+ edubase_post_class_transfer: {
990
+ type: 'object',
991
+ properties: {
992
+ user: {
993
+ type: 'string',
994
+ description: 'the user identification string',
995
+ },
996
+ content: {
997
+ type: 'object',
998
+ properties: {
999
+ type: {
1000
+ type: 'string',
1001
+ description: 'will be "class"',
1002
+ },
1003
+ code: {
1004
+ type: 'string',
1005
+ description: 'the class identification string',
1006
+ },
1007
+ id: {
1008
+ type: 'string',
1009
+ description: 'external unique class identifier (if set for the class)',
1010
+ },
1011
+ },
1012
+ },
1013
+ success: {
1014
+ type: 'boolean',
1015
+ description: 'operation was successful',
1016
+ },
1017
+ },
1018
+ },
1019
+ // GET /course:permission - Check if a user has permission on a course
1020
+ edubase_get_course_permission: {
1021
+ type: 'object',
1022
+ properties: {
1023
+ user: {
1024
+ type: 'string',
1025
+ description: 'the user identification string',
1026
+ },
1027
+ content: {
1028
+ type: 'object',
1029
+ properties: {
1030
+ type: {
1031
+ type: 'string',
1032
+ description: 'will be "course"',
1033
+ },
1034
+ code: {
1035
+ type: 'string',
1036
+ description: 'the course identification string',
1037
+ },
1038
+ id: {
1039
+ type: 'string',
1040
+ description: 'external unique course identifier (if set for the course)',
1041
+ },
1042
+ },
1043
+ },
1044
+ status: {
1045
+ type: 'object',
1046
+ properties: {
1047
+ permission: {
1048
+ type: 'boolean',
1049
+ description: 'the user has permission on this course',
1050
+ },
1051
+ rule: {
1052
+ type: 'boolean',
1053
+ description: 'there is a permission rule with these parameters',
1054
+ },
1055
+ },
1056
+ },
1057
+ },
1058
+ },
1059
+ // POST /course:permission - Create new permission for a user
1060
+ edubase_post_course_permission: {
1061
+ type: 'object',
1062
+ properties: {
1063
+ user: {
1064
+ type: 'string',
1065
+ description: 'the user identification string',
1066
+ },
1067
+ content: {
1068
+ type: 'object',
1069
+ properties: {
1070
+ type: {
1071
+ type: 'string',
1072
+ description: 'will be "course"',
1073
+ },
1074
+ code: {
1075
+ type: 'string',
1076
+ description: 'the course identification string',
1077
+ },
1078
+ id: {
1079
+ type: 'string',
1080
+ description: 'external unique course identifier (if set for the course)',
1081
+ },
1082
+ },
1083
+ },
1084
+ success: {
1085
+ type: 'boolean',
1086
+ description: 'operation was successful',
1087
+ },
1088
+ },
1089
+ },
1090
+ // DELETE /course:permission - Remove a user permission
1091
+ edubase_delete_course_permission: {
1092
+ type: 'object',
1093
+ properties: {
1094
+ user: {
1095
+ type: 'string',
1096
+ description: 'the user identification string',
1097
+ },
1098
+ content: {
1099
+ type: 'object',
1100
+ properties: {
1101
+ type: {
1102
+ type: 'string',
1103
+ description: 'will be "course"',
1104
+ },
1105
+ code: {
1106
+ type: 'string',
1107
+ description: 'the course identification string',
1108
+ },
1109
+ id: {
1110
+ type: 'string',
1111
+ description: 'external unique course identifier (if set for the course)',
1112
+ },
1113
+ },
1114
+ },
1115
+ success: {
1116
+ type: 'boolean',
1117
+ description: 'operation was successful',
1118
+ },
1119
+ },
1120
+ },
1121
+ // POST /course:transfer - Transfer course to user
1122
+ edubase_post_course_transfer: {
1123
+ type: 'object',
1124
+ properties: {
1125
+ user: {
1126
+ type: 'string',
1127
+ description: 'the user identification string',
1128
+ },
1129
+ content: {
1130
+ type: 'object',
1131
+ properties: {
1132
+ type: {
1133
+ type: 'string',
1134
+ description: 'will be "course"',
1135
+ },
1136
+ code: {
1137
+ type: 'string',
1138
+ description: 'the course identification string',
1139
+ },
1140
+ id: {
1141
+ type: 'string',
1142
+ description: 'external unique course identifier (if set for the course)',
1143
+ },
1144
+ },
1145
+ },
1146
+ success: {
1147
+ type: 'boolean',
1148
+ description: 'operation was successful',
1149
+ },
1150
+ },
1151
+ },
1152
+ // GET /event:permission - Check if a user has permission on an event
1153
+ edubase_get_event_permission: {
1154
+ type: 'object',
1155
+ properties: {
1156
+ user: {
1157
+ type: 'string',
1158
+ description: 'the user identification string',
1159
+ },
1160
+ content: {
1161
+ type: 'object',
1162
+ properties: {
1163
+ type: {
1164
+ type: 'string',
1165
+ description: 'will be "event"',
1166
+ },
1167
+ code: {
1168
+ type: 'string',
1169
+ description: 'the event identification string',
1170
+ },
1171
+ id: {
1172
+ type: 'string',
1173
+ description: 'external unique event identifier (if set for the event)',
1174
+ },
1175
+ },
1176
+ },
1177
+ status: {
1178
+ type: 'object',
1179
+ properties: {
1180
+ permission: {
1181
+ type: 'boolean',
1182
+ description: 'the user has permission on this event',
1183
+ },
1184
+ rule: {
1185
+ type: 'boolean',
1186
+ description: 'there is a permission rule with these parameters',
1187
+ },
1188
+ },
1189
+ },
1190
+ },
1191
+ },
1192
+ // POST /event:permission - Create new permission for a user
1193
+ edubase_post_event_permission: {
1194
+ type: 'object',
1195
+ properties: {
1196
+ user: {
1197
+ type: 'string',
1198
+ description: 'the user identification string',
1199
+ },
1200
+ content: {
1201
+ type: 'object',
1202
+ properties: {
1203
+ type: {
1204
+ type: 'string',
1205
+ description: 'will be "event"',
1206
+ },
1207
+ code: {
1208
+ type: 'string',
1209
+ description: 'the event identification string',
1210
+ },
1211
+ id: {
1212
+ type: 'string',
1213
+ description: 'external unique event identifier (if set for the event)',
1214
+ },
1215
+ },
1216
+ },
1217
+ success: {
1218
+ type: 'boolean',
1219
+ description: 'operation was successful',
1220
+ },
1221
+ },
1222
+ },
1223
+ // DELETE /event:permission - Remove a user permission
1224
+ edubase_delete_event_permission: {
1225
+ type: 'object',
1226
+ properties: {
1227
+ user: {
1228
+ type: 'string',
1229
+ description: 'the user identification string',
1230
+ },
1231
+ content: {
1232
+ type: 'object',
1233
+ properties: {
1234
+ type: {
1235
+ type: 'string',
1236
+ description: 'will be "event"',
1237
+ },
1238
+ code: {
1239
+ type: 'string',
1240
+ description: 'the event identification string',
1241
+ },
1242
+ id: {
1243
+ type: 'string',
1244
+ description: 'external unique event identifier (if set for the event)',
1245
+ },
1246
+ },
1247
+ },
1248
+ success: {
1249
+ type: 'boolean',
1250
+ description: 'operation was successful',
1251
+ },
1252
+ },
1253
+ },
1254
+ // POST /event:transfer - Transfer event to user
1255
+ edubase_post_event_transfer: {
1256
+ type: 'object',
1257
+ properties: {
1258
+ user: {
1259
+ type: 'string',
1260
+ description: 'the user identification string',
1261
+ },
1262
+ content: {
1263
+ type: 'object',
1264
+ properties: {
1265
+ type: {
1266
+ type: 'string',
1267
+ description: 'will be "event"',
1268
+ },
1269
+ code: {
1270
+ type: 'string',
1271
+ description: 'the event identification string',
1272
+ },
1273
+ id: {
1274
+ type: 'string',
1275
+ description: 'external unique event identifier (if set for the event)',
1276
+ },
1277
+ },
1278
+ },
1279
+ success: {
1280
+ type: 'boolean',
1281
+ description: 'operation was successful',
1282
+ },
1283
+ },
1284
+ },
1285
+ // GET /exam:permission - Check if a user has permission on an exam
1286
+ edubase_get_exam_permission: {
1287
+ type: 'object',
1288
+ properties: {
1289
+ user: {
1290
+ type: 'string',
1291
+ description: 'the user identification string',
1292
+ },
1293
+ content: {
1294
+ type: 'object',
1295
+ properties: {
1296
+ type: {
1297
+ type: 'string',
1298
+ description: 'will be "exam"',
1299
+ },
1300
+ code: {
1301
+ type: 'string',
1302
+ description: 'the exam identification string',
1303
+ },
1304
+ id: {
1305
+ type: 'string',
1306
+ description: 'external unique exam identifier (if set for the exam)',
1307
+ },
1308
+ },
1309
+ },
1310
+ status: {
1311
+ type: 'object',
1312
+ properties: {
1313
+ permission: {
1314
+ type: 'boolean',
1315
+ description: 'the user has permission on this exam',
1316
+ },
1317
+ rule: {
1318
+ type: 'boolean',
1319
+ description: 'there is a permission rule with these parameters',
1320
+ },
1321
+ },
1322
+ },
1323
+ },
1324
+ },
1325
+ // POST /exam:permission - Create new permission for a user
1326
+ edubase_post_exam_permission: {
1327
+ type: 'object',
1328
+ properties: {
1329
+ user: {
1330
+ type: 'string',
1331
+ description: 'the user identification string',
1332
+ },
1333
+ content: {
1334
+ type: 'object',
1335
+ properties: {
1336
+ type: {
1337
+ type: 'string',
1338
+ description: 'will be "exam"',
1339
+ },
1340
+ code: {
1341
+ type: 'string',
1342
+ description: 'the exam identification string',
1343
+ },
1344
+ id: {
1345
+ type: 'string',
1346
+ description: 'external unique exam identifier (if set for the exam)',
1347
+ },
1348
+ },
1349
+ },
1350
+ success: {
1351
+ type: 'boolean',
1352
+ description: 'operation was successful',
1353
+ },
1354
+ },
1355
+ },
1356
+ // DELETE /exam:permission - Remove a user permission
1357
+ edubase_delete_exam_permission: {
1358
+ type: 'object',
1359
+ properties: {
1360
+ user: {
1361
+ type: 'string',
1362
+ description: 'the user identification string',
1363
+ },
1364
+ content: {
1365
+ type: 'object',
1366
+ properties: {
1367
+ type: {
1368
+ type: 'string',
1369
+ description: 'will be "exam"',
1370
+ },
1371
+ code: {
1372
+ type: 'string',
1373
+ description: 'the exam identification string',
1374
+ },
1375
+ id: {
1376
+ type: 'string',
1377
+ description: 'external unique exam identifier (if set for the exam)',
1378
+ },
1379
+ },
1380
+ },
1381
+ success: {
1382
+ type: 'boolean',
1383
+ description: 'operation was successful',
1384
+ },
1385
+ },
1386
+ },
1387
+ // POST /exam:transfer - Transfer exam to user
1388
+ edubase_post_exam_transfer: {
1389
+ type: 'object',
1390
+ properties: {
1391
+ user: {
1392
+ type: 'string',
1393
+ description: 'the user identification string',
1394
+ },
1395
+ content: {
1396
+ type: 'object',
1397
+ properties: {
1398
+ type: {
1399
+ type: 'string',
1400
+ description: 'will be "exam"',
1401
+ },
1402
+ code: {
1403
+ type: 'string',
1404
+ description: 'the exam identification string',
1405
+ },
1406
+ id: {
1407
+ type: 'string',
1408
+ description: 'external unique exam identifier (if set for the exam)',
1409
+ },
1410
+ },
1411
+ },
1412
+ success: {
1413
+ type: 'boolean',
1414
+ description: 'operation was successful',
1415
+ },
1416
+ },
1417
+ },
1418
+ // GET /integration:permission - Check if a user has permission on an integration
1419
+ edubase_get_integration_permission: {
1420
+ type: 'object',
1421
+ properties: {
1422
+ user: {
1423
+ type: 'string',
1424
+ description: 'the user identification string',
1425
+ },
1426
+ content: {
1427
+ type: 'object',
1428
+ properties: {
1429
+ type: {
1430
+ type: 'string',
1431
+ description: 'will be "integration"',
1432
+ },
1433
+ code: {
1434
+ type: 'string',
1435
+ description: 'the integration identification string',
1436
+ },
1437
+ id: {
1438
+ type: 'string',
1439
+ description: 'external unique integration identifier (if set for the integration)',
1440
+ },
1441
+ },
1442
+ },
1443
+ status: {
1444
+ type: 'object',
1445
+ properties: {
1446
+ permission: {
1447
+ type: 'boolean',
1448
+ description: 'the user has permission on this integration',
1449
+ },
1450
+ rule: {
1451
+ type: 'boolean',
1452
+ description: 'there is a permission rule with these parameters',
1453
+ },
1454
+ },
1455
+ },
1456
+ },
1457
+ },
1458
+ // POST /integration:permission - Create new permission for a user
1459
+ edubase_post_integration_permission: {
1460
+ type: 'object',
1461
+ properties: {
1462
+ user: {
1463
+ type: 'string',
1464
+ description: 'the user identification string',
1465
+ },
1466
+ content: {
1467
+ type: 'object',
1468
+ properties: {
1469
+ type: {
1470
+ type: 'string',
1471
+ description: 'will be "integration"',
1472
+ },
1473
+ code: {
1474
+ type: 'string',
1475
+ description: 'the integration identification string',
1476
+ },
1477
+ id: {
1478
+ type: 'string',
1479
+ description: 'external unique integration identifier (if set for the integration)',
1480
+ },
1481
+ },
1482
+ },
1483
+ success: {
1484
+ type: 'boolean',
1485
+ description: 'operation was successful',
1486
+ },
1487
+ },
1488
+ },
1489
+ // DELETE /integration:permission - Remove a user permission
1490
+ edubase_delete_integration_permission: {
1491
+ type: 'object',
1492
+ properties: {
1493
+ user: {
1494
+ type: 'string',
1495
+ description: 'the user identification string',
1496
+ },
1497
+ content: {
1498
+ type: 'object',
1499
+ properties: {
1500
+ type: {
1501
+ type: 'string',
1502
+ description: 'will be "integration"',
1503
+ },
1504
+ code: {
1505
+ type: 'string',
1506
+ description: 'the integration identification string',
1507
+ },
1508
+ id: {
1509
+ type: 'string',
1510
+ description: 'external unique integration identifier (if set for the integration)',
1511
+ },
1512
+ },
1513
+ },
1514
+ success: {
1515
+ type: 'boolean',
1516
+ description: 'operation was successful',
1517
+ },
1518
+ },
1519
+ },
1520
+ // POST /integration:transfer - Transfer integration to user
1521
+ edubase_post_integration_transfer: {
1522
+ type: 'object',
1523
+ properties: {
1524
+ user: {
1525
+ type: 'string',
1526
+ description: 'the user identification string',
1527
+ },
1528
+ content: {
1529
+ type: 'object',
1530
+ properties: {
1531
+ type: {
1532
+ type: 'string',
1533
+ description: 'will be "integration"',
1534
+ },
1535
+ code: {
1536
+ type: 'string',
1537
+ description: 'the integration identification string',
1538
+ },
1539
+ id: {
1540
+ type: 'string',
1541
+ description: 'external unique integration identifier (if set for the integration)',
1542
+ },
1543
+ },
1544
+ },
1545
+ success: {
1546
+ type: 'boolean',
1547
+ description: 'operation was successful',
1548
+ },
1549
+ },
1550
+ },
1551
+ // GET /organization:permission - Check if a user has permission on an organization
1552
+ edubase_get_organization_permission: {
1553
+ type: 'object',
1554
+ properties: {
1555
+ user: {
1556
+ type: 'string',
1557
+ description: 'the user identification string',
1558
+ },
1559
+ content: {
1560
+ type: 'object',
1561
+ properties: {
1562
+ type: {
1563
+ type: 'string',
1564
+ description: 'will be "organization"',
1565
+ },
1566
+ code: {
1567
+ type: 'string',
1568
+ description: 'the organization identification string',
1569
+ },
1570
+ id: {
1571
+ type: 'string',
1572
+ description: 'external unique organization identifier (if set for the organization)',
1573
+ },
1574
+ },
1575
+ },
1576
+ status: {
1577
+ type: 'object',
1578
+ properties: {
1579
+ permission: {
1580
+ type: 'boolean',
1581
+ description: 'the user has permission on this organization',
1582
+ },
1583
+ rule: {
1584
+ type: 'boolean',
1585
+ description: 'there is a permission rule with these parameters',
1586
+ },
1587
+ },
1588
+ },
1589
+ },
1590
+ },
1591
+ // POST /organization:permission - Create new permission for a user
1592
+ edubase_post_organization_permission: {
1593
+ type: 'object',
1594
+ properties: {
1595
+ user: {
1596
+ type: 'string',
1597
+ description: 'the user identification string',
1598
+ },
1599
+ content: {
1600
+ type: 'object',
1601
+ properties: {
1602
+ type: {
1603
+ type: 'string',
1604
+ description: 'will be "organization"',
1605
+ },
1606
+ code: {
1607
+ type: 'string',
1608
+ description: 'the organization identification string',
1609
+ },
1610
+ id: {
1611
+ type: 'string',
1612
+ description: 'external unique organization identifier (if set for the organization)',
1613
+ },
1614
+ },
1615
+ },
1616
+ success: {
1617
+ type: 'boolean',
1618
+ description: 'operation was successful',
1619
+ },
1620
+ },
1621
+ },
1622
+ // DELETE /organization:permission - Remove a user permission
1623
+ edubase_delete_organization_permission: {
1624
+ type: 'object',
1625
+ properties: {
1626
+ user: {
1627
+ type: 'string',
1628
+ description: 'the user identification string',
1629
+ },
1630
+ content: {
1631
+ type: 'object',
1632
+ properties: {
1633
+ type: {
1634
+ type: 'string',
1635
+ description: 'will be "organization"',
1636
+ },
1637
+ code: {
1638
+ type: 'string',
1639
+ description: 'the organization identification string',
1640
+ },
1641
+ id: {
1642
+ type: 'string',
1643
+ description: 'external unique organization identifier (if set for the organization)',
1644
+ },
1645
+ },
1646
+ },
1647
+ success: {
1648
+ type: 'boolean',
1649
+ description: 'operation was successful',
1650
+ },
1651
+ },
1652
+ },
1653
+ // POST /organization:transfer - Transfer organization to user
1654
+ edubase_post_organization_transfer: {
1655
+ type: 'object',
1656
+ properties: {
1657
+ user: {
1658
+ type: 'string',
1659
+ description: 'the user identification string',
1660
+ },
1661
+ content: {
1662
+ type: 'object',
1663
+ properties: {
1664
+ type: {
1665
+ type: 'string',
1666
+ description: 'will be "organization"',
1667
+ },
1668
+ code: {
1669
+ type: 'string',
1670
+ description: 'the organization identification string',
1671
+ },
1672
+ id: {
1673
+ type: 'string',
1674
+ description: 'external unique organization identifier (if set for the organization)',
1675
+ },
1676
+ },
1677
+ },
1678
+ success: {
1679
+ type: 'boolean',
1680
+ description: 'operation was successful',
1681
+ },
1682
+ },
1683
+ },
1684
+ // GET /quiz:permission - Check if a user has permission on a quiz
1685
+ edubase_get_quiz_permission: {
1686
+ type: 'object',
1687
+ properties: {
1688
+ user: {
1689
+ type: 'string',
1690
+ description: 'the user identification string',
1691
+ },
1692
+ content: {
1693
+ type: 'object',
1694
+ properties: {
1695
+ type: {
1696
+ type: 'string',
1697
+ description: 'will be "quiz"',
1698
+ },
1699
+ code: {
1700
+ type: 'string',
1701
+ description: 'the Quiz identification string',
1702
+ },
1703
+ id: {
1704
+ type: 'string',
1705
+ description: 'external unique Quiz identifier (if set for the Quiz)',
1706
+ },
1707
+ },
1708
+ },
1709
+ status: {
1710
+ type: 'object',
1711
+ properties: {
1712
+ permission: {
1713
+ type: 'boolean',
1714
+ description: 'the user has permission on this quiz',
1715
+ },
1716
+ rule: {
1717
+ type: 'boolean',
1718
+ description: 'there is a permission rule with these parameters',
1719
+ },
1720
+ },
1721
+ },
1722
+ },
1723
+ },
1724
+ // POST /quiz:permission - Create new permission for a user
1725
+ edubase_post_quiz_permission: {
1726
+ type: 'object',
1727
+ properties: {
1728
+ user: {
1729
+ type: 'string',
1730
+ description: 'the user identification string',
1731
+ },
1732
+ content: {
1733
+ type: 'object',
1734
+ properties: {
1735
+ type: {
1736
+ type: 'string',
1737
+ description: 'will be "quiz"',
1738
+ },
1739
+ code: {
1740
+ type: 'string',
1741
+ description: 'the Quiz identification string',
1742
+ },
1743
+ id: {
1744
+ type: 'string',
1745
+ description: 'external unique Quiz identifier (if set for the Quiz)',
1746
+ },
1747
+ },
1748
+ },
1749
+ success: {
1750
+ type: 'boolean',
1751
+ description: 'operation was successful',
1752
+ },
1753
+ },
1754
+ },
1755
+ // DELETE /quiz:permission - Remove a user permission
1756
+ edubase_delete_quiz_permission: {
1757
+ type: 'object',
1758
+ properties: {
1759
+ user: {
1760
+ type: 'string',
1761
+ description: 'the user identification string',
1762
+ },
1763
+ content: {
1764
+ type: 'object',
1765
+ properties: {
1766
+ type: {
1767
+ type: 'string',
1768
+ description: 'will be "quiz"',
1769
+ },
1770
+ code: {
1771
+ type: 'string',
1772
+ description: 'the Quiz identification string',
1773
+ },
1774
+ id: {
1775
+ type: 'string',
1776
+ description: 'external unique Quiz identifier (if set for the Quiz)',
1777
+ },
1778
+ },
1779
+ },
1780
+ success: {
1781
+ type: 'boolean',
1782
+ description: 'operation was successful',
1783
+ },
1784
+ },
1785
+ },
1786
+ // POST /quiz:transfer - Transfer quiz to user
1787
+ edubase_post_quiz_transfer: {
1788
+ type: 'object',
1789
+ properties: {
1790
+ user: {
1791
+ type: 'string',
1792
+ description: 'the user identification string',
1793
+ },
1794
+ content: {
1795
+ type: 'object',
1796
+ properties: {
1797
+ type: {
1798
+ type: 'string',
1799
+ description: 'will be "quiz"',
1800
+ },
1801
+ code: {
1802
+ type: 'string',
1803
+ description: 'the Quiz identification string',
1804
+ },
1805
+ id: {
1806
+ type: 'string',
1807
+ description: 'external unique Quiz identifier (if set for the Quiz)',
1808
+ },
1809
+ },
1810
+ },
1811
+ success: {
1812
+ type: 'boolean',
1813
+ description: 'operation was successful',
1814
+ },
1815
+ },
1816
+ },
1817
+ // GET /scorm:permission - Check if a user has permission on a SCORM learning material
1818
+ edubase_get_scorm_permission: {
1819
+ type: 'object',
1820
+ properties: {
1821
+ user: {
1822
+ type: 'string',
1823
+ description: 'the user identification string',
1824
+ },
1825
+ content: {
1826
+ type: 'object',
1827
+ properties: {
1828
+ type: {
1829
+ type: 'string',
1830
+ description: 'will be "scorm"',
1831
+ },
1832
+ code: {
1833
+ type: 'string',
1834
+ description: 'the SCORM identification string',
1835
+ },
1836
+ id: {
1837
+ type: 'string',
1838
+ description: 'external unique SCORM identifier (if set for the SCORM)',
1839
+ },
1840
+ },
1841
+ },
1842
+ status: {
1843
+ type: 'object',
1844
+ properties: {
1845
+ permission: {
1846
+ type: 'boolean',
1847
+ description: 'the user has permission on this SCORM learning material',
1848
+ },
1849
+ rule: {
1850
+ type: 'boolean',
1851
+ description: 'there is a permission rule with these parameters',
1852
+ },
1853
+ },
1854
+ },
1855
+ },
1856
+ },
1857
+ // POST /scorm:permission - Create new permission for a user
1858
+ edubase_post_scorm_permission: {
1859
+ type: 'object',
1860
+ properties: {
1861
+ user: {
1862
+ type: 'string',
1863
+ description: 'the user identification string',
1864
+ },
1865
+ content: {
1866
+ type: 'object',
1867
+ properties: {
1868
+ type: {
1869
+ type: 'string',
1870
+ description: 'will be "scorm"',
1871
+ },
1872
+ code: {
1873
+ type: 'string',
1874
+ description: 'the SCORM identification string',
1875
+ },
1876
+ id: {
1877
+ type: 'string',
1878
+ description: 'external unique SCORM identifier (if set for the SCORM)',
1879
+ },
1880
+ },
1881
+ },
1882
+ success: {
1883
+ type: 'boolean',
1884
+ description: 'operation was successful',
1885
+ },
1886
+ },
1887
+ },
1888
+ // DELETE /scorm:permission - Remove a user permission
1889
+ edubase_delete_scorm_permission: {
1890
+ type: 'object',
1891
+ properties: {
1892
+ user: {
1893
+ type: 'string',
1894
+ description: 'the user identification string',
1895
+ },
1896
+ content: {
1897
+ type: 'object',
1898
+ properties: {
1899
+ type: {
1900
+ type: 'string',
1901
+ description: 'will be "scorm"',
1902
+ },
1903
+ code: {
1904
+ type: 'string',
1905
+ description: 'the SCORM identification string',
1906
+ },
1907
+ id: {
1908
+ type: 'string',
1909
+ description: 'external unique SCORM identifier (if set for the SCORM)',
1910
+ },
1911
+ },
1912
+ },
1913
+ success: {
1914
+ type: 'boolean',
1915
+ description: 'operation was successful',
1916
+ },
1917
+ },
1918
+ },
1919
+ // POST /scorm:transfer - Transfer SCORM to user
1920
+ edubase_post_scorm_transfer: {
1921
+ type: 'object',
1922
+ properties: {
1923
+ user: {
1924
+ type: 'string',
1925
+ description: 'the user identification string',
1926
+ },
1927
+ content: {
1928
+ type: 'object',
1929
+ properties: {
1930
+ type: {
1931
+ type: 'string',
1932
+ description: 'will be "scorm"',
1933
+ },
1934
+ code: {
1935
+ type: 'string',
1936
+ description: 'the SCORM identification string',
1937
+ },
1938
+ id: {
1939
+ type: 'string',
1940
+ description: 'external unique SCORM identifier (if set for the SCORM)',
1941
+ },
1942
+ },
1943
+ },
1944
+ success: {
1945
+ type: 'boolean',
1946
+ description: 'operation was successful',
1947
+ },
1948
+ },
1949
+ },
1950
+ // GET /tag:permission - Check if a user has permission on a tag
1951
+ edubase_get_tag_permission: {
1952
+ type: 'object',
1953
+ properties: {
1954
+ user: {
1955
+ type: 'string',
1956
+ description: 'the user identification string',
1957
+ },
1958
+ content: {
1959
+ type: 'object',
1960
+ properties: {
1961
+ type: {
1962
+ type: 'string',
1963
+ description: 'will be "tag"',
1964
+ },
1965
+ code: {
1966
+ type: 'string',
1967
+ description: 'the tag identification string',
1968
+ },
1969
+ id: {
1970
+ type: 'string',
1971
+ description: 'external unique tag identifier (if set for the tag)',
1972
+ },
1973
+ },
1974
+ },
1975
+ status: {
1976
+ type: 'object',
1977
+ properties: {
1978
+ permission: {
1979
+ type: 'boolean',
1980
+ description: 'the user has permission on this tag',
1981
+ },
1982
+ rule: {
1983
+ type: 'boolean',
1984
+ description: 'there is a permission rule with these parameters',
1985
+ },
1986
+ },
1987
+ },
1988
+ },
1989
+ },
1990
+ // POST /tag:permission - Create new permission for a user
1991
+ edubase_post_tag_permission: {
1992
+ type: 'object',
1993
+ properties: {
1994
+ user: {
1995
+ type: 'string',
1996
+ description: 'the user identification string',
1997
+ },
1998
+ content: {
1999
+ type: 'object',
2000
+ properties: {
2001
+ type: {
2002
+ type: 'string',
2003
+ description: 'will be "tag"',
2004
+ },
2005
+ code: {
2006
+ type: 'string',
2007
+ description: 'the tag identification string',
2008
+ },
2009
+ id: {
2010
+ type: 'string',
2011
+ description: 'external unique tag identifier (if set for the tag)',
2012
+ },
2013
+ },
2014
+ },
2015
+ success: {
2016
+ type: 'boolean',
2017
+ description: 'operation was successful',
2018
+ },
2019
+ },
2020
+ },
2021
+ // DELETE /tag:permission - Remove a user permission
2022
+ edubase_delete_tag_permission: {
2023
+ type: 'object',
2024
+ properties: {
2025
+ user: {
2026
+ type: 'string',
2027
+ description: 'the user identification string',
2028
+ },
2029
+ content: {
2030
+ type: 'object',
2031
+ properties: {
2032
+ type: {
2033
+ type: 'string',
2034
+ description: 'will be "tag"',
2035
+ },
2036
+ code: {
2037
+ type: 'string',
2038
+ description: 'the tag identification string',
2039
+ },
2040
+ id: {
2041
+ type: 'string',
2042
+ description: 'external unique tag identifier (if set for the tag)',
2043
+ },
2044
+ },
2045
+ },
2046
+ success: {
2047
+ type: 'boolean',
2048
+ description: 'operation was successful',
2049
+ },
2050
+ },
2051
+ },
2052
+ // POST /tag:transfer - Transfer tag to user
2053
+ edubase_post_tag_transfer: {
2054
+ type: 'object',
2055
+ properties: {
2056
+ user: {
2057
+ type: 'string',
2058
+ description: 'the user identification string',
2059
+ },
2060
+ content: {
2061
+ type: 'object',
2062
+ properties: {
2063
+ type: {
2064
+ type: 'string',
2065
+ description: 'will be "tag"',
2066
+ },
2067
+ code: {
2068
+ type: 'string',
2069
+ description: 'the tag identification string',
2070
+ },
2071
+ id: {
2072
+ type: 'string',
2073
+ description: 'external unique tag identifier (if set for the tag)',
2074
+ },
2075
+ },
2076
+ },
2077
+ success: {
2078
+ type: 'boolean',
2079
+ description: 'operation was successful',
2080
+ },
2081
+ },
2082
+ },
2083
+ // GET /video:permission - Check if a user has permission on a video
2084
+ edubase_get_video_permission: {
2085
+ type: 'object',
2086
+ properties: {
2087
+ user: {
2088
+ type: 'string',
2089
+ description: 'the user identification string',
2090
+ },
2091
+ content: {
2092
+ type: 'object',
2093
+ properties: {
2094
+ type: {
2095
+ type: 'string',
2096
+ description: 'will be "video"',
2097
+ },
2098
+ code: {
2099
+ type: 'string',
2100
+ description: 'the video identification string',
2101
+ },
2102
+ id: {
2103
+ type: 'string',
2104
+ description: 'external unique video identifier (if set for the video)',
2105
+ },
2106
+ },
2107
+ },
2108
+ status: {
2109
+ type: 'object',
2110
+ properties: {
2111
+ permission: {
2112
+ type: 'boolean',
2113
+ description: 'the user has permission on this video',
2114
+ },
2115
+ rule: {
2116
+ type: 'boolean',
2117
+ description: 'there is a permission rule with these parameters',
2118
+ },
2119
+ },
2120
+ },
2121
+ },
2122
+ },
2123
+ // POST /video:permission - Create new permission for a user
2124
+ edubase_post_video_permission: {
2125
+ type: 'object',
2126
+ properties: {
2127
+ user: {
2128
+ type: 'string',
2129
+ description: 'the user identification string',
2130
+ },
2131
+ content: {
2132
+ type: 'object',
2133
+ properties: {
2134
+ type: {
2135
+ type: 'string',
2136
+ description: 'will be "video"',
2137
+ },
2138
+ code: {
2139
+ type: 'string',
2140
+ description: 'the video identification string',
2141
+ },
2142
+ id: {
2143
+ type: 'string',
2144
+ description: 'external unique video identifier (if set for the video)',
2145
+ },
2146
+ },
2147
+ },
2148
+ success: {
2149
+ type: 'boolean',
2150
+ description: 'operation was successful',
2151
+ },
2152
+ },
2153
+ },
2154
+ // DELETE /video:permission - Remove a user permission
2155
+ edubase_delete_video_permission: {
2156
+ type: 'object',
2157
+ properties: {
2158
+ user: {
2159
+ type: 'string',
2160
+ description: 'the user identification string',
2161
+ },
2162
+ content: {
2163
+ type: 'object',
2164
+ properties: {
2165
+ type: {
2166
+ type: 'string',
2167
+ description: 'will be "video"',
2168
+ },
2169
+ code: {
2170
+ type: 'string',
2171
+ description: 'the video identification string',
2172
+ },
2173
+ id: {
2174
+ type: 'string',
2175
+ description: 'external unique video identifier (if set for the video)',
2176
+ },
2177
+ },
2178
+ },
2179
+ success: {
2180
+ type: 'boolean',
2181
+ description: 'operation was successful',
2182
+ },
2183
+ },
2184
+ },
2185
+ // POST /video:transfer - Transfer video to user
2186
+ edubase_post_video_transfer: {
2187
+ type: 'object',
2188
+ properties: {
2189
+ user: {
2190
+ type: 'string',
2191
+ description: 'the user identification string',
2192
+ },
2193
+ content: {
2194
+ type: 'object',
2195
+ properties: {
2196
+ type: {
2197
+ type: 'string',
2198
+ description: 'will be "video"',
2199
+ },
2200
+ code: {
2201
+ type: 'string',
2202
+ description: 'the video identification string',
2203
+ },
2204
+ id: {
2205
+ type: 'string',
2206
+ description: 'external unique video identifier (if set for the video)',
2207
+ },
2208
+ },
2209
+ },
2210
+ success: {
2211
+ type: 'boolean',
2212
+ description: 'operation was successful',
2213
+ },
2214
+ },
2215
+ },
2216
+ };