@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,1504 @@
1
+ /* Tool definitions */
2
+ export const EDUBASE_API_TOOLS_TAGS = [
3
+ // GET /tags - List owned and managed tags
4
+ {
5
+ name: 'edubase_get_tags',
6
+ description: "List owned and managed tags.",
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 /tag - Get/check tag
27
+ {
28
+ name: 'edubase_get_tag',
29
+ description: "Get/check tag.",
30
+ inputSchema: {
31
+ type: 'object',
32
+ properties: {
33
+ tag: {
34
+ type: 'string',
35
+ description: 'tag identification string',
36
+ },
37
+ },
38
+ required: ['tag'],
39
+ },
40
+ },
41
+ // GET /class:tags - List all attached tags of a class
42
+ {
43
+ name: 'edubase_get_class_tags',
44
+ description: "List all attached tags of a class.",
45
+ inputSchema: {
46
+ type: 'object',
47
+ properties: {
48
+ class: {
49
+ type: 'string',
50
+ description: 'class identification string',
51
+ },
52
+ },
53
+ required: ['class'],
54
+ },
55
+ },
56
+ // GET /class:tag - Check if tag is attached to a class
57
+ {
58
+ name: 'edubase_get_class_tag',
59
+ description: "Check if tag is attached to a class.",
60
+ inputSchema: {
61
+ type: 'object',
62
+ properties: {
63
+ class: {
64
+ type: 'string',
65
+ description: 'class identification string',
66
+ },
67
+ tag: {
68
+ type: 'string',
69
+ description: 'tag identification string',
70
+ },
71
+ },
72
+ required: ['class', 'tag'],
73
+ },
74
+ },
75
+ // POST /class:tag - Attach tag to class
76
+ {
77
+ name: 'edubase_post_class_tag',
78
+ description: "Attach tag to a class.",
79
+ inputSchema: {
80
+ type: 'object',
81
+ properties: {
82
+ class: {
83
+ type: 'string',
84
+ description: 'class identification string',
85
+ },
86
+ tag: {
87
+ type: 'string',
88
+ description: 'tag identification string',
89
+ },
90
+ },
91
+ required: ['class', 'tag'],
92
+ },
93
+ },
94
+ // DELETE /class:tag - Remove a tag attachment from class
95
+ {
96
+ name: 'edubase_delete_class_tag',
97
+ description: "Remove a tag attachment from a class.",
98
+ inputSchema: {
99
+ type: 'object',
100
+ properties: {
101
+ class: {
102
+ type: 'string',
103
+ description: 'class identification string',
104
+ },
105
+ tag: {
106
+ type: 'string',
107
+ description: 'tag identification string',
108
+ },
109
+ },
110
+ required: ['class', 'tag'],
111
+ },
112
+ },
113
+ // GET /course:tags - List all attached tags of a course
114
+ {
115
+ name: 'edubase_get_course_tags',
116
+ description: "List all attached tags of a course.",
117
+ inputSchema: {
118
+ type: 'object',
119
+ properties: {
120
+ course: {
121
+ type: 'string',
122
+ description: 'course identification string',
123
+ },
124
+ },
125
+ required: ['course'],
126
+ },
127
+ },
128
+ // GET /course:tag - Check if tag is attached to a course
129
+ {
130
+ name: 'edubase_get_course_tag',
131
+ description: "Check if tag is attached to a course.",
132
+ inputSchema: {
133
+ type: 'object',
134
+ properties: {
135
+ course: {
136
+ type: 'string',
137
+ description: 'course identification string',
138
+ },
139
+ tag: {
140
+ type: 'string',
141
+ description: 'tag identification string',
142
+ },
143
+ },
144
+ required: ['course', 'tag'],
145
+ },
146
+ },
147
+ // POST /course:tag - Attach tag to course
148
+ {
149
+ name: 'edubase_post_course_tag',
150
+ description: "Attach tag to a course.",
151
+ inputSchema: {
152
+ type: 'object',
153
+ properties: {
154
+ course: {
155
+ type: 'string',
156
+ description: 'course identification string',
157
+ },
158
+ tag: {
159
+ type: 'string',
160
+ description: 'tag identification string',
161
+ },
162
+ },
163
+ required: ['course', 'tag'],
164
+ },
165
+ },
166
+ // DELETE /course:tag - Remove a tag attachment from course
167
+ {
168
+ name: 'edubase_delete_course_tag',
169
+ description: "Remove a tag attachment from a course.",
170
+ inputSchema: {
171
+ type: 'object',
172
+ properties: {
173
+ course: {
174
+ type: 'string',
175
+ description: 'course identification string',
176
+ },
177
+ tag: {
178
+ type: 'string',
179
+ description: 'tag identification string',
180
+ },
181
+ },
182
+ required: ['course', 'tag'],
183
+ },
184
+ },
185
+ // GET /event:tags - List all attached tags of an event
186
+ {
187
+ name: 'edubase_get_event_tags',
188
+ description: "List all attached tags of an event.",
189
+ inputSchema: {
190
+ type: 'object',
191
+ properties: {
192
+ event: {
193
+ type: 'string',
194
+ description: 'event identification string',
195
+ },
196
+ },
197
+ required: ['event'],
198
+ },
199
+ },
200
+ // GET /event:tag - Check if tag is attached to an event
201
+ {
202
+ name: 'edubase_get_event_tag',
203
+ description: "Check if tag is attached to an event.",
204
+ inputSchema: {
205
+ type: 'object',
206
+ properties: {
207
+ event: {
208
+ type: 'string',
209
+ description: 'event identification string',
210
+ },
211
+ tag: {
212
+ type: 'string',
213
+ description: 'tag identification string',
214
+ },
215
+ },
216
+ required: ['event', 'tag'],
217
+ },
218
+ },
219
+ // POST /event:tag - Attach tag to event
220
+ {
221
+ name: 'edubase_post_event_tag',
222
+ description: "Attach tag to an event.",
223
+ inputSchema: {
224
+ type: 'object',
225
+ properties: {
226
+ event: {
227
+ type: 'string',
228
+ description: 'event identification string',
229
+ },
230
+ tag: {
231
+ type: 'string',
232
+ description: 'tag identification string',
233
+ },
234
+ },
235
+ required: ['event', 'tag'],
236
+ },
237
+ },
238
+ // DELETE /event:tag - Remove a tag attachment from event
239
+ {
240
+ name: 'edubase_delete_event_tag',
241
+ description: "Remove a tag attachment from an event.",
242
+ inputSchema: {
243
+ type: 'object',
244
+ properties: {
245
+ event: {
246
+ type: 'string',
247
+ description: 'event identification string',
248
+ },
249
+ tag: {
250
+ type: 'string',
251
+ description: 'tag identification string',
252
+ },
253
+ },
254
+ required: ['event', 'tag'],
255
+ },
256
+ },
257
+ // GET /exam:tags - List all attached tags of an exam
258
+ {
259
+ name: 'edubase_get_exam_tags',
260
+ description: "List all attached tags of an exam.",
261
+ inputSchema: {
262
+ type: 'object',
263
+ properties: {
264
+ exam: {
265
+ type: 'string',
266
+ description: 'exam identification string',
267
+ },
268
+ },
269
+ required: ['exam'],
270
+ },
271
+ },
272
+ // GET /exam:tag - Check if tag is attached to an exam
273
+ {
274
+ name: 'edubase_get_exam_tag',
275
+ description: "Check if tag is attached to an exam.",
276
+ inputSchema: {
277
+ type: 'object',
278
+ properties: {
279
+ exam: {
280
+ type: 'string',
281
+ description: 'exam identification string',
282
+ },
283
+ tag: {
284
+ type: 'string',
285
+ description: 'tag identification string',
286
+ },
287
+ },
288
+ required: ['exam', 'tag'],
289
+ },
290
+ },
291
+ // POST /exam:tag - Attach tag to exam
292
+ {
293
+ name: 'edubase_post_exam_tag',
294
+ description: "Attach tag to an exam.",
295
+ inputSchema: {
296
+ type: 'object',
297
+ properties: {
298
+ exam: {
299
+ type: 'string',
300
+ description: 'exam identification string',
301
+ },
302
+ tag: {
303
+ type: 'string',
304
+ description: 'tag identification string',
305
+ },
306
+ },
307
+ required: ['exam', 'tag'],
308
+ },
309
+ },
310
+ // DELETE /exam:tag - Remove a tag attachment from exam
311
+ {
312
+ name: 'edubase_delete_exam_tag',
313
+ description: "Remove a tag attachment from an exam.",
314
+ inputSchema: {
315
+ type: 'object',
316
+ properties: {
317
+ exam: {
318
+ type: 'string',
319
+ description: 'exam identification string',
320
+ },
321
+ tag: {
322
+ type: 'string',
323
+ description: 'tag identification string',
324
+ },
325
+ },
326
+ required: ['exam', 'tag'],
327
+ },
328
+ },
329
+ // GET /integration:tags - List all attached tags of an integration
330
+ {
331
+ name: 'edubase_get_integration_tags',
332
+ description: "List all attached tags of an integration.",
333
+ inputSchema: {
334
+ type: 'object',
335
+ properties: {
336
+ integration: {
337
+ type: 'string',
338
+ description: 'integration identification string',
339
+ },
340
+ },
341
+ required: ['integration'],
342
+ },
343
+ },
344
+ // GET /integration:tag - Check if tag is attached to an integration
345
+ {
346
+ name: 'edubase_get_integration_tag',
347
+ description: "Check if tag is attached to an integration.",
348
+ inputSchema: {
349
+ type: 'object',
350
+ properties: {
351
+ integration: {
352
+ type: 'string',
353
+ description: 'integration identification string',
354
+ },
355
+ tag: {
356
+ type: 'string',
357
+ description: 'tag identification string',
358
+ },
359
+ },
360
+ required: ['integration', 'tag'],
361
+ },
362
+ },
363
+ // POST /integration:tag - Attach tag to integration
364
+ {
365
+ name: 'edubase_post_integration_tag',
366
+ description: "Attach tag to an integration.",
367
+ inputSchema: {
368
+ type: 'object',
369
+ properties: {
370
+ integration: {
371
+ type: 'string',
372
+ description: 'integration identification string',
373
+ },
374
+ tag: {
375
+ type: 'string',
376
+ description: 'tag identification string',
377
+ },
378
+ },
379
+ required: ['integration', 'tag'],
380
+ },
381
+ },
382
+ // DELETE /integration:tag - Remove a tag attachment from integration
383
+ {
384
+ name: 'edubase_delete_integration_tag',
385
+ description: "Remove a tag attachment from an integration.",
386
+ inputSchema: {
387
+ type: 'object',
388
+ properties: {
389
+ integration: {
390
+ type: 'string',
391
+ description: 'integration identification string',
392
+ },
393
+ tag: {
394
+ type: 'string',
395
+ description: 'tag identification string',
396
+ },
397
+ },
398
+ required: ['integration', 'tag'],
399
+ },
400
+ },
401
+ // GET /organization:tags - List all attached tags of an organization
402
+ {
403
+ name: 'edubase_get_organization_tags',
404
+ description: "List all attached tags of an organization.",
405
+ inputSchema: {
406
+ type: 'object',
407
+ properties: {
408
+ organization: {
409
+ type: 'string',
410
+ description: 'organization identification string',
411
+ },
412
+ },
413
+ required: ['organization'],
414
+ },
415
+ },
416
+ // GET /organization:tag - Check if tag is attached to an organization
417
+ {
418
+ name: 'edubase_get_organization_tag',
419
+ description: "Check if tag is attached to an organization.",
420
+ inputSchema: {
421
+ type: 'object',
422
+ properties: {
423
+ organization: {
424
+ type: 'string',
425
+ description: 'organization identification string',
426
+ },
427
+ tag: {
428
+ type: 'string',
429
+ description: 'tag identification string',
430
+ },
431
+ },
432
+ required: ['organization', 'tag'],
433
+ },
434
+ },
435
+ // POST /organization:tag - Attach tag to organization
436
+ {
437
+ name: 'edubase_post_organization_tag',
438
+ description: "Attach tag to an organization.",
439
+ inputSchema: {
440
+ type: 'object',
441
+ properties: {
442
+ organization: {
443
+ type: 'string',
444
+ description: 'organization identification string',
445
+ },
446
+ tag: {
447
+ type: 'string',
448
+ description: 'tag identification string',
449
+ },
450
+ },
451
+ required: ['organization', 'tag'],
452
+ },
453
+ },
454
+ // DELETE /organization:tag - Remove a tag attachment from organization
455
+ {
456
+ name: 'edubase_delete_organization_tag',
457
+ description: "Remove a tag attachment from an organization.",
458
+ inputSchema: {
459
+ type: 'object',
460
+ properties: {
461
+ organization: {
462
+ type: 'string',
463
+ description: 'organization identification string',
464
+ },
465
+ tag: {
466
+ type: 'string',
467
+ description: 'tag identification string',
468
+ },
469
+ },
470
+ required: ['organization', 'tag'],
471
+ },
472
+ },
473
+ // GET /quiz:tags - List all attached tags of a Quiz
474
+ {
475
+ name: 'edubase_get_quiz_tags',
476
+ description: "List all attached tags of a Quiz.",
477
+ inputSchema: {
478
+ type: 'object',
479
+ properties: {
480
+ quiz: {
481
+ type: 'string',
482
+ description: 'Quiz identification string',
483
+ },
484
+ },
485
+ required: ['quiz'],
486
+ },
487
+ },
488
+ // GET /quiz:tag - Check if tag is attached to a Quiz
489
+ {
490
+ name: 'edubase_get_quiz_tag',
491
+ description: "Check if tag is attached to a Quiz.",
492
+ inputSchema: {
493
+ type: 'object',
494
+ properties: {
495
+ quiz: {
496
+ type: 'string',
497
+ description: 'Quiz identification string',
498
+ },
499
+ tag: {
500
+ type: 'string',
501
+ description: 'tag identification string',
502
+ },
503
+ },
504
+ required: ['quiz', 'tag'],
505
+ },
506
+ },
507
+ // POST /quiz:tag - Attach tag to Quiz
508
+ {
509
+ name: 'edubase_post_quiz_tag',
510
+ description: "Attach tag to a Quiz.",
511
+ inputSchema: {
512
+ type: 'object',
513
+ properties: {
514
+ quiz: {
515
+ type: 'string',
516
+ description: 'Quiz identification string',
517
+ },
518
+ tag: {
519
+ type: 'string',
520
+ description: 'tag identification string',
521
+ },
522
+ },
523
+ required: ['quiz', 'tag'],
524
+ },
525
+ },
526
+ // DELETE /quiz:tag - Remove a tag attachment from Quiz
527
+ {
528
+ name: 'edubase_delete_quiz_tag',
529
+ description: "Remove a tag attachment from a Quiz.",
530
+ inputSchema: {
531
+ type: 'object',
532
+ properties: {
533
+ quiz: {
534
+ type: 'string',
535
+ description: 'Quiz identification string',
536
+ },
537
+ tag: {
538
+ type: 'string',
539
+ description: 'tag identification string',
540
+ },
541
+ },
542
+ required: ['quiz', 'tag'],
543
+ },
544
+ },
545
+ // GET /scorm:tags - List all attached tags of a SCORM
546
+ {
547
+ name: 'edubase_get_scorm_tags',
548
+ description: "List all attached tags of a SCORM learning material.",
549
+ inputSchema: {
550
+ type: 'object',
551
+ properties: {
552
+ scorm: {
553
+ type: 'string',
554
+ description: 'SCORM identification string',
555
+ },
556
+ },
557
+ required: ['scorm'],
558
+ },
559
+ },
560
+ // GET /scorm:tag - Check if tag is attached to a SCORM
561
+ {
562
+ name: 'edubase_get_scorm_tag',
563
+ description: "Check if tag is attached to a SCORM learning material.",
564
+ inputSchema: {
565
+ type: 'object',
566
+ properties: {
567
+ scorm: {
568
+ type: 'string',
569
+ description: 'SCORM identification string',
570
+ },
571
+ tag: {
572
+ type: 'string',
573
+ description: 'tag identification string',
574
+ },
575
+ },
576
+ required: ['scorm', 'tag'],
577
+ },
578
+ },
579
+ // POST /scorm:tag - Attach tag to SCORM
580
+ {
581
+ name: 'edubase_post_scorm_tag',
582
+ description: "Attach tag to a SCORM learning material.",
583
+ inputSchema: {
584
+ type: 'object',
585
+ properties: {
586
+ scorm: {
587
+ type: 'string',
588
+ description: 'SCORM identification string',
589
+ },
590
+ tag: {
591
+ type: 'string',
592
+ description: 'tag identification string',
593
+ },
594
+ },
595
+ required: ['scorm', 'tag'],
596
+ },
597
+ },
598
+ // DELETE /scorm:tag - Remove a tag attachment from SCORM
599
+ {
600
+ name: 'edubase_delete_scorm_tag',
601
+ description: "Remove a tag attachment from a SCORM learning material.",
602
+ inputSchema: {
603
+ type: 'object',
604
+ properties: {
605
+ scorm: {
606
+ type: 'string',
607
+ description: 'SCORM identification string',
608
+ },
609
+ tag: {
610
+ type: 'string',
611
+ description: 'tag identification string',
612
+ },
613
+ },
614
+ required: ['scorm', 'tag'],
615
+ },
616
+ },
617
+ // GET /video:tags - List all attached tags of a video
618
+ {
619
+ name: 'edubase_get_video_tags',
620
+ description: "List all attached tags of a video.",
621
+ inputSchema: {
622
+ type: 'object',
623
+ properties: {
624
+ video: {
625
+ type: 'string',
626
+ description: 'video identification string',
627
+ },
628
+ },
629
+ required: ['video'],
630
+ },
631
+ },
632
+ // GET /video:tag - Check if tag is attached to a video
633
+ {
634
+ name: 'edubase_get_video_tag',
635
+ description: "Check if tag is attached to a video.",
636
+ inputSchema: {
637
+ type: 'object',
638
+ properties: {
639
+ video: {
640
+ type: 'string',
641
+ description: 'video identification string',
642
+ },
643
+ tag: {
644
+ type: 'string',
645
+ description: 'tag identification string',
646
+ },
647
+ },
648
+ required: ['video', 'tag'],
649
+ },
650
+ },
651
+ // POST /video:tag - Attach tag to video
652
+ {
653
+ name: 'edubase_post_video_tag',
654
+ description: "Attach tag to a video.",
655
+ inputSchema: {
656
+ type: 'object',
657
+ properties: {
658
+ video: {
659
+ type: 'string',
660
+ description: 'video identification string',
661
+ },
662
+ tag: {
663
+ type: 'string',
664
+ description: 'tag identification string',
665
+ },
666
+ },
667
+ required: ['video', 'tag'],
668
+ },
669
+ },
670
+ // DELETE /video:tag - Remove a tag attachment from video
671
+ {
672
+ name: 'edubase_delete_video_tag',
673
+ description: "Remove a tag attachment from a video.",
674
+ inputSchema: {
675
+ type: 'object',
676
+ properties: {
677
+ video: {
678
+ type: 'string',
679
+ description: 'video identification string',
680
+ },
681
+ tag: {
682
+ type: 'string',
683
+ description: 'tag identification string',
684
+ },
685
+ },
686
+ required: ['video', 'tag'],
687
+ },
688
+ },
689
+ ];
690
+ /* Output schema definitions */
691
+ export const EDUBASE_API_TOOLS_TAGS_OUTPUT_SCHEMA = {
692
+ // GET /tags - List owned and managed tags
693
+ edubase_get_tags: {
694
+ type: 'array',
695
+ items: {
696
+ type: 'object',
697
+ properties: {
698
+ code: {
699
+ type: 'string',
700
+ description: 'tag identification string',
701
+ },
702
+ id: {
703
+ type: 'string',
704
+ description: 'external unique tag identifier (if set for the tag)',
705
+ },
706
+ name: {
707
+ type: 'string',
708
+ description: 'title of the tag',
709
+ },
710
+ },
711
+ },
712
+ },
713
+ // GET /tag - Get/check tag
714
+ edubase_get_tag: {
715
+ type: 'object',
716
+ properties: {
717
+ tag: {
718
+ type: 'string',
719
+ description: 'tag identification string',
720
+ },
721
+ id: {
722
+ type: 'string',
723
+ description: 'external unique tag identifier (if set for the tag)',
724
+ },
725
+ name: {
726
+ type: 'string',
727
+ description: 'title of the tag',
728
+ },
729
+ color: {
730
+ type: 'string',
731
+ description: 'color in HEX format',
732
+ },
733
+ icon: {
734
+ type: 'string',
735
+ description: 'Font Awesome icon class name',
736
+ },
737
+ },
738
+ },
739
+ // GET /class:tags - List all attached tags of a class
740
+ edubase_get_class_tags: {
741
+ type: 'array',
742
+ items: {
743
+ type: 'object',
744
+ properties: {
745
+ tag: {
746
+ type: 'string',
747
+ description: 'tag identification string',
748
+ },
749
+ id: {
750
+ type: 'string',
751
+ description: 'external unique tag identifier (if set for the tag)',
752
+ },
753
+ name: {
754
+ type: 'string',
755
+ description: 'title of the tag',
756
+ },
757
+ },
758
+ },
759
+ },
760
+ // GET /class:tag - Check if tag is attached to a class
761
+ edubase_get_class_tag: {
762
+ type: 'object',
763
+ properties: {
764
+ tag: {
765
+ type: 'string',
766
+ description: 'the tag identification string',
767
+ },
768
+ content: {
769
+ type: 'object',
770
+ properties: {
771
+ type: {
772
+ type: 'string',
773
+ description: 'will be "class"',
774
+ },
775
+ code: {
776
+ type: 'string',
777
+ description: 'the class identification string',
778
+ },
779
+ id: {
780
+ type: 'string',
781
+ description: 'external unique class identifier (if set for the class)',
782
+ },
783
+ },
784
+ },
785
+ status: {
786
+ type: 'boolean',
787
+ description: 'tag is attached to this class',
788
+ },
789
+ },
790
+ },
791
+ // POST /class:tag - Attach tag to class
792
+ edubase_post_class_tag: {
793
+ type: 'object',
794
+ properties: {
795
+ tag: {
796
+ type: 'string',
797
+ description: 'the tag identification string',
798
+ },
799
+ content: {
800
+ type: 'object',
801
+ properties: {
802
+ type: {
803
+ type: 'string',
804
+ description: 'will be "class"',
805
+ },
806
+ code: {
807
+ type: 'string',
808
+ description: 'the class identification string',
809
+ },
810
+ id: {
811
+ type: 'string',
812
+ description: 'external unique class identifier (if set for the class)',
813
+ },
814
+ },
815
+ },
816
+ success: {
817
+ type: 'boolean',
818
+ description: 'operation was successful',
819
+ },
820
+ },
821
+ },
822
+ // DELETE /class:tag - Remove a tag attachment from class
823
+ edubase_delete_class_tag: {},
824
+ // GET /course:tags - List all attached tags of a course
825
+ edubase_get_course_tags: {
826
+ type: 'array',
827
+ items: {
828
+ type: 'object',
829
+ properties: {
830
+ tag: {
831
+ type: 'string',
832
+ description: 'tag identification string',
833
+ },
834
+ id: {
835
+ type: 'string',
836
+ description: 'external unique tag identifier (if set for the tag)',
837
+ },
838
+ name: {
839
+ type: 'string',
840
+ description: 'title of the tag',
841
+ },
842
+ },
843
+ },
844
+ },
845
+ // GET /course:tag - Check if tag is attached to a course
846
+ edubase_get_course_tag: {
847
+ type: 'object',
848
+ properties: {
849
+ tag: {
850
+ type: 'string',
851
+ description: 'the tag identification string',
852
+ },
853
+ content: {
854
+ type: 'object',
855
+ properties: {
856
+ type: {
857
+ type: 'string',
858
+ description: 'will be "course"',
859
+ },
860
+ code: {
861
+ type: 'string',
862
+ description: 'the course identification string',
863
+ },
864
+ id: {
865
+ type: 'string',
866
+ description: 'external unique course identifier (if set for the course)',
867
+ },
868
+ },
869
+ },
870
+ status: {
871
+ type: 'boolean',
872
+ description: 'tag is attached to this course',
873
+ },
874
+ },
875
+ },
876
+ // POST /course:tag - Attach tag to course
877
+ edubase_post_course_tag: {
878
+ type: 'object',
879
+ properties: {
880
+ tag: {
881
+ type: 'string',
882
+ description: 'the tag identification string',
883
+ },
884
+ content: {
885
+ type: 'object',
886
+ properties: {
887
+ type: {
888
+ type: 'string',
889
+ description: 'will be "course"',
890
+ },
891
+ code: {
892
+ type: 'string',
893
+ description: 'the course identification string',
894
+ },
895
+ id: {
896
+ type: 'string',
897
+ description: 'external unique course identifier (if set for the course)',
898
+ },
899
+ },
900
+ },
901
+ success: {
902
+ type: 'boolean',
903
+ description: 'operation was successful',
904
+ },
905
+ },
906
+ },
907
+ // DELETE /course:tag - Remove a tag attachment from course
908
+ edubase_delete_course_tag: {},
909
+ // GET /event:tags - List all attached tags of an event
910
+ edubase_get_event_tags: {
911
+ type: 'array',
912
+ items: {
913
+ type: 'object',
914
+ properties: {
915
+ tag: {
916
+ type: 'string',
917
+ description: 'tag identification string',
918
+ },
919
+ id: {
920
+ type: 'string',
921
+ description: 'external unique tag identifier (if set for the tag)',
922
+ },
923
+ name: {
924
+ type: 'string',
925
+ description: 'title of the tag',
926
+ },
927
+ },
928
+ },
929
+ },
930
+ // GET /event:tag - Check if tag is attached to an event
931
+ edubase_get_event_tag: {
932
+ type: 'object',
933
+ properties: {
934
+ tag: {
935
+ type: 'string',
936
+ description: 'the tag identification string',
937
+ },
938
+ content: {
939
+ type: 'object',
940
+ properties: {
941
+ type: {
942
+ type: 'string',
943
+ description: 'will be "event"',
944
+ },
945
+ code: {
946
+ type: 'string',
947
+ description: 'the event identification string',
948
+ },
949
+ id: {
950
+ type: 'string',
951
+ description: 'external unique event identifier (if set for the event)',
952
+ },
953
+ },
954
+ },
955
+ status: {
956
+ type: 'boolean',
957
+ description: 'tag is attached to this event',
958
+ },
959
+ },
960
+ },
961
+ // POST /event:tag - Attach tag to event
962
+ edubase_post_event_tag: {
963
+ type: 'object',
964
+ properties: {
965
+ tag: {
966
+ type: 'string',
967
+ description: 'the tag identification string',
968
+ },
969
+ content: {
970
+ type: 'object',
971
+ properties: {
972
+ type: {
973
+ type: 'string',
974
+ description: 'will be "event"',
975
+ },
976
+ code: {
977
+ type: 'string',
978
+ description: 'the event identification string',
979
+ },
980
+ id: {
981
+ type: 'string',
982
+ description: 'external unique event identifier (if set for the event)',
983
+ },
984
+ },
985
+ },
986
+ success: {
987
+ type: 'boolean',
988
+ description: 'operation was successful',
989
+ },
990
+ },
991
+ },
992
+ // DELETE /event:tag - Remove a tag attachment from event
993
+ edubase_delete_event_tag: {},
994
+ // GET /exam:tags - List all attached tags of an exam
995
+ edubase_get_exam_tags: {
996
+ type: 'array',
997
+ items: {
998
+ type: 'object',
999
+ properties: {
1000
+ tag: {
1001
+ type: 'string',
1002
+ description: 'tag identification string',
1003
+ },
1004
+ id: {
1005
+ type: 'string',
1006
+ description: 'external unique tag identifier (if set for the tag)',
1007
+ },
1008
+ name: {
1009
+ type: 'string',
1010
+ description: 'title of the tag',
1011
+ },
1012
+ },
1013
+ },
1014
+ },
1015
+ // GET /exam:tag - Check if tag is attached to an exam
1016
+ edubase_get_exam_tag: {
1017
+ type: 'object',
1018
+ properties: {
1019
+ tag: {
1020
+ type: 'string',
1021
+ description: 'the tag identification string',
1022
+ },
1023
+ content: {
1024
+ type: 'object',
1025
+ properties: {
1026
+ type: {
1027
+ type: 'string',
1028
+ description: 'will be "exam"',
1029
+ },
1030
+ code: {
1031
+ type: 'string',
1032
+ description: 'the exam identification string',
1033
+ },
1034
+ id: {
1035
+ type: 'string',
1036
+ description: 'external unique exam identifier (if set for the exam)',
1037
+ },
1038
+ },
1039
+ },
1040
+ status: {
1041
+ type: 'boolean',
1042
+ description: 'tag is attached to this exam',
1043
+ },
1044
+ },
1045
+ },
1046
+ // POST /exam:tag - Attach tag to exam
1047
+ edubase_post_exam_tag: {
1048
+ type: 'object',
1049
+ properties: {
1050
+ tag: {
1051
+ type: 'string',
1052
+ description: 'the tag identification string',
1053
+ },
1054
+ content: {
1055
+ type: 'object',
1056
+ properties: {
1057
+ type: {
1058
+ type: 'string',
1059
+ description: 'will be "exam"',
1060
+ },
1061
+ code: {
1062
+ type: 'string',
1063
+ description: 'the exam identification string',
1064
+ },
1065
+ id: {
1066
+ type: 'string',
1067
+ description: 'external unique exam identifier (if set for the exam)',
1068
+ },
1069
+ },
1070
+ },
1071
+ success: {
1072
+ type: 'boolean',
1073
+ description: 'operation was successful',
1074
+ },
1075
+ },
1076
+ },
1077
+ // DELETE /exam:tag - Remove a tag attachment from exam
1078
+ edubase_delete_exam_tag: {},
1079
+ // GET /integration:tags - List all attached tags of an integration
1080
+ edubase_get_integration_tags: {
1081
+ type: 'array',
1082
+ items: {
1083
+ type: 'object',
1084
+ properties: {
1085
+ tag: {
1086
+ type: 'string',
1087
+ description: 'tag identification string',
1088
+ },
1089
+ id: {
1090
+ type: 'string',
1091
+ description: 'external unique tag identifier (if set for the tag)',
1092
+ },
1093
+ name: {
1094
+ type: 'string',
1095
+ description: 'title of the tag',
1096
+ },
1097
+ },
1098
+ },
1099
+ },
1100
+ // GET /integration:tag - Check if tag is attached to an integration
1101
+ edubase_get_integration_tag: {
1102
+ type: 'object',
1103
+ properties: {
1104
+ tag: {
1105
+ type: 'string',
1106
+ description: 'the tag identification string',
1107
+ },
1108
+ content: {
1109
+ type: 'object',
1110
+ properties: {
1111
+ type: {
1112
+ type: 'string',
1113
+ description: 'will be "integration"',
1114
+ },
1115
+ code: {
1116
+ type: 'string',
1117
+ description: 'the integration identification string',
1118
+ },
1119
+ id: {
1120
+ type: 'string',
1121
+ description: 'external unique integration identifier (if set for the integration)',
1122
+ },
1123
+ },
1124
+ },
1125
+ status: {
1126
+ type: 'boolean',
1127
+ description: 'tag is attached to this integration',
1128
+ },
1129
+ },
1130
+ },
1131
+ // POST /integration:tag - Attach tag to integration
1132
+ edubase_post_integration_tag: {
1133
+ type: 'object',
1134
+ properties: {
1135
+ tag: {
1136
+ type: 'string',
1137
+ description: 'the tag identification string',
1138
+ },
1139
+ content: {
1140
+ type: 'object',
1141
+ properties: {
1142
+ type: {
1143
+ type: 'string',
1144
+ description: 'will be "integration"',
1145
+ },
1146
+ code: {
1147
+ type: 'string',
1148
+ description: 'the integration identification string',
1149
+ },
1150
+ id: {
1151
+ type: 'string',
1152
+ description: 'external unique integration identifier (if set for the integration)',
1153
+ },
1154
+ },
1155
+ },
1156
+ success: {
1157
+ type: 'boolean',
1158
+ description: 'operation was successful',
1159
+ },
1160
+ },
1161
+ },
1162
+ // DELETE /integration:tag - Remove a tag attachment from integration
1163
+ edubase_delete_integration_tag: {},
1164
+ // GET /organization:tags - List all attached tags of an organization
1165
+ edubase_get_organization_tags: {
1166
+ type: 'array',
1167
+ items: {
1168
+ type: 'object',
1169
+ properties: {
1170
+ tag: {
1171
+ type: 'string',
1172
+ description: 'tag identification string',
1173
+ },
1174
+ id: {
1175
+ type: 'string',
1176
+ description: 'external unique tag identifier (if set for the tag)',
1177
+ },
1178
+ name: {
1179
+ type: 'string',
1180
+ description: 'title of the tag',
1181
+ },
1182
+ },
1183
+ },
1184
+ },
1185
+ // GET /organization:tag - Check if tag is attached to an organization
1186
+ edubase_get_organization_tag: {
1187
+ type: 'object',
1188
+ properties: {
1189
+ tag: {
1190
+ type: 'string',
1191
+ description: 'the tag identification string',
1192
+ },
1193
+ content: {
1194
+ type: 'object',
1195
+ properties: {
1196
+ type: {
1197
+ type: 'string',
1198
+ description: 'will be "organization"',
1199
+ },
1200
+ code: {
1201
+ type: 'string',
1202
+ description: 'the organization identification string',
1203
+ },
1204
+ id: {
1205
+ type: 'string',
1206
+ description: 'external unique organization identifier (if set for the organization)',
1207
+ },
1208
+ },
1209
+ },
1210
+ status: {
1211
+ type: 'boolean',
1212
+ description: 'tag is attached to this organization',
1213
+ },
1214
+ },
1215
+ },
1216
+ // POST /organization:tag - Attach tag to organization
1217
+ edubase_post_organization_tag: {
1218
+ type: 'object',
1219
+ properties: {
1220
+ tag: {
1221
+ type: 'string',
1222
+ description: 'the tag identification string',
1223
+ },
1224
+ content: {
1225
+ type: 'object',
1226
+ properties: {
1227
+ type: {
1228
+ type: 'string',
1229
+ description: 'will be "organization"',
1230
+ },
1231
+ code: {
1232
+ type: 'string',
1233
+ description: 'the organization identification string',
1234
+ },
1235
+ id: {
1236
+ type: 'string',
1237
+ description: 'external unique organization identifier (if set for the organization)',
1238
+ },
1239
+ },
1240
+ },
1241
+ success: {
1242
+ type: 'boolean',
1243
+ description: 'operation was successful',
1244
+ },
1245
+ },
1246
+ },
1247
+ // DELETE /organization:tag - Remove a tag attachment from organization
1248
+ edubase_delete_organization_tag: {},
1249
+ // GET /quiz:tags - List all attached tags of a Quiz
1250
+ edubase_get_quiz_tags: {
1251
+ type: 'array',
1252
+ items: {
1253
+ type: 'object',
1254
+ properties: {
1255
+ tag: {
1256
+ type: 'string',
1257
+ description: 'tag identification string',
1258
+ },
1259
+ id: {
1260
+ type: 'string',
1261
+ description: 'external unique tag identifier (if set for the tag)',
1262
+ },
1263
+ name: {
1264
+ type: 'string',
1265
+ description: 'title of the tag',
1266
+ },
1267
+ },
1268
+ },
1269
+ },
1270
+ // GET /quiz:tag - Check if tag is attached to a Quiz
1271
+ edubase_get_quiz_tag: {
1272
+ type: 'object',
1273
+ properties: {
1274
+ tag: {
1275
+ type: 'string',
1276
+ description: 'the tag identification string',
1277
+ },
1278
+ content: {
1279
+ type: 'object',
1280
+ properties: {
1281
+ type: {
1282
+ type: 'string',
1283
+ description: 'will be "quiz"',
1284
+ },
1285
+ code: {
1286
+ type: 'string',
1287
+ description: 'the Quiz identification string',
1288
+ },
1289
+ id: {
1290
+ type: 'string',
1291
+ description: 'external unique Quiz identifier (if set for the Quiz)',
1292
+ },
1293
+ },
1294
+ },
1295
+ status: {
1296
+ type: 'boolean',
1297
+ description: 'tag is attached to this quiz',
1298
+ },
1299
+ },
1300
+ },
1301
+ // POST /quiz:tag - Attach tag to Quiz
1302
+ edubase_post_quiz_tag: {
1303
+ type: 'object',
1304
+ properties: {
1305
+ tag: {
1306
+ type: 'string',
1307
+ description: 'the tag identification string',
1308
+ },
1309
+ content: {
1310
+ type: 'object',
1311
+ properties: {
1312
+ type: {
1313
+ type: 'string',
1314
+ description: 'will be "quiz"',
1315
+ },
1316
+ code: {
1317
+ type: 'string',
1318
+ description: 'the Quiz identification string',
1319
+ },
1320
+ id: {
1321
+ type: 'string',
1322
+ description: 'external unique Quiz identifier (if set for the Quiz)',
1323
+ },
1324
+ },
1325
+ },
1326
+ success: {
1327
+ type: 'boolean',
1328
+ description: 'operation was successful',
1329
+ },
1330
+ },
1331
+ },
1332
+ // DELETE /quiz:tag - Remove a tag attachment from Quiz
1333
+ edubase_delete_quiz_tag: {},
1334
+ // GET /scorm:tags - List all attached tags of a SCORM learning material
1335
+ edubase_get_scorm_tags: {
1336
+ type: 'array',
1337
+ items: {
1338
+ type: 'object',
1339
+ properties: {
1340
+ tag: {
1341
+ type: 'string',
1342
+ description: 'tag identification string',
1343
+ },
1344
+ id: {
1345
+ type: 'string',
1346
+ description: 'external unique tag identifier (if set for the tag)',
1347
+ },
1348
+ name: {
1349
+ type: 'string',
1350
+ description: 'title of the tag',
1351
+ },
1352
+ },
1353
+ },
1354
+ },
1355
+ // GET /scorm:tag - Check if tag is attached to a SCORM learning material
1356
+ edubase_get_scorm_tag: {
1357
+ type: 'object',
1358
+ properties: {
1359
+ tag: {
1360
+ type: 'string',
1361
+ description: 'the tag identification string',
1362
+ },
1363
+ content: {
1364
+ type: 'object',
1365
+ properties: {
1366
+ type: {
1367
+ type: 'string',
1368
+ description: 'will be "scorm"',
1369
+ },
1370
+ code: {
1371
+ type: 'string',
1372
+ description: 'the SCORM identification string',
1373
+ },
1374
+ id: {
1375
+ type: 'string',
1376
+ description: 'external unique SCORM identifier (if set for the SCORM)',
1377
+ },
1378
+ },
1379
+ },
1380
+ status: {
1381
+ type: 'boolean',
1382
+ description: 'tag is attached to this SCORM learning material',
1383
+ },
1384
+ },
1385
+ },
1386
+ // POST /scorm:tag - Attach tag to SCORM learning material
1387
+ edubase_post_scorm_tag: {
1388
+ type: 'object',
1389
+ properties: {
1390
+ tag: {
1391
+ type: 'string',
1392
+ description: 'the tag identification string',
1393
+ },
1394
+ content: {
1395
+ type: 'object',
1396
+ properties: {
1397
+ type: {
1398
+ type: 'string',
1399
+ description: 'will be "scorm"',
1400
+ },
1401
+ code: {
1402
+ type: 'string',
1403
+ description: 'the SCORM identification string',
1404
+ },
1405
+ id: {
1406
+ type: 'string',
1407
+ description: 'external unique SCORM identifier (if set for the SCORM)',
1408
+ },
1409
+ },
1410
+ },
1411
+ success: {
1412
+ type: 'boolean',
1413
+ description: 'operation was successful',
1414
+ },
1415
+ },
1416
+ },
1417
+ // DELETE /scorm:tag - Remove a tag attachment from SCORM learning material
1418
+ edubase_delete_scorm_tag: {},
1419
+ // GET /video:tags - List all attached tags of a video
1420
+ edubase_get_video_tags: {
1421
+ type: 'array',
1422
+ items: {
1423
+ type: 'object',
1424
+ properties: {
1425
+ tag: {
1426
+ type: 'string',
1427
+ description: 'tag identification string',
1428
+ },
1429
+ id: {
1430
+ type: 'string',
1431
+ description: 'external unique tag identifier (if set for the tag)',
1432
+ },
1433
+ name: {
1434
+ type: 'string',
1435
+ description: 'title of the tag',
1436
+ },
1437
+ },
1438
+ },
1439
+ },
1440
+ // GET /video:tag - Check if tag is attached to a video
1441
+ edubase_get_video_tag: {
1442
+ type: 'object',
1443
+ properties: {
1444
+ tag: {
1445
+ type: 'string',
1446
+ description: 'the tag identification string',
1447
+ },
1448
+ content: {
1449
+ type: 'object',
1450
+ properties: {
1451
+ type: {
1452
+ type: 'string',
1453
+ description: 'will be "video"',
1454
+ },
1455
+ code: {
1456
+ type: 'string',
1457
+ description: 'the video identification string',
1458
+ },
1459
+ id: {
1460
+ type: 'string',
1461
+ description: 'external unique video identifier (if set for the video)',
1462
+ },
1463
+ },
1464
+ },
1465
+ status: {
1466
+ type: 'boolean',
1467
+ description: 'tag is attached to this video',
1468
+ },
1469
+ },
1470
+ },
1471
+ // POST /video:tag - Attach tag to video
1472
+ edubase_post_video_tag: {
1473
+ type: 'object',
1474
+ properties: {
1475
+ tag: {
1476
+ type: 'string',
1477
+ description: 'the tag identification string',
1478
+ },
1479
+ content: {
1480
+ type: 'object',
1481
+ properties: {
1482
+ type: {
1483
+ type: 'string',
1484
+ description: 'will be "video"',
1485
+ },
1486
+ code: {
1487
+ type: 'string',
1488
+ description: 'the video identification string',
1489
+ },
1490
+ id: {
1491
+ type: 'string',
1492
+ description: 'external unique video identifier (if set for the video)',
1493
+ },
1494
+ },
1495
+ },
1496
+ success: {
1497
+ type: 'boolean',
1498
+ description: 'operation was successful',
1499
+ },
1500
+ },
1501
+ },
1502
+ // DELETE /video:tag - Remove a tag attachment from video
1503
+ edubase_delete_video_tag: {},
1504
+ };