@easyedu/js-lsm-api 1.20.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/.openapi-generator/FILES +6 -1
  2. package/README.md +2 -2
  3. package/dist/apis/QuizApi.d.ts +84 -9
  4. package/dist/apis/QuizApi.js +209 -14
  5. package/dist/esm/apis/QuizApi.d.ts +84 -9
  6. package/dist/esm/apis/QuizApi.js +210 -15
  7. package/dist/esm/models/GetManualQuestionSelectionItem.d.ts +75 -0
  8. package/dist/esm/models/GetManualQuestionSelectionItem.js +72 -0
  9. package/dist/esm/models/GetManualQuestionSelectionList.d.ts +63 -0
  10. package/dist/esm/models/GetManualQuestionSelectionList.js +64 -0
  11. package/dist/esm/models/GetQuiz.d.ts +0 -14
  12. package/dist/esm/models/GetQuiz.js +0 -11
  13. package/dist/esm/models/GetQuizCriteria.d.ts +3 -3
  14. package/dist/esm/models/GetQuizCriteria.js +3 -3
  15. package/dist/esm/models/GetQuizCriteriaItem.d.ts +122 -0
  16. package/dist/esm/models/{GetQuizCriteriaCriteriaInner.js → GetQuizCriteriaItem.js} +10 -10
  17. package/dist/esm/models/GetQuizCriteriaList.d.ts +57 -0
  18. package/dist/esm/models/GetQuizCriteriaList.js +60 -0
  19. package/dist/esm/models/GetQuizCriteriaListItemsInner.d.ts +122 -0
  20. package/dist/esm/models/GetQuizCriteriaListItemsInner.js +93 -0
  21. package/dist/esm/models/GetQuizListAllOfFilters.d.ts +0 -14
  22. package/dist/esm/models/GetQuizListAllOfFilters.js +0 -9
  23. package/dist/esm/models/GetQuizListAllOfQuizzes.d.ts +0 -14
  24. package/dist/esm/models/GetQuizListAllOfQuizzes.js +0 -11
  25. package/dist/esm/models/PostContentQuiz.d.ts +0 -14
  26. package/dist/esm/models/PostContentQuiz.js +0 -11
  27. package/dist/esm/models/PostManualQuestionSelection.d.ts +50 -0
  28. package/dist/esm/models/PostManualQuestionSelection.js +49 -0
  29. package/dist/esm/models/PostQuiz.d.ts +0 -14
  30. package/dist/esm/models/PostQuiz.js +0 -11
  31. package/dist/esm/models/PostQuizCriteriaCriteriaInner.d.ts +1 -1
  32. package/dist/esm/models/PostQuizCriteriaCriteriaInner.js +3 -1
  33. package/dist/esm/models/PutQuiz.d.ts +0 -14
  34. package/dist/esm/models/PutQuiz.js +0 -9
  35. package/dist/esm/models/index.d.ts +6 -1
  36. package/dist/esm/models/index.js +6 -1
  37. package/dist/models/GetManualQuestionSelectionItem.d.ts +75 -0
  38. package/dist/models/GetManualQuestionSelectionItem.js +79 -0
  39. package/dist/models/GetManualQuestionSelectionList.d.ts +63 -0
  40. package/dist/models/GetManualQuestionSelectionList.js +71 -0
  41. package/dist/models/GetQuiz.d.ts +0 -14
  42. package/dist/models/GetQuiz.js +1 -12
  43. package/dist/models/GetQuizCriteria.d.ts +3 -3
  44. package/dist/models/GetQuizCriteria.js +3 -3
  45. package/dist/models/GetQuizCriteriaItem.d.ts +122 -0
  46. package/dist/models/{GetQuizCriteriaCriteriaInner.js → GetQuizCriteriaItem.js} +16 -16
  47. package/dist/models/GetQuizCriteriaList.d.ts +57 -0
  48. package/dist/models/GetQuizCriteriaList.js +67 -0
  49. package/dist/models/GetQuizCriteriaListItemsInner.d.ts +122 -0
  50. package/dist/models/GetQuizCriteriaListItemsInner.js +101 -0
  51. package/dist/models/GetQuizListAllOfFilters.d.ts +0 -14
  52. package/dist/models/GetQuizListAllOfFilters.js +1 -10
  53. package/dist/models/GetQuizListAllOfQuizzes.d.ts +0 -14
  54. package/dist/models/GetQuizListAllOfQuizzes.js +1 -12
  55. package/dist/models/PostContentQuiz.d.ts +0 -14
  56. package/dist/models/PostContentQuiz.js +0 -12
  57. package/dist/models/PostManualQuestionSelection.d.ts +50 -0
  58. package/dist/models/PostManualQuestionSelection.js +56 -0
  59. package/dist/models/PostQuiz.d.ts +0 -14
  60. package/dist/models/PostQuiz.js +1 -12
  61. package/dist/models/PostQuizCriteriaCriteriaInner.d.ts +1 -1
  62. package/dist/models/PostQuizCriteriaCriteriaInner.js +3 -1
  63. package/dist/models/PutQuiz.d.ts +0 -14
  64. package/dist/models/PutQuiz.js +1 -10
  65. package/dist/models/index.d.ts +6 -1
  66. package/dist/models/index.js +6 -1
  67. package/package.json +1 -1
  68. package/src/apis/QuizApi.ts +314 -16
  69. package/src/models/GetManualQuestionSelectionItem.ts +137 -0
  70. package/src/models/GetManualQuestionSelectionList.ts +119 -0
  71. package/src/models/GetQuiz.ts +0 -18
  72. package/src/models/GetQuizCriteria.ts +10 -10
  73. package/src/models/{GetQuizCriteriaCriteriaInner.ts → GetQuizCriteriaItem.ts} +29 -29
  74. package/src/models/GetQuizCriteriaList.ts +110 -0
  75. package/src/models/GetQuizCriteriaListItemsInner.ts +189 -0
  76. package/src/models/GetQuizListAllOfFilters.ts +0 -17
  77. package/src/models/GetQuizListAllOfQuizzes.ts +0 -18
  78. package/src/models/PostContentQuiz.ts +0 -20
  79. package/src/models/PostManualQuestionSelection.ts +90 -0
  80. package/src/models/PostQuiz.ts +0 -18
  81. package/src/models/PostQuizCriteriaCriteriaInner.ts +3 -2
  82. package/src/models/PutQuiz.ts +0 -17
  83. package/src/models/index.ts +6 -1
  84. package/dist/esm/models/GetQuizCriteriaCriteriaInner.d.ts +0 -122
  85. package/dist/models/GetQuizCriteriaCriteriaInner.d.ts +0 -122
