@easyedu/js-lsm-api 1.91.0 → 1.93.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 (181) hide show
  1. package/.openapi-generator/FILES +50 -0
  2. package/README.md +52 -2
  3. package/dist/apis/ContentLibraryQuizApi.d.ts +451 -0
  4. package/dist/apis/ContentLibraryQuizApi.js +1162 -0
  5. package/dist/apis/PlayerApi.d.ts +15 -0
  6. package/dist/apis/PlayerApi.js +44 -0
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/esm/apis/ContentLibraryQuizApi.d.ts +451 -0
  10. package/dist/esm/apis/ContentLibraryQuizApi.js +1158 -0
  11. package/dist/esm/apis/PlayerApi.d.ts +15 -0
  12. package/dist/esm/apis/PlayerApi.js +44 -0
  13. package/dist/esm/apis/index.d.ts +1 -0
  14. package/dist/esm/apis/index.js +1 -0
  15. package/dist/esm/models/GetCourseVersionItem.d.ts +14 -0
  16. package/dist/esm/models/GetCourseVersionItem.js +9 -0
  17. package/dist/esm/models/GetLibraryQuiz.d.ts +124 -0
  18. package/dist/esm/models/GetLibraryQuiz.js +100 -0
  19. package/dist/esm/models/GetLibraryQuizAnalytics.d.ts +68 -0
  20. package/dist/esm/models/GetLibraryQuizAnalytics.js +67 -0
  21. package/dist/esm/models/GetLibraryQuizList.d.ts +57 -0
  22. package/dist/esm/models/GetLibraryQuizList.js +60 -0
  23. package/dist/esm/models/GetLibraryQuizResult.d.ts +94 -0
  24. package/dist/esm/models/GetLibraryQuizResult.js +79 -0
  25. package/dist/esm/models/GetLibraryQuizSession.d.ts +177 -0
  26. package/dist/esm/models/GetLibraryQuizSession.js +129 -0
  27. package/dist/esm/models/GetLibraryQuizSessionList.d.ts +57 -0
  28. package/dist/esm/models/GetLibraryQuizSessionList.js +60 -0
  29. package/dist/esm/models/GetLibraryQuizUsage.d.ts +56 -0
  30. package/dist/esm/models/GetLibraryQuizUsage.js +59 -0
  31. package/dist/esm/models/GetLibraryQuizVersion.d.ts +170 -0
  32. package/dist/esm/models/GetLibraryQuizVersion.js +125 -0
  33. package/dist/esm/models/GetQuestion.d.ts +7 -1
  34. package/dist/esm/models/GetQuestion.js +3 -0
  35. package/dist/esm/models/LibraryQuizCriterion.d.ts +95 -0
  36. package/dist/esm/models/LibraryQuizCriterion.js +76 -0
  37. package/dist/esm/models/LibraryQuizQuestion.d.ts +113 -0
  38. package/dist/esm/models/LibraryQuizQuestion.js +93 -0
  39. package/dist/esm/models/LibraryQuizQuestionInput.d.ts +50 -0
  40. package/dist/esm/models/LibraryQuizQuestionInput.js +51 -0
  41. package/dist/esm/models/LibraryQuizSessionAnswerChoice.d.ts +51 -0
  42. package/dist/esm/models/LibraryQuizSessionAnswerChoice.js +54 -0
  43. package/dist/esm/models/LibraryQuizSessionQuestion.d.ts +96 -0
  44. package/dist/esm/models/LibraryQuizSessionQuestion.js +84 -0
  45. package/dist/esm/models/PostCourseLibraryQuizSession.d.ts +32 -0
  46. package/dist/esm/models/PostCourseLibraryQuizSession.js +41 -0
  47. package/dist/esm/models/PostLibraryQuiz.d.ts +107 -0
  48. package/dist/esm/models/PostLibraryQuiz.js +70 -0
  49. package/dist/esm/models/PostLibraryQuizSession.d.ts +32 -0
  50. package/dist/esm/models/PostLibraryQuizSession.js +41 -0
  51. package/dist/esm/models/PostLibraryQuizVersion.d.ts +32 -0
  52. package/dist/esm/models/PostLibraryQuizVersion.js +41 -0
  53. package/dist/esm/models/PutLibraryQuiz.d.ts +38 -0
  54. package/dist/esm/models/PutLibraryQuiz.js +43 -0
  55. package/dist/esm/models/PutLibraryQuizCriteria.d.ts +33 -0
  56. package/dist/esm/models/PutLibraryQuizCriteria.js +44 -0
  57. package/dist/esm/models/PutLibraryQuizQuestions.d.ts +33 -0
  58. package/dist/esm/models/PutLibraryQuizQuestions.js +44 -0
  59. package/dist/esm/models/PutLibraryQuizSessionAnswer.d.ts +40 -0
  60. package/dist/esm/models/PutLibraryQuizSessionAnswer.js +45 -0
  61. package/dist/esm/models/PutLibraryQuizSessionGrade.d.ts +38 -0
  62. package/dist/esm/models/PutLibraryQuizSessionGrade.js +45 -0
  63. package/dist/esm/models/PutLibraryQuizVersion.d.ts +101 -0
  64. package/dist/esm/models/PutLibraryQuizVersion.js +64 -0
  65. package/dist/esm/models/QuestionSelectionMethod.d.ts +25 -0
  66. package/dist/esm/models/QuestionSelectionMethod.js +43 -0
  67. package/dist/esm/models/index.d.ts +24 -0
  68. package/dist/esm/models/index.js +24 -0
  69. package/dist/models/GetCourseVersionItem.d.ts +14 -0
  70. package/dist/models/GetCourseVersionItem.js +10 -1
  71. package/dist/models/GetLibraryQuiz.d.ts +124 -0
  72. package/dist/models/GetLibraryQuiz.js +108 -0
  73. package/dist/models/GetLibraryQuizAnalytics.d.ts +68 -0
  74. package/dist/models/GetLibraryQuizAnalytics.js +74 -0
  75. package/dist/models/GetLibraryQuizList.d.ts +57 -0
  76. package/dist/models/GetLibraryQuizList.js +67 -0
  77. package/dist/models/GetLibraryQuizResult.d.ts +94 -0
  78. package/dist/models/GetLibraryQuizResult.js +86 -0
  79. package/dist/models/GetLibraryQuizSession.d.ts +177 -0
  80. package/dist/models/GetLibraryQuizSession.js +137 -0
  81. package/dist/models/GetLibraryQuizSessionList.d.ts +57 -0
  82. package/dist/models/GetLibraryQuizSessionList.js +67 -0
  83. package/dist/models/GetLibraryQuizUsage.d.ts +56 -0
  84. package/dist/models/GetLibraryQuizUsage.js +66 -0
  85. package/dist/models/GetLibraryQuizVersion.d.ts +170 -0
  86. package/dist/models/GetLibraryQuizVersion.js +132 -0
  87. package/dist/models/GetQuestion.d.ts +7 -1
  88. package/dist/models/GetQuestion.js +3 -0
  89. package/dist/models/LibraryQuizCriterion.d.ts +95 -0
  90. package/dist/models/LibraryQuizCriterion.js +84 -0
  91. package/dist/models/LibraryQuizQuestion.d.ts +113 -0
  92. package/dist/models/LibraryQuizQuestion.js +101 -0
  93. package/dist/models/LibraryQuizQuestionInput.d.ts +50 -0
  94. package/dist/models/LibraryQuizQuestionInput.js +58 -0
  95. package/dist/models/LibraryQuizSessionAnswerChoice.d.ts +51 -0
  96. package/dist/models/LibraryQuizSessionAnswerChoice.js +61 -0
  97. package/dist/models/LibraryQuizSessionQuestion.d.ts +96 -0
  98. package/dist/models/LibraryQuizSessionQuestion.js +92 -0
  99. package/dist/models/PostCourseLibraryQuizSession.d.ts +32 -0
  100. package/dist/models/PostCourseLibraryQuizSession.js +48 -0
  101. package/dist/models/PostLibraryQuiz.d.ts +107 -0
  102. package/dist/models/PostLibraryQuiz.js +77 -0
  103. package/dist/models/PostLibraryQuizSession.d.ts +32 -0
  104. package/dist/models/PostLibraryQuizSession.js +48 -0
  105. package/dist/models/PostLibraryQuizVersion.d.ts +32 -0
  106. package/dist/models/PostLibraryQuizVersion.js +48 -0
  107. package/dist/models/PutLibraryQuiz.d.ts +38 -0
  108. package/dist/models/PutLibraryQuiz.js +50 -0
  109. package/dist/models/PutLibraryQuizCriteria.d.ts +33 -0
  110. package/dist/models/PutLibraryQuizCriteria.js +51 -0
  111. package/dist/models/PutLibraryQuizQuestions.d.ts +33 -0
  112. package/dist/models/PutLibraryQuizQuestions.js +51 -0
  113. package/dist/models/PutLibraryQuizSessionAnswer.d.ts +40 -0
  114. package/dist/models/PutLibraryQuizSessionAnswer.js +52 -0
  115. package/dist/models/PutLibraryQuizSessionGrade.d.ts +38 -0
  116. package/dist/models/PutLibraryQuizSessionGrade.js +52 -0
  117. package/dist/models/PutLibraryQuizVersion.d.ts +101 -0
  118. package/dist/models/PutLibraryQuizVersion.js +71 -0
  119. package/dist/models/QuestionSelectionMethod.d.ts +25 -0
  120. package/dist/models/QuestionSelectionMethod.js +51 -0
  121. package/dist/models/index.d.ts +24 -0
  122. package/dist/models/index.js +24 -0
  123. package/docs/ContentLibraryQuizApi.md +1780 -0
  124. package/docs/GetCourseVersionItem.md +2 -0
  125. package/docs/GetLibraryQuiz.md +62 -0
  126. package/docs/GetLibraryQuizAnalytics.md +46 -0
  127. package/docs/GetLibraryQuizList.md +42 -0
  128. package/docs/GetLibraryQuizResult.md +54 -0
  129. package/docs/GetLibraryQuizSession.md +78 -0
  130. package/docs/GetLibraryQuizSessionList.md +42 -0
  131. package/docs/GetLibraryQuizUsage.md +42 -0
  132. package/docs/GetLibraryQuizVersion.md +78 -0
  133. package/docs/GetQuestion.md +2 -0
  134. package/docs/LibraryQuizCriterion.md +48 -0
  135. package/docs/LibraryQuizQuestion.md +56 -0
  136. package/docs/LibraryQuizQuestionInput.md +40 -0
  137. package/docs/LibraryQuizSessionAnswerChoice.md +40 -0
  138. package/docs/LibraryQuizSessionQuestion.md +50 -0
  139. package/docs/PlayerApi.md +66 -0
  140. package/docs/PostCourseLibraryQuizSession.md +34 -0
  141. package/docs/PostLibraryQuiz.md +58 -0
  142. package/docs/PostLibraryQuizSession.md +34 -0
  143. package/docs/PostLibraryQuizVersion.md +34 -0
  144. package/docs/PutLibraryQuiz.md +36 -0
  145. package/docs/PutLibraryQuizCriteria.md +34 -0
  146. package/docs/PutLibraryQuizQuestions.md +34 -0
  147. package/docs/PutLibraryQuizSessionAnswer.md +36 -0
  148. package/docs/PutLibraryQuizSessionGrade.md +36 -0
  149. package/docs/PutLibraryQuizVersion.md +56 -0
  150. package/docs/QuestionSelectionMethod.md +32 -0
  151. package/package.json +1 -1
  152. package/src/apis/ContentLibraryQuizApi.ts +1624 -0
  153. package/src/apis/PlayerApi.ts +53 -0
  154. package/src/apis/index.ts +1 -0
  155. package/src/models/GetCourseVersionItem.ts +17 -0
  156. package/src/models/GetLibraryQuiz.ts +207 -0
  157. package/src/models/GetLibraryQuizAnalytics.ts +120 -0
  158. package/src/models/GetLibraryQuizList.ts +110 -0
  159. package/src/models/GetLibraryQuizResult.ts +154 -0
  160. package/src/models/GetLibraryQuizSession.ts +286 -0
  161. package/src/models/GetLibraryQuizSessionList.ts +110 -0
  162. package/src/models/GetLibraryQuizUsage.ts +102 -0
  163. package/src/models/GetLibraryQuizVersion.ts +290 -0
  164. package/src/models/GetQuestion.ts +9 -1
  165. package/src/models/LibraryQuizCriterion.ts +147 -0
  166. package/src/models/LibraryQuizQuestion.ts +185 -0
  167. package/src/models/LibraryQuizQuestionInput.ts +91 -0
  168. package/src/models/LibraryQuizSessionAnswerChoice.ts +100 -0
  169. package/src/models/LibraryQuizSessionQuestion.ts +166 -0
  170. package/src/models/PostCourseLibraryQuizSession.ts +65 -0
  171. package/src/models/PostLibraryQuiz.ts +173 -0
  172. package/src/models/PostLibraryQuizSession.ts +65 -0
  173. package/src/models/PostLibraryQuizVersion.ts +65 -0
  174. package/src/models/PutLibraryQuiz.ts +73 -0
  175. package/src/models/PutLibraryQuizCriteria.ts +74 -0
  176. package/src/models/PutLibraryQuizQuestions.ts +74 -0
  177. package/src/models/PutLibraryQuizSessionAnswer.ts +74 -0
  178. package/src/models/PutLibraryQuizSessionGrade.ts +74 -0
  179. package/src/models/PutLibraryQuizVersion.ts +163 -0
  180. package/src/models/QuestionSelectionMethod.ts +53 -0
  181. package/src/models/index.ts +24 -0