@@ -15,15 +15,20 @@
15
15
 
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
+ GetManualQuestionSelectionItem,
19
+ GetManualQuestionSelectionList,
18
20
  GetQuiz,
19
21
  GetQuizAttempt,
20
22
  GetQuizAttemptAnalytics,
21
23
  GetQuizAttemptList,
22
24
  GetQuizCriteria,
25
+ GetQuizCriteriaItem,
26
+ GetQuizCriteriaList,
23
27
  GetQuizList,
24
28
  GetQuizQuestions,
25
29
  GetQuizResults,
26
30
  GetUserQuizAttempts,
31
+ PostManualQuestionSelection,
27
32
  PostQuiz,
28
33
  PostQuizAttempt,
29
34
  PostQuizAttemptSubmit,
@@ -33,6 +38,10 @@ import type {
33
38
  PutQuizAnswer,
34
39
  } from '../models/index';
35
40
  import {
41
+ GetManualQuestionSelectionItemFromJSON,
42
+ GetManualQuestionSelectionItemToJSON,
43
+ GetManualQuestionSelectionListFromJSON,
44
+ GetManualQuestionSelectionListToJSON,
36
45
  GetQuizFromJSON,
37
46
  GetQuizToJSON,
38
47
  GetQuizAttemptFromJSON,
@@ -43,6 +52,10 @@ import {
43
52
  GetQuizAttemptListToJSON,
44
53
  GetQuizCriteriaFromJSON,
45
54
  GetQuizCriteriaToJSON,
55
+ GetQuizCriteriaItemFromJSON,
56
+ GetQuizCriteriaItemToJSON,
57
+ GetQuizCriteriaListFromJSON,
58
+ GetQuizCriteriaListToJSON,
46
59
  GetQuizListFromJSON,
47
60
  GetQuizListToJSON,
48
61
  GetQuizQuestionsFromJSON,
@@ -51,6 +64,8 @@ import {
51
64
  GetQuizResultsToJSON,
52
65
  GetUserQuizAttemptsFromJSON,
53
66
  GetUserQuizAttemptsToJSON,
67
+ PostManualQuestionSelectionFromJSON,
68
+ PostManualQuestionSelectionToJSON,
54
69
  PostQuizFromJSON,
55
70
  PostQuizToJSON,
56
71
  PostQuizAttemptFromJSON,
@@ -67,11 +82,16 @@ import {
67
82
  PutQuizAnswerToJSON,
68
83
  } from '../models/index';
69
84
 
70
- export interface AddQuizCriteriaRequest {
85
+ export interface AddQuizCriteriaQuestionSelectionRequest {
71
86
  quizId: string;
72
87
  postQuizCriteria: PostQuizCriteria;
73
88
  }
74
89
 
90
+ export interface AddQuizManualQuestionSelectionRequest {
91
+ quizId: string;
92
+ postManualQuestionSelection: PostManualQuestionSelection;
93
+ }
94
+
75
95
  export interface AddQuizQuestionsRequest {
76
96
  quizId: string;
77
97
  postQuizQuestions: PostQuizQuestions;
@@ -85,6 +105,16 @@ export interface DeleteQuizRequest {
85
105
  quizId: string;
86
106
  }
87
107
 
108
+ export interface DeleteQuizCriteriaQuestionSelectionRequest {
109
+ quizId: string;
110
+ criteriaId: string;
111
+ }
112
+
113
+ export interface DeleteQuizManualQuestionSelectionRequest {
114
+ quizId: string;
115
+ questionId: string;
116
+ }
117
+
88
118
  export interface GetQuizRequest {
89
119
  quizId: string;
90
120
  }
@@ -109,8 +139,15 @@ export interface GetQuizAttemptsRequest {
109
139
  status?: GetQuizAttemptsStatusEnum;
110
140
  }
111
141
 
112
- export interface GetQuizCriteriaRequest {
142
+ export interface GetQuizCriteriaQuestionSelectionRequest {
113
143
  quizId: string;
144
+ criteriaId: string;
145
+ }
146
+
147
+ export interface GetQuizCriteriaQuestionSelectionListRequest {
148
+ quizId: string;
149
+ page?: number;
150
+ pageSize?: number;
114
151
  }
115
152
 
116
153
  export interface GetQuizListRequest {
@@ -121,6 +158,17 @@ export interface GetQuizListRequest {
121
158
  search?: string;
122
159
  }
123
160
 
161
+ export interface GetQuizManualQuestionSelectionRequest {
162
+ quizId: string;
163
+ questionId: string;
164
+ }
165
+
166
+ export interface GetQuizManualQuestionSelectionListRequest {
167
+ quizId: string;
168
+ page?: number;
169
+ pageSize?: number;
170
+ }
171
+
124
172
  export interface GetQuizQuestionsRequest {
125
173
  quizId: string;
126
174
  page?: number;
@@ -173,18 +221,18 @@ export class QuizApi extends runtime.BaseAPI {
173
221
  /**
174
222
  * Add question selection criteria
175
223
  */
176
- async addQuizCriteriaRaw(requestParameters: AddQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetQuizCriteria>> {
224
+ async addQuizCriteriaQuestionSelectionRaw(requestParameters: AddQuizCriteriaQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetQuizCriteria>> {
177
225
  if (requestParameters['quizId'] == null) {
178
226
  throw new runtime.RequiredError(
179
227
  'quizId',
180
- 'Required parameter "quizId" was null or undefined when calling addQuizCriteria().'
228
+ 'Required parameter "quizId" was null or undefined when calling addQuizCriteriaQuestionSelection().'
181
229
  );
182
230
  }
183
231
 
184
232
  if (requestParameters['postQuizCriteria'] == null) {
185
233
  throw new runtime.RequiredError(
186
234
  'postQuizCriteria',
187
- 'Required parameter "postQuizCriteria" was null or undefined when calling addQuizCriteria().'
235
+ 'Required parameter "postQuizCriteria" was null or undefined when calling addQuizCriteriaQuestionSelection().'
188
236
  );
189
237
  }
190
238
 
@@ -195,7 +243,7 @@ export class QuizApi extends runtime.BaseAPI {
195
243
  headerParameters['Content-Type'] = 'application/json';
196
244
 
197
245
  const response = await this.request({
198
- path: `/quizzes/{quizId}/criteria`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))),
246
+ path: `/quizzes/{quizId}/criteria-question-selection`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))),
199
247
  method: 'POST',
200
248
  headers: headerParameters,
201
249
  query: queryParameters,
@@ -208,8 +256,51 @@ export class QuizApi extends runtime.BaseAPI {
208
256
  /**
209
257
  * Add question selection criteria
210
258
  */
211
- async addQuizCriteria(requestParameters: AddQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetQuizCriteria> {
212
- const response = await this.addQuizCriteriaRaw(requestParameters, initOverrides);
259
+ async addQuizCriteriaQuestionSelection(requestParameters: AddQuizCriteriaQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetQuizCriteria> {
260
+ const response = await this.addQuizCriteriaQuestionSelectionRaw(requestParameters, initOverrides);
261
+ return await response.value();
262
+ }
263
+
264
+ /**
265
+ * Add questions to quiz manually
266
+ */
267
+ async addQuizManualQuestionSelectionRaw(requestParameters: AddQuizManualQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetManualQuestionSelectionItem>> {
268
+ if (requestParameters['quizId'] == null) {
269
+ throw new runtime.RequiredError(
270
+ 'quizId',
271
+ 'Required parameter "quizId" was null or undefined when calling addQuizManualQuestionSelection().'
272
+ );
273
+ }
274
+
275
+ if (requestParameters['postManualQuestionSelection'] == null) {
276
+ throw new runtime.RequiredError(
277
+ 'postManualQuestionSelection',
278
+ 'Required parameter "postManualQuestionSelection" was null or undefined when calling addQuizManualQuestionSelection().'
279
+ );
280
+ }
281
+
282
+ const queryParameters: any = {};
283
+
284
+ const headerParameters: runtime.HTTPHeaders = {};
285
+
286
+ headerParameters['Content-Type'] = 'application/json';
287
+
288
+ const response = await this.request({
289
+ path: `/quizzes/{quizId}/manual-question-selection`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))),
290
+ method: 'POST',
291
+ headers: headerParameters,
292
+ query: queryParameters,
293
+ body: PostManualQuestionSelectionToJSON(requestParameters['postManualQuestionSelection']),
294
+ }, initOverrides);
295
+
296
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetManualQuestionSelectionItemFromJSON(jsonValue));
297
+ }
298
+
299
+ /**
300
+ * Add questions to quiz manually
301
+ */
302
+ async addQuizManualQuestionSelection(requestParameters: AddQuizManualQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetManualQuestionSelectionItem> {
303
+ const response = await this.addQuizManualQuestionSelectionRaw(requestParameters, initOverrides);
213
304
  return await response.value();
214
305
  }
215
306
 
@@ -324,6 +415,84 @@ export class QuizApi extends runtime.BaseAPI {
324
415
  await this.deleteQuizRaw(requestParameters, initOverrides);
325
416
  }
326
417
 
418
+ /**
419
+ * Delete question selection criteria
420
+ */
421
+ async deleteQuizCriteriaQuestionSelectionRaw(requestParameters: DeleteQuizCriteriaQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
422
+ if (requestParameters['quizId'] == null) {
423
+ throw new runtime.RequiredError(
424
+ 'quizId',
425
+ 'Required parameter "quizId" was null or undefined when calling deleteQuizCriteriaQuestionSelection().'
426
+ );
427
+ }
428
+
429
+ if (requestParameters['criteriaId'] == null) {
430
+ throw new runtime.RequiredError(
431
+ 'criteriaId',
432
+ 'Required parameter "criteriaId" was null or undefined when calling deleteQuizCriteriaQuestionSelection().'
433
+ );
434
+ }
435
+
436
+ const queryParameters: any = {};
437
+
438
+ const headerParameters: runtime.HTTPHeaders = {};
439
+
440
+ const response = await this.request({
441
+ path: `/quizzes/{quizId}/criteria-question-selection/{criteriaId}`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))).replace(`{${"criteriaId"}}`, encodeURIComponent(String(requestParameters['criteriaId']))),
442
+ method: 'DELETE',
443
+ headers: headerParameters,
444
+ query: queryParameters,
445
+ }, initOverrides);
446
+
447
+ return new runtime.VoidApiResponse(response);
448
+ }
449
+
450
+ /**
451
+ * Delete question selection criteria
452
+ */
453
+ async deleteQuizCriteriaQuestionSelection(requestParameters: DeleteQuizCriteriaQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
454
+ await this.deleteQuizCriteriaQuestionSelectionRaw(requestParameters, initOverrides);
455
+ }
456
+
457
+ /**
458
+ * Remove manually selected question from quiz
459
+ */
460
+ async deleteQuizManualQuestionSelectionRaw(requestParameters: DeleteQuizManualQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
461
+ if (requestParameters['quizId'] == null) {
462
+ throw new runtime.RequiredError(
463
+ 'quizId',
464
+ 'Required parameter "quizId" was null or undefined when calling deleteQuizManualQuestionSelection().'
465
+ );
466
+ }
467
+
468
+ if (requestParameters['questionId'] == null) {
469
+ throw new runtime.RequiredError(
470
+ 'questionId',
471
+ 'Required parameter "questionId" was null or undefined when calling deleteQuizManualQuestionSelection().'
472
+ );
473
+ }
474
+
475
+ const queryParameters: any = {};
476
+
477
+ const headerParameters: runtime.HTTPHeaders = {};
478
+
479
+ const response = await this.request({
480
+ path: `/quizzes/{quizId}/manual-question-selection/{questionId}`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))).replace(`{${"questionId"}}`, encodeURIComponent(String(requestParameters['questionId']))),
481
+ method: 'DELETE',
482
+ headers: headerParameters,
483
+ query: queryParameters,
484
+ }, initOverrides);
485
+
486
+ return new runtime.VoidApiResponse(response);
487
+ }
488
+
489
+ /**
490
+ * Remove manually selected question from quiz
491
+ */
492
+ async deleteQuizManualQuestionSelection(requestParameters: DeleteQuizManualQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
493
+ await this.deleteQuizManualQuestionSelectionRaw(requestParameters, initOverrides);
494
+ }
495
+
327
496
  /**
328
497
  * Get quiz configuration by ID
329
498
  */
@@ -506,13 +675,20 @@ export class QuizApi extends runtime.BaseAPI {
506
675
  }
507
676
 
508
677
  /**
509
- * Get quiz question selection criteria
678
+ * Get single question selection criteria
510
679
  */
511
- async getQuizCriteriaRaw(requestParameters: GetQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetQuizCriteria>> {
680
+ async getQuizCriteriaQuestionSelectionRaw(requestParameters: GetQuizCriteriaQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetQuizCriteriaItem>> {
512
681
  if (requestParameters['quizId'] == null) {
513
682
  throw new runtime.RequiredError(
514
683
  'quizId',
515
- 'Required parameter "quizId" was null or undefined when calling getQuizCriteria().'
684
+ 'Required parameter "quizId" was null or undefined when calling getQuizCriteriaQuestionSelection().'
685
+ );
686
+ }
687
+
688
+ if (requestParameters['criteriaId'] == null) {
689
+ throw new runtime.RequiredError(
690
+ 'criteriaId',
691
+ 'Required parameter "criteriaId" was null or undefined when calling getQuizCriteriaQuestionSelection().'
516
692
  );
517
693
  }
518
694
 
@@ -521,20 +697,61 @@ export class QuizApi extends runtime.BaseAPI {
521
697
  const headerParameters: runtime.HTTPHeaders = {};
522
698
 
523
699
  const response = await this.request({
524
- path: `/quizzes/{quizId}/criteria`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))),
700
+ path: `/quizzes/{quizId}/criteria-question-selection/{criteriaId}`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))).replace(`{${"criteriaId"}}`, encodeURIComponent(String(requestParameters['criteriaId']))),
525
701
  method: 'GET',
526
702
  headers: headerParameters,
527
703
  query: queryParameters,
528
704
  }, initOverrides);
529
705
 
530
- return new runtime.JSONApiResponse(response, (jsonValue) => GetQuizCriteriaFromJSON(jsonValue));
706
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetQuizCriteriaItemFromJSON(jsonValue));
707
+ }
708
+
709
+ /**
710
+ * Get single question selection criteria
711
+ */
712
+ async getQuizCriteriaQuestionSelection(requestParameters: GetQuizCriteriaQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetQuizCriteriaItem> {
713
+ const response = await this.getQuizCriteriaQuestionSelectionRaw(requestParameters, initOverrides);
714
+ return await response.value();
715
+ }
716
+
717
+ /**
718
+ * Get quiz question selection criteria list
719
+ */
720
+ async getQuizCriteriaQuestionSelectionListRaw(requestParameters: GetQuizCriteriaQuestionSelectionListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetQuizCriteriaList>> {
721
+ if (requestParameters['quizId'] == null) {
722
+ throw new runtime.RequiredError(
723
+ 'quizId',
724
+ 'Required parameter "quizId" was null or undefined when calling getQuizCriteriaQuestionSelectionList().'
725
+ );
726
+ }
727
+
728
+ const queryParameters: any = {};
729
+
730
+ if (requestParameters['page'] != null) {
731
+ queryParameters['page'] = requestParameters['page'];
732
+ }
733
+
734
+ if (requestParameters['pageSize'] != null) {
735
+ queryParameters['page_size'] = requestParameters['pageSize'];
736
+ }
737
+
738
+ const headerParameters: runtime.HTTPHeaders = {};
739
+
740
+ const response = await this.request({
741
+ path: `/quizzes/{quizId}/criteria-question-selection`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))),
742
+ method: 'GET',
743
+ headers: headerParameters,
744
+ query: queryParameters,
745
+ }, initOverrides);
746
+
747
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetQuizCriteriaListFromJSON(jsonValue));
531
748
  }
532
749
 
533
750
  /**
534
- * Get quiz question selection criteria
751
+ * Get quiz question selection criteria list
535
752
  */
536
- async getQuizCriteria(requestParameters: GetQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetQuizCriteria> {
537
- const response = await this.getQuizCriteriaRaw(requestParameters, initOverrides);
753
+ async getQuizCriteriaQuestionSelectionList(requestParameters: GetQuizCriteriaQuestionSelectionListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetQuizCriteriaList> {
754
+ const response = await this.getQuizCriteriaQuestionSelectionListRaw(requestParameters, initOverrides);
538
755
  return await response.value();
539
756
  }
540
757
 
@@ -584,6 +801,87 @@ export class QuizApi extends runtime.BaseAPI {
584
801
  return await response.value();
585
802
  }
586
803
 
804
+ /**
805
+ * Get single manually selected question
806
+ */
807
+ async getQuizManualQuestionSelectionRaw(requestParameters: GetQuizManualQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetManualQuestionSelectionItem>> {
808
+ if (requestParameters['quizId'] == null) {
809
+ throw new runtime.RequiredError(
810
+ 'quizId',
811
+ 'Required parameter "quizId" was null or undefined when calling getQuizManualQuestionSelection().'
812
+ );
813
+ }
814
+
815
+ if (requestParameters['questionId'] == null) {
816
+ throw new runtime.RequiredError(
817
+ 'questionId',
818
+ 'Required parameter "questionId" was null or undefined when calling getQuizManualQuestionSelection().'
819
+ );
820
+ }
821
+
822
+ const queryParameters: any = {};
823
+
824
+ const headerParameters: runtime.HTTPHeaders = {};
825
+
826
+ const response = await this.request({
827
+ path: `/quizzes/{quizId}/manual-question-selection/{questionId}`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))).replace(`{${"questionId"}}`, encodeURIComponent(String(requestParameters['questionId']))),
828
+ method: 'GET',
829
+ headers: headerParameters,
830
+ query: queryParameters,
831
+ }, initOverrides);
832
+
833
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetManualQuestionSelectionItemFromJSON(jsonValue));
834
+ }
835
+
836
+ /**
837
+ * Get single manually selected question
838
+ */
839
+ async getQuizManualQuestionSelection(requestParameters: GetQuizManualQuestionSelectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetManualQuestionSelectionItem> {
840
+ const response = await this.getQuizManualQuestionSelectionRaw(requestParameters, initOverrides);
841
+ return await response.value();
842
+ }
843
+
844
+ /**
845
+ * Get manually selected questions for quiz
846
+ */
847
+ async getQuizManualQuestionSelectionListRaw(requestParameters: GetQuizManualQuestionSelectionListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetManualQuestionSelectionList>> {
848
+ if (requestParameters['quizId'] == null) {
849
+ throw new runtime.RequiredError(
850
+ 'quizId',
851
+ 'Required parameter "quizId" was null or undefined when calling getQuizManualQuestionSelectionList().'
852
+ );
853
+ }
854
+
855
+ const queryParameters: any = {};
856
+
857
+ if (requestParameters['page'] != null) {
858
+ queryParameters['page'] = requestParameters['page'];
859
+ }
860
+
861
+ if (requestParameters['pageSize'] != null) {
862
+ queryParameters['page_size'] = requestParameters['pageSize'];
863
+ }
864
+
865
+ const headerParameters: runtime.HTTPHeaders = {};
866
+
867
+ const response = await this.request({
868
+ path: `/quizzes/{quizId}/manual-question-selection`.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId']))),
869
+ method: 'GET',
870
+ headers: headerParameters,
871
+ query: queryParameters,
872
+ }, initOverrides);
873
+
874
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetManualQuestionSelectionListFromJSON(jsonValue));
875
+ }
876
+
877
+ /**
878
+ * Get manually selected questions for quiz
879
+ */
880
+ async getQuizManualQuestionSelectionList(requestParameters: GetQuizManualQuestionSelectionListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetManualQuestionSelectionList> {
881
+ const response = await this.getQuizManualQuestionSelectionListRaw(requestParameters, initOverrides);
882
+ return await response.value();
883
+ }
884
+
587
885
  /**
588
886
  * Get quiz questions (paginated)
589
887
  */
@@ -0,0 +1,137 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { GetQuizQuestionsItemsInnerQuestionDetails } from './GetQuizQuestionsItemsInnerQuestionDetails';
17
+ import {
18
+ GetQuizQuestionsItemsInnerQuestionDetailsFromJSON,
19
+ GetQuizQuestionsItemsInnerQuestionDetailsFromJSONTyped,
20
+ GetQuizQuestionsItemsInnerQuestionDetailsToJSON,
21
+ GetQuizQuestionsItemsInnerQuestionDetailsToJSONTyped,
22
+ } from './GetQuizQuestionsItemsInnerQuestionDetails';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetManualQuestionSelectionItem
28
+ */
29
+ export interface GetManualQuestionSelectionItem {
30
+ /**
31
+ * Quiz-question relationship ID
32
+ * @type {string}
33
+ * @memberof GetManualQuestionSelectionItem
34
+ */
35
+ id: string;
36
+ /**
37
+ * ID of the question
38
+ * @type {string}
39
+ * @memberof GetManualQuestionSelectionItem
40
+ */
41
+ questionId: string;
42
+ /**
43
+ * External ID of the question
44
+ * @type {string}
45
+ * @memberof GetManualQuestionSelectionItem
46
+ */
47
+ questionExternalId: string;
48
+ /**
49
+ * Order of question in quiz
50
+ * @type {number}
51
+ * @memberof GetManualQuestionSelectionItem
52
+ */
53
+ questionOrder: number;
54
+ /**
55
+ * Points assigned to this question
56
+ * @type {number}
57
+ * @memberof GetManualQuestionSelectionItem
58
+ */
59
+ points: number;
60
+ /**
61
+ * Whether question is locked to specific version
62
+ * @type {boolean}
63
+ * @memberof GetManualQuestionSelectionItem
64
+ */
65
+ versionLocked: boolean;
66
+ /**
67
+ *
68
+ * @type {GetQuizQuestionsItemsInnerQuestionDetails}
69
+ * @memberof GetManualQuestionSelectionItem
70
+ */
71
+ questionDetails: GetQuizQuestionsItemsInnerQuestionDetails;
72
+ /**
73
+ * When question was added to quiz
74
+ * @type {Date}
75
+ * @memberof GetManualQuestionSelectionItem
76
+ */
77
+ createdAt: Date;
78
+ }
79
+
80
+ /**
81
+ * Check if a given object implements the GetManualQuestionSelectionItem interface.
82
+ */
83
+ export function instanceOfGetManualQuestionSelectionItem(value: object): value is GetManualQuestionSelectionItem {
84
+ if (!('id' in value) || value['id'] === undefined) return false;
85
+ if (!('questionId' in value) || value['questionId'] === undefined) return false;
86
+ if (!('questionExternalId' in value) || value['questionExternalId'] === undefined) return false;
87
+ if (!('questionOrder' in value) || value['questionOrder'] === undefined) return false;
88
+ if (!('points' in value) || value['points'] === undefined) return false;
89
+ if (!('versionLocked' in value) || value['versionLocked'] === undefined) return false;
90
+ if (!('questionDetails' in value) || value['questionDetails'] === undefined) return false;
91
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
92
+ return true;
93
+ }
94
+
95
+ export function GetManualQuestionSelectionItemFromJSON(json: any): GetManualQuestionSelectionItem {
96
+ return GetManualQuestionSelectionItemFromJSONTyped(json, false);
97
+ }
98
+
99
+ export function GetManualQuestionSelectionItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetManualQuestionSelectionItem {
100
+ if (json == null) {
101
+ return json;
102
+ }
103
+ return {
104
+
105
+ 'id': json['id'],
106
+ 'questionId': json['question_id'],
107
+ 'questionExternalId': json['question_external_id'],
108
+ 'questionOrder': json['question_order'],
109
+ 'points': json['points'],
110
+ 'versionLocked': json['version_locked'],
111
+ 'questionDetails': GetQuizQuestionsItemsInnerQuestionDetailsFromJSON(json['question_details']),
112
+ 'createdAt': (new Date(json['created_at'])),
113
+ };
114
+ }
115
+
116
+ export function GetManualQuestionSelectionItemToJSON(json: any): GetManualQuestionSelectionItem {
117
+ return GetManualQuestionSelectionItemToJSONTyped(json, false);
118
+ }
119
+
120
+ export function GetManualQuestionSelectionItemToJSONTyped(value?: GetManualQuestionSelectionItem | null, ignoreDiscriminator: boolean = false): any {
121
+ if (value == null) {
122
+ return value;
123
+ }
124
+
125
+ return {
126
+
127
+ 'id': value['id'],
128
+ 'question_id': value['questionId'],
129
+ 'question_external_id': value['questionExternalId'],
130
+ 'question_order': value['questionOrder'],
131
+ 'points': value['points'],
132
+ 'version_locked': value['versionLocked'],
133
+ 'question_details': GetQuizQuestionsItemsInnerQuestionDetailsToJSON(value['questionDetails']),
134
+ 'created_at': ((value['createdAt']).toISOString()),
135
+ };
136
+ }
137
+