@@ -0,0 +1,290 @@
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 { LibraryQuizCriterion } from './LibraryQuizCriterion';
17
+ import {
18
+ LibraryQuizCriterionFromJSON,
19
+ LibraryQuizCriterionFromJSONTyped,
20
+ LibraryQuizCriterionToJSON,
21
+ LibraryQuizCriterionToJSONTyped,
22
+ } from './LibraryQuizCriterion';
23
+ import type { ContentLibraryVersionStatus } from './ContentLibraryVersionStatus';
24
+ import {
25
+ ContentLibraryVersionStatusFromJSON,
26
+ ContentLibraryVersionStatusFromJSONTyped,
27
+ ContentLibraryVersionStatusToJSON,
28
+ ContentLibraryVersionStatusToJSONTyped,
29
+ } from './ContentLibraryVersionStatus';
30
+ import type { QuestionSelectionMethod } from './QuestionSelectionMethod';
31
+ import {
32
+ QuestionSelectionMethodFromJSON,
33
+ QuestionSelectionMethodFromJSONTyped,
34
+ QuestionSelectionMethodToJSON,
35
+ QuestionSelectionMethodToJSONTyped,
36
+ } from './QuestionSelectionMethod';
37
+ import type { LibraryQuizQuestion } from './LibraryQuizQuestion';
38
+ import {
39
+ LibraryQuizQuestionFromJSON,
40
+ LibraryQuizQuestionFromJSONTyped,
41
+ LibraryQuizQuestionToJSON,
42
+ LibraryQuizQuestionToJSONTyped,
43
+ } from './LibraryQuizQuestion';
44
+
45
+ /**
46
+ *
47
+ * @export
48
+ * @interface GetLibraryQuizVersion
49
+ */
50
+ export interface GetLibraryQuizVersion {
51
+ /**
52
+ *
53
+ * @type {string}
54
+ * @memberof GetLibraryQuizVersion
55
+ */
56
+ id: string;
57
+ /**
58
+ *
59
+ * @type {number}
60
+ * @memberof GetLibraryQuizVersion
61
+ */
62
+ versionNumber: number;
63
+ /**
64
+ *
65
+ * @type {ContentLibraryVersionStatus}
66
+ * @memberof GetLibraryQuizVersion
67
+ */
68
+ status: ContentLibraryVersionStatus;
69
+ /**
70
+ *
71
+ * @type {string}
72
+ * @memberof GetLibraryQuizVersion
73
+ */
74
+ changeNotes?: string | null;
75
+ /**
76
+ *
77
+ * @type {QuestionSelectionMethod}
78
+ * @memberof GetLibraryQuizVersion
79
+ */
80
+ questionSelectionMethod: QuestionSelectionMethod;
81
+ /**
82
+ *
83
+ * @type {number}
84
+ * @memberof GetLibraryQuizVersion
85
+ */
86
+ maxQuestions?: number | null;
87
+ /**
88
+ *
89
+ * @type {number}
90
+ * @memberof GetLibraryQuizVersion
91
+ */
92
+ passingScore: number;
93
+ /**
94
+ *
95
+ * @type {number}
96
+ * @memberof GetLibraryQuizVersion
97
+ */
98
+ timeLimitMinutes?: number | null;
99
+ /**
100
+ *
101
+ * @type {boolean}
102
+ * @memberof GetLibraryQuizVersion
103
+ */
104
+ randomizeQuestions: boolean;
105
+ /**
106
+ *
107
+ * @type {boolean}
108
+ * @memberof GetLibraryQuizVersion
109
+ */
110
+ randomizeAnswers: boolean;
111
+ /**
112
+ *
113
+ * @type {boolean}
114
+ * @memberof GetLibraryQuizVersion
115
+ */
116
+ showResults: boolean;
117
+ /**
118
+ *
119
+ * @type {boolean}
120
+ * @memberof GetLibraryQuizVersion
121
+ */
122
+ showCorrectAnswers: boolean;
123
+ /**
124
+ *
125
+ * @type {boolean}
126
+ * @memberof GetLibraryQuizVersion
127
+ */
128
+ allowReview: boolean;
129
+ /**
130
+ *
131
+ * @type {boolean}
132
+ * @memberof GetLibraryQuizVersion
133
+ */
134
+ requireAllQuestions: boolean;
135
+ /**
136
+ *
137
+ * @type {{ [key: string]: any; }}
138
+ * @memberof GetLibraryQuizVersion
139
+ */
140
+ settings: { [key: string]: any; };
141
+ /**
142
+ *
143
+ * @type {Array<LibraryQuizQuestion>}
144
+ * @memberof GetLibraryQuizVersion
145
+ */
146
+ questions: Array<LibraryQuizQuestion>;
147
+ /**
148
+ *
149
+ * @type {Array<LibraryQuizCriterion>}
150
+ * @memberof GetLibraryQuizVersion
151
+ */
152
+ criteria: Array<LibraryQuizCriterion>;
153
+ /**
154
+ *
155
+ * @type {number}
156
+ * @memberof GetLibraryQuizVersion
157
+ */
158
+ questionCount: number;
159
+ /**
160
+ *
161
+ * @type {string}
162
+ * @memberof GetLibraryQuizVersion
163
+ */
164
+ createdBy: string;
165
+ /**
166
+ *
167
+ * @type {number}
168
+ * @memberof GetLibraryQuizVersion
169
+ */
170
+ createdAt: number;
171
+ /**
172
+ *
173
+ * @type {number}
174
+ * @memberof GetLibraryQuizVersion
175
+ */
176
+ updatedAt: number;
177
+ /**
178
+ *
179
+ * @type {number}
180
+ * @memberof GetLibraryQuizVersion
181
+ */
182
+ publishedAt?: number | null;
183
+ /**
184
+ *
185
+ * @type {number}
186
+ * @memberof GetLibraryQuizVersion
187
+ */
188
+ archivedAt?: number | null;
189
+ }
190
+
191
+
192
+
193
+ /**
194
+ * Check if a given object implements the GetLibraryQuizVersion interface.
195
+ */
196
+ export function instanceOfGetLibraryQuizVersion(value: object): value is GetLibraryQuizVersion {
197
+ if (!('id' in value) || value['id'] === undefined) return false;
198
+ if (!('versionNumber' in value) || value['versionNumber'] === undefined) return false;
199
+ if (!('status' in value) || value['status'] === undefined) return false;
200
+ if (!('questionSelectionMethod' in value) || value['questionSelectionMethod'] === undefined) return false;
201
+ if (!('passingScore' in value) || value['passingScore'] === undefined) return false;
202
+ if (!('randomizeQuestions' in value) || value['randomizeQuestions'] === undefined) return false;
203
+ if (!('randomizeAnswers' in value) || value['randomizeAnswers'] === undefined) return false;
204
+ if (!('showResults' in value) || value['showResults'] === undefined) return false;
205
+ if (!('showCorrectAnswers' in value) || value['showCorrectAnswers'] === undefined) return false;
206
+ if (!('allowReview' in value) || value['allowReview'] === undefined) return false;
207
+ if (!('requireAllQuestions' in value) || value['requireAllQuestions'] === undefined) return false;
208
+ if (!('settings' in value) || value['settings'] === undefined) return false;
209
+ if (!('questions' in value) || value['questions'] === undefined) return false;
210
+ if (!('criteria' in value) || value['criteria'] === undefined) return false;
211
+ if (!('questionCount' in value) || value['questionCount'] === undefined) return false;
212
+ if (!('createdBy' in value) || value['createdBy'] === undefined) return false;
213
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
214
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
215
+ return true;
216
+ }
217
+
218
+ export function GetLibraryQuizVersionFromJSON(json: any): GetLibraryQuizVersion {
219
+ return GetLibraryQuizVersionFromJSONTyped(json, false);
220
+ }
221
+
222
+ export function GetLibraryQuizVersionFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLibraryQuizVersion {
223
+ if (json == null) {
224
+ return json;
225
+ }
226
+ return {
227
+
228
+ 'id': json['id'],
229
+ 'versionNumber': json['version_number'],
230
+ 'status': ContentLibraryVersionStatusFromJSON(json['status']),
231
+ 'changeNotes': json['change_notes'] == null ? undefined : json['change_notes'],
232
+ 'questionSelectionMethod': QuestionSelectionMethodFromJSON(json['question_selection_method']),
233
+ 'maxQuestions': json['max_questions'] == null ? undefined : json['max_questions'],
234
+ 'passingScore': json['passing_score'],
235
+ 'timeLimitMinutes': json['time_limit_minutes'] == null ? undefined : json['time_limit_minutes'],
236
+ 'randomizeQuestions': json['randomize_questions'],
237
+ 'randomizeAnswers': json['randomize_answers'],
238
+ 'showResults': json['show_results'],
239
+ 'showCorrectAnswers': json['show_correct_answers'],
240
+ 'allowReview': json['allow_review'],
241
+ 'requireAllQuestions': json['require_all_questions'],
242
+ 'settings': json['settings'],
243
+ 'questions': ((json['questions'] as Array<any>).map(LibraryQuizQuestionFromJSON)),
244
+ 'criteria': ((json['criteria'] as Array<any>).map(LibraryQuizCriterionFromJSON)),
245
+ 'questionCount': json['question_count'],
246
+ 'createdBy': json['created_by'],
247
+ 'createdAt': json['created_at'],
248
+ 'updatedAt': json['updated_at'],
249
+ 'publishedAt': json['published_at'] == null ? undefined : json['published_at'],
250
+ 'archivedAt': json['archived_at'] == null ? undefined : json['archived_at'],
251
+ };
252
+ }
253
+
254
+ export function GetLibraryQuizVersionToJSON(json: any): GetLibraryQuizVersion {
255
+ return GetLibraryQuizVersionToJSONTyped(json, false);
256
+ }
257
+
258
+ export function GetLibraryQuizVersionToJSONTyped(value?: GetLibraryQuizVersion | null, ignoreDiscriminator: boolean = false): any {
259
+ if (value == null) {
260
+ return value;
261
+ }
262
+
263
+ return {
264
+
265
+ 'id': value['id'],
266
+ 'version_number': value['versionNumber'],
267
+ 'status': ContentLibraryVersionStatusToJSON(value['status']),
268
+ 'change_notes': value['changeNotes'],
269
+ 'question_selection_method': QuestionSelectionMethodToJSON(value['questionSelectionMethod']),
270
+ 'max_questions': value['maxQuestions'],
271
+ 'passing_score': value['passingScore'],
272
+ 'time_limit_minutes': value['timeLimitMinutes'],
273
+ 'randomize_questions': value['randomizeQuestions'],
274
+ 'randomize_answers': value['randomizeAnswers'],
275
+ 'show_results': value['showResults'],
276
+ 'show_correct_answers': value['showCorrectAnswers'],
277
+ 'allow_review': value['allowReview'],
278
+ 'require_all_questions': value['requireAllQuestions'],
279
+ 'settings': value['settings'],
280
+ 'questions': ((value['questions'] as Array<any>).map(LibraryQuizQuestionToJSON)),
281
+ 'criteria': ((value['criteria'] as Array<any>).map(LibraryQuizCriterionToJSON)),
282
+ 'question_count': value['questionCount'],
283
+ 'created_by': value['createdBy'],
284
+ 'created_at': value['createdAt'],
285
+ 'updated_at': value['updatedAt'],
286
+ 'published_at': value['publishedAt'],
287
+ 'archived_at': value['archivedAt'],
288
+ };
289
+ }
290
+
@@ -101,6 +101,12 @@ export interface GetQuestion {
101
101
  * @memberof GetQuestion
102
102
  */
103
103
  version?: string;
104
+ /**
105
+ * Canonical numeric version within the question's version history
106
+ * @type {number}
107
+ * @memberof GetQuestion
108
+ */
109
+ readonly versionNumber: number;
104
110
  /**
105
111
  * When the question was created
106
112
  * @type {Date}
@@ -167,6 +173,7 @@ export function instanceOfGetQuestion(value: object): value is GetQuestion {
167
173
  if (!('questionType' in value) || value['questionType'] === undefined) return false;
168
174
  if (!('topic' in value) || value['topic'] === undefined) return false;
169
175
  if (!('difficultyLevel' in value) || value['difficultyLevel'] === undefined) return false;
176
+ if (!('versionNumber' in value) || value['versionNumber'] === undefined) return false;
170
177
  if (!('createdDate' in value) || value['createdDate'] === undefined) return false;
171
178
  if (!('updatedDate' in value) || value['updatedDate'] === undefined) return false;
172
179
  return true;
@@ -192,6 +199,7 @@ export function GetQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean
192
199
  'difficultyLevel': json['difficulty_level'],
193
200
  'tags': json['tags'] == null ? undefined : json['tags'],
194
201
  'version': json['version'] == null ? undefined : json['version'],
202
+ 'versionNumber': json['version_number'],
195
203
  'createdDate': (new Date(json['created_date'])),
196
204
  'updatedDate': (new Date(json['updated_date'])),
197
205
  'createdBy': json['created_by'] == null ? undefined : json['created_by'],
@@ -204,7 +212,7 @@ export function GetQuestionToJSON(json: any): GetQuestion {
204
212
  return GetQuestionToJSONTyped(json, false);
205
213
  }
206
214
 
207
- export function GetQuestionToJSONTyped(value?: Omit<GetQuestion, 'id'|'created_date'|'updated_date'|'created_by'|'quiz_count'|'quizzes'> | null, ignoreDiscriminator: boolean = false): any {
215
+ export function GetQuestionToJSONTyped(value?: Omit<GetQuestion, 'id'|'version_number'|'created_date'|'updated_date'|'created_by'|'quiz_count'|'quizzes'> | null, ignoreDiscriminator: boolean = false): any {
208
216
  if (value == null) {
209
217
  return value;
210
218
  }
@@ -0,0 +1,147 @@
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
+ /**
17
+ *
18
+ * @export
19
+ * @interface LibraryQuizCriterion
20
+ */
21
+ export interface LibraryQuizCriterion {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof LibraryQuizCriterion
26
+ */
27
+ id?: string | null;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof LibraryQuizCriterion
32
+ */
33
+ topic?: string | null;
34
+ /**
35
+ *
36
+ * @type {LibraryQuizCriterionDifficultyLevelEnum}
37
+ * @memberof LibraryQuizCriterion
38
+ */
39
+ difficultyLevel?: LibraryQuizCriterionDifficultyLevelEnum | null;
40
+ /**
41
+ *
42
+ * @type {LibraryQuizCriterionQuestionTypeEnum}
43
+ * @memberof LibraryQuizCriterion
44
+ */
45
+ questionType?: LibraryQuizCriterionQuestionTypeEnum | null;
46
+ /**
47
+ *
48
+ * @type {Array<string>}
49
+ * @memberof LibraryQuizCriterion
50
+ */
51
+ tags?: Array<string>;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof LibraryQuizCriterion
56
+ */
57
+ minQuestions?: number;
58
+ /**
59
+ *
60
+ * @type {number}
61
+ * @memberof LibraryQuizCriterion
62
+ */
63
+ maxQuestions?: number | null;
64
+ /**
65
+ *
66
+ * @type {number}
67
+ * @memberof LibraryQuizCriterion
68
+ */
69
+ priority: number;
70
+ }
71
+
72
+
73
+ /**
74
+ * @export
75
+ */
76
+ export const LibraryQuizCriterionDifficultyLevelEnum = {
77
+ Beginner: 'beginner',
78
+ Intermediate: 'intermediate',
79
+ Advanced: 'advanced'
80
+ } as const;
81
+ export type LibraryQuizCriterionDifficultyLevelEnum = typeof LibraryQuizCriterionDifficultyLevelEnum[keyof typeof LibraryQuizCriterionDifficultyLevelEnum];
82
+
83
+ /**
84
+ * @export
85
+ */
86
+ export const LibraryQuizCriterionQuestionTypeEnum = {
87
+ SingleAnswer: 'single_answer',
88
+ MultipleAnswer: 'multiple_answer',
89
+ FillInBlank: 'fill_in_blank',
90
+ ShortAnswer: 'short_answer',
91
+ Matching: 'matching',
92
+ Essay: 'essay'
93
+ } as const;
94
+ export type LibraryQuizCriterionQuestionTypeEnum = typeof LibraryQuizCriterionQuestionTypeEnum[keyof typeof LibraryQuizCriterionQuestionTypeEnum];
95
+
96
+
97
+ /**
98
+ * Check if a given object implements the LibraryQuizCriterion interface.
99
+ */
100
+ export function instanceOfLibraryQuizCriterion(value: object): value is LibraryQuizCriterion {
101
+ if (!('priority' in value) || value['priority'] === undefined) return false;
102
+ return true;
103
+ }
104
+
105
+ export function LibraryQuizCriterionFromJSON(json: any): LibraryQuizCriterion {
106
+ return LibraryQuizCriterionFromJSONTyped(json, false);
107
+ }
108
+
109
+ export function LibraryQuizCriterionFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryQuizCriterion {
110
+ if (json == null) {
111
+ return json;
112
+ }
113
+ return {
114
+
115
+ 'id': json['id'] == null ? undefined : json['id'],
116
+ 'topic': json['topic'] == null ? undefined : json['topic'],
117
+ 'difficultyLevel': json['difficulty_level'] == null ? undefined : json['difficulty_level'],
118
+ 'questionType': json['question_type'] == null ? undefined : json['question_type'],
119
+ 'tags': json['tags'] == null ? undefined : json['tags'],
120
+ 'minQuestions': json['min_questions'] == null ? undefined : json['min_questions'],
121
+ 'maxQuestions': json['max_questions'] == null ? undefined : json['max_questions'],
122
+ 'priority': json['priority'],
123
+ };
124
+ }
125
+
126
+ export function LibraryQuizCriterionToJSON(json: any): LibraryQuizCriterion {
127
+ return LibraryQuizCriterionToJSONTyped(json, false);
128
+ }
129
+
130
+ export function LibraryQuizCriterionToJSONTyped(value?: LibraryQuizCriterion | null, ignoreDiscriminator: boolean = false): any {
131
+ if (value == null) {
132
+ return value;
133
+ }
134
+
135
+ return {
136
+
137
+ 'id': value['id'],
138
+ 'topic': value['topic'],
139
+ 'difficulty_level': value['difficultyLevel'],
140
+ 'question_type': value['questionType'],
141
+ 'tags': value['tags'],
142
+ 'min_questions': value['minQuestions'],
143
+ 'max_questions': value['maxQuestions'],
144
+ 'priority': value['priority'],
145
+ };
146
+ }
147
+
@@ -0,0 +1,185 @@
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 { RichTextDocument } from './RichTextDocument';
17
+ import {
18
+ RichTextDocumentFromJSON,
19
+ RichTextDocumentFromJSONTyped,
20
+ RichTextDocumentToJSON,
21
+ RichTextDocumentToJSONTyped,
22
+ } from './RichTextDocument';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface LibraryQuizQuestion
28
+ */
29
+ export interface LibraryQuizQuestion {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof LibraryQuizQuestion
34
+ */
35
+ id: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof LibraryQuizQuestion
40
+ */
41
+ questionId: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof LibraryQuizQuestion
46
+ */
47
+ questionGroupId?: string | null;
48
+ /**
49
+ * Exact question version currently represented by this quiz selection
50
+ * @type {string}
51
+ * @memberof LibraryQuizQuestion
52
+ */
53
+ effectiveQuestionId: string;
54
+ /**
55
+ *
56
+ * @type {RichTextDocument}
57
+ * @memberof LibraryQuizQuestion
58
+ */
59
+ questionText: RichTextDocument;
60
+ /**
61
+ *
62
+ * @type {LibraryQuizQuestionQuestionTypeEnum}
63
+ * @memberof LibraryQuizQuestion
64
+ */
65
+ questionType: LibraryQuizQuestionQuestionTypeEnum;
66
+ /**
67
+ *
68
+ * @type {number}
69
+ * @memberof LibraryQuizQuestion
70
+ */
71
+ questionVersionNumber: number;
72
+ /**
73
+ * Optional human-readable identifier for the represented question version
74
+ * @type {string}
75
+ * @memberof LibraryQuizQuestion
76
+ */
77
+ questionVersion?: string | null;
78
+ /**
79
+ *
80
+ * @type {number}
81
+ * @memberof LibraryQuizQuestion
82
+ */
83
+ displayOrder: number;
84
+ /**
85
+ *
86
+ * @type {number}
87
+ * @memberof LibraryQuizQuestion
88
+ */
89
+ points: number;
90
+ /**
91
+ *
92
+ * @type {boolean}
93
+ * @memberof LibraryQuizQuestion
94
+ */
95
+ versionLocked: boolean;
96
+ /**
97
+ *
98
+ * @type {{ [key: string]: any; }}
99
+ * @memberof LibraryQuizQuestion
100
+ */
101
+ snapshot?: { [key: string]: any; } | null;
102
+ }
103
+
104
+
105
+ /**
106
+ * @export
107
+ */
108
+ export const LibraryQuizQuestionQuestionTypeEnum = {
109
+ SingleAnswer: 'single_answer',
110
+ MultipleAnswer: 'multiple_answer',
111
+ FillInBlank: 'fill_in_blank',
112
+ ShortAnswer: 'short_answer',
113
+ Matching: 'matching',
114
+ Essay: 'essay'
115
+ } as const;
116
+ export type LibraryQuizQuestionQuestionTypeEnum = typeof LibraryQuizQuestionQuestionTypeEnum[keyof typeof LibraryQuizQuestionQuestionTypeEnum];
117
+
118
+
119
+ /**
120
+ * Check if a given object implements the LibraryQuizQuestion interface.
121
+ */
122
+ export function instanceOfLibraryQuizQuestion(value: object): value is LibraryQuizQuestion {
123
+ if (!('id' in value) || value['id'] === undefined) return false;
124
+ if (!('questionId' in value) || value['questionId'] === undefined) return false;
125
+ if (!('effectiveQuestionId' in value) || value['effectiveQuestionId'] === undefined) return false;
126
+ if (!('questionText' in value) || value['questionText'] === undefined) return false;
127
+ if (!('questionType' in value) || value['questionType'] === undefined) return false;
128
+ if (!('questionVersionNumber' in value) || value['questionVersionNumber'] === undefined) return false;
129
+ if (!('displayOrder' in value) || value['displayOrder'] === undefined) return false;
130
+ if (!('points' in value) || value['points'] === undefined) return false;
131
+ if (!('versionLocked' in value) || value['versionLocked'] === undefined) return false;
132
+ return true;
133
+ }
134
+
135
+ export function LibraryQuizQuestionFromJSON(json: any): LibraryQuizQuestion {
136
+ return LibraryQuizQuestionFromJSONTyped(json, false);
137
+ }
138
+
139
+ export function LibraryQuizQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryQuizQuestion {
140
+ if (json == null) {
141
+ return json;
142
+ }
143
+ return {
144
+
145
+ 'id': json['id'],
146
+ 'questionId': json['question_id'],
147
+ 'questionGroupId': json['question_group_id'] == null ? undefined : json['question_group_id'],
148
+ 'effectiveQuestionId': json['effective_question_id'],
149
+ 'questionText': RichTextDocumentFromJSON(json['question_text']),
150
+ 'questionType': json['question_type'],
151
+ 'questionVersionNumber': json['question_version_number'],
152
+ 'questionVersion': json['question_version'] == null ? undefined : json['question_version'],
153
+ 'displayOrder': json['display_order'],
154
+ 'points': json['points'],
155
+ 'versionLocked': json['version_locked'],
156
+ 'snapshot': json['snapshot'] == null ? undefined : json['snapshot'],
157
+ };
158
+ }
159
+
160
+ export function LibraryQuizQuestionToJSON(json: any): LibraryQuizQuestion {
161
+ return LibraryQuizQuestionToJSONTyped(json, false);
162
+ }
163
+
164
+ export function LibraryQuizQuestionToJSONTyped(value?: LibraryQuizQuestion | null, ignoreDiscriminator: boolean = false): any {
165
+ if (value == null) {
166
+ return value;
167
+ }
168
+
169
+ return {
170
+
171
+ 'id': value['id'],
172
+ 'question_id': value['questionId'],
173
+ 'question_group_id': value['questionGroupId'],
174
+ 'effective_question_id': value['effectiveQuestionId'],
175
+ 'question_text': RichTextDocumentToJSON(value['questionText']),
176
+ 'question_type': value['questionType'],
177
+ 'question_version_number': value['questionVersionNumber'],
178
+ 'question_version': value['questionVersion'],
179
+ 'display_order': value['displayOrder'],
180
+ 'points': value['points'],
181
+ 'version_locked': value['versionLocked'],
182
+ 'snapshot': value['snapshot'],
183
+ };
184
+ }
185
+