@easyedu/js-lsm-api 1.92.0 → 1.94.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 (44) hide show
  1. package/.openapi-generator/FILES +6 -0
  2. package/README.md +6 -2
  3. package/dist/apis/ContentLibraryQuizApi.d.ts +18 -0
  4. package/dist/apis/ContentLibraryQuizApi.js +49 -0
  5. package/dist/esm/apis/ContentLibraryQuizApi.d.ts +18 -0
  6. package/dist/esm/apis/ContentLibraryQuizApi.js +49 -0
  7. package/dist/esm/models/GetLibraryQuizCriteriaPreview.d.ts +39 -0
  8. package/dist/esm/models/GetLibraryQuizCriteriaPreview.js +48 -0
  9. package/dist/esm/models/GetQuestion.d.ts +7 -1
  10. package/dist/esm/models/GetQuestion.js +3 -0
  11. package/dist/esm/models/LibraryQuizCriteriaPreviewQuestion.d.ts +96 -0
  12. package/dist/esm/models/LibraryQuizCriteriaPreviewQuestion.js +89 -0
  13. package/dist/esm/models/LibraryQuizCriterionPreview.d.ts +63 -0
  14. package/dist/esm/models/LibraryQuizCriterionPreview.js +62 -0
  15. package/dist/esm/models/LibraryQuizQuestion.d.ts +43 -0
  16. package/dist/esm/models/LibraryQuizQuestion.js +30 -0
  17. package/dist/esm/models/index.d.ts +3 -0
  18. package/dist/esm/models/index.js +3 -0
  19. package/dist/models/GetLibraryQuizCriteriaPreview.d.ts +39 -0
  20. package/dist/models/GetLibraryQuizCriteriaPreview.js +55 -0
  21. package/dist/models/GetQuestion.d.ts +7 -1
  22. package/dist/models/GetQuestion.js +3 -0
  23. package/dist/models/LibraryQuizCriteriaPreviewQuestion.d.ts +96 -0
  24. package/dist/models/LibraryQuizCriteriaPreviewQuestion.js +97 -0
  25. package/dist/models/LibraryQuizCriterionPreview.d.ts +63 -0
  26. package/dist/models/LibraryQuizCriterionPreview.js +69 -0
  27. package/dist/models/LibraryQuizQuestion.d.ts +43 -0
  28. package/dist/models/LibraryQuizQuestion.js +31 -0
  29. package/dist/models/index.d.ts +3 -0
  30. package/dist/models/index.js +3 -0
  31. package/docs/ContentLibraryQuizApi.md +73 -0
  32. package/docs/GetLibraryQuizCriteriaPreview.md +36 -0
  33. package/docs/GetQuestion.md +2 -0
  34. package/docs/LibraryQuizCriteriaPreviewQuestion.md +48 -0
  35. package/docs/LibraryQuizCriterionPreview.md +44 -0
  36. package/docs/LibraryQuizQuestion.md +10 -0
  37. package/package.json +1 -1
  38. package/src/apis/ContentLibraryQuizApi.ts +74 -0
  39. package/src/models/GetLibraryQuizCriteriaPreview.ts +83 -0
  40. package/src/models/GetQuestion.ts +9 -1
  41. package/src/models/LibraryQuizCriteriaPreviewQuestion.ts +161 -0
  42. package/src/models/LibraryQuizCriterionPreview.ts +118 -0
  43. package/src/models/LibraryQuizQuestion.ts +67 -0
  44. package/src/models/index.ts +3 -0
@@ -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,161 @@
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 LibraryQuizCriteriaPreviewQuestion
28
+ */
29
+ export interface LibraryQuizCriteriaPreviewQuestion {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof LibraryQuizCriteriaPreviewQuestion
34
+ */
35
+ id: string;
36
+ /**
37
+ *
38
+ * @type {RichTextDocument}
39
+ * @memberof LibraryQuizCriteriaPreviewQuestion
40
+ */
41
+ questionText: RichTextDocument;
42
+ /**
43
+ *
44
+ * @type {LibraryQuizCriteriaPreviewQuestionQuestionTypeEnum}
45
+ * @memberof LibraryQuizCriteriaPreviewQuestion
46
+ */
47
+ questionType: LibraryQuizCriteriaPreviewQuestionQuestionTypeEnum;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof LibraryQuizCriteriaPreviewQuestion
52
+ */
53
+ versionNumber: number;
54
+ /**
55
+ *
56
+ * @type {string}
57
+ * @memberof LibraryQuizCriteriaPreviewQuestion
58
+ */
59
+ version?: string | null;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof LibraryQuizCriteriaPreviewQuestion
64
+ */
65
+ topic: string;
66
+ /**
67
+ *
68
+ * @type {LibraryQuizCriteriaPreviewQuestionDifficultyLevelEnum}
69
+ * @memberof LibraryQuizCriteriaPreviewQuestion
70
+ */
71
+ difficultyLevel: LibraryQuizCriteriaPreviewQuestionDifficultyLevelEnum;
72
+ /**
73
+ *
74
+ * @type {Array<string>}
75
+ * @memberof LibraryQuizCriteriaPreviewQuestion
76
+ */
77
+ tags: Array<string>;
78
+ }
79
+
80
+
81
+ /**
82
+ * @export
83
+ */
84
+ export const LibraryQuizCriteriaPreviewQuestionQuestionTypeEnum = {
85
+ SingleAnswer: 'single_answer',
86
+ MultipleAnswer: 'multiple_answer',
87
+ FillInBlank: 'fill_in_blank',
88
+ ShortAnswer: 'short_answer',
89
+ Matching: 'matching',
90
+ Essay: 'essay'
91
+ } as const;
92
+ export type LibraryQuizCriteriaPreviewQuestionQuestionTypeEnum = typeof LibraryQuizCriteriaPreviewQuestionQuestionTypeEnum[keyof typeof LibraryQuizCriteriaPreviewQuestionQuestionTypeEnum];
93
+
94
+ /**
95
+ * @export
96
+ */
97
+ export const LibraryQuizCriteriaPreviewQuestionDifficultyLevelEnum = {
98
+ Beginner: 'beginner',
99
+ Intermediate: 'intermediate',
100
+ Advanced: 'advanced'
101
+ } as const;
102
+ export type LibraryQuizCriteriaPreviewQuestionDifficultyLevelEnum = typeof LibraryQuizCriteriaPreviewQuestionDifficultyLevelEnum[keyof typeof LibraryQuizCriteriaPreviewQuestionDifficultyLevelEnum];
103
+
104
+
105
+ /**
106
+ * Check if a given object implements the LibraryQuizCriteriaPreviewQuestion interface.
107
+ */
108
+ export function instanceOfLibraryQuizCriteriaPreviewQuestion(value: object): value is LibraryQuizCriteriaPreviewQuestion {
109
+ if (!('id' in value) || value['id'] === undefined) return false;
110
+ if (!('questionText' in value) || value['questionText'] === undefined) return false;
111
+ if (!('questionType' in value) || value['questionType'] === undefined) return false;
112
+ if (!('versionNumber' in value) || value['versionNumber'] === undefined) return false;
113
+ if (!('topic' in value) || value['topic'] === undefined) return false;
114
+ if (!('difficultyLevel' in value) || value['difficultyLevel'] === undefined) return false;
115
+ if (!('tags' in value) || value['tags'] === undefined) return false;
116
+ return true;
117
+ }
118
+
119
+ export function LibraryQuizCriteriaPreviewQuestionFromJSON(json: any): LibraryQuizCriteriaPreviewQuestion {
120
+ return LibraryQuizCriteriaPreviewQuestionFromJSONTyped(json, false);
121
+ }
122
+
123
+ export function LibraryQuizCriteriaPreviewQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryQuizCriteriaPreviewQuestion {
124
+ if (json == null) {
125
+ return json;
126
+ }
127
+ return {
128
+
129
+ 'id': json['id'],
130
+ 'questionText': RichTextDocumentFromJSON(json['question_text']),
131
+ 'questionType': json['question_type'],
132
+ 'versionNumber': json['version_number'],
133
+ 'version': json['version'] == null ? undefined : json['version'],
134
+ 'topic': json['topic'],
135
+ 'difficultyLevel': json['difficulty_level'],
136
+ 'tags': json['tags'],
137
+ };
138
+ }
139
+
140
+ export function LibraryQuizCriteriaPreviewQuestionToJSON(json: any): LibraryQuizCriteriaPreviewQuestion {
141
+ return LibraryQuizCriteriaPreviewQuestionToJSONTyped(json, false);
142
+ }
143
+
144
+ export function LibraryQuizCriteriaPreviewQuestionToJSONTyped(value?: LibraryQuizCriteriaPreviewQuestion | null, ignoreDiscriminator: boolean = false): any {
145
+ if (value == null) {
146
+ return value;
147
+ }
148
+
149
+ return {
150
+
151
+ 'id': value['id'],
152
+ 'question_text': RichTextDocumentToJSON(value['questionText']),
153
+ 'question_type': value['questionType'],
154
+ 'version_number': value['versionNumber'],
155
+ 'version': value['version'],
156
+ 'topic': value['topic'],
157
+ 'difficulty_level': value['difficultyLevel'],
158
+ 'tags': value['tags'],
159
+ };
160
+ }
161
+
@@ -0,0 +1,118 @@
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 { LibraryQuizCriteriaPreviewQuestion } from './LibraryQuizCriteriaPreviewQuestion';
17
+ import {
18
+ LibraryQuizCriteriaPreviewQuestionFromJSON,
19
+ LibraryQuizCriteriaPreviewQuestionFromJSONTyped,
20
+ LibraryQuizCriteriaPreviewQuestionToJSON,
21
+ LibraryQuizCriteriaPreviewQuestionToJSONTyped,
22
+ } from './LibraryQuizCriteriaPreviewQuestion';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface LibraryQuizCriterionPreview
28
+ */
29
+ export interface LibraryQuizCriterionPreview {
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof LibraryQuizCriterionPreview
34
+ */
35
+ priority: number;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof LibraryQuizCriterionPreview
40
+ */
41
+ matchingQuestionCount: number;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof LibraryQuizCriterionPreview
46
+ */
47
+ minimumQuestions: number;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof LibraryQuizCriterionPreview
52
+ */
53
+ maximumQuestions?: number | null;
54
+ /**
55
+ *
56
+ * @type {boolean}
57
+ * @memberof LibraryQuizCriterionPreview
58
+ */
59
+ minimumSatisfied: boolean;
60
+ /**
61
+ *
62
+ * @type {Array<LibraryQuizCriteriaPreviewQuestion>}
63
+ * @memberof LibraryQuizCriterionPreview
64
+ */
65
+ questions: Array<LibraryQuizCriteriaPreviewQuestion>;
66
+ }
67
+
68
+ /**
69
+ * Check if a given object implements the LibraryQuizCriterionPreview interface.
70
+ */
71
+ export function instanceOfLibraryQuizCriterionPreview(value: object): value is LibraryQuizCriterionPreview {
72
+ if (!('priority' in value) || value['priority'] === undefined) return false;
73
+ if (!('matchingQuestionCount' in value) || value['matchingQuestionCount'] === undefined) return false;
74
+ if (!('minimumQuestions' in value) || value['minimumQuestions'] === undefined) return false;
75
+ if (!('minimumSatisfied' in value) || value['minimumSatisfied'] === undefined) return false;
76
+ if (!('questions' in value) || value['questions'] === undefined) return false;
77
+ return true;
78
+ }
79
+
80
+ export function LibraryQuizCriterionPreviewFromJSON(json: any): LibraryQuizCriterionPreview {
81
+ return LibraryQuizCriterionPreviewFromJSONTyped(json, false);
82
+ }
83
+
84
+ export function LibraryQuizCriterionPreviewFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryQuizCriterionPreview {
85
+ if (json == null) {
86
+ return json;
87
+ }
88
+ return {
89
+
90
+ 'priority': json['priority'],
91
+ 'matchingQuestionCount': json['matching_question_count'],
92
+ 'minimumQuestions': json['minimum_questions'],
93
+ 'maximumQuestions': json['maximum_questions'] == null ? undefined : json['maximum_questions'],
94
+ 'minimumSatisfied': json['minimum_satisfied'],
95
+ 'questions': ((json['questions'] as Array<any>).map(LibraryQuizCriteriaPreviewQuestionFromJSON)),
96
+ };
97
+ }
98
+
99
+ export function LibraryQuizCriterionPreviewToJSON(json: any): LibraryQuizCriterionPreview {
100
+ return LibraryQuizCriterionPreviewToJSONTyped(json, false);
101
+ }
102
+
103
+ export function LibraryQuizCriterionPreviewToJSONTyped(value?: LibraryQuizCriterionPreview | null, ignoreDiscriminator: boolean = false): any {
104
+ if (value == null) {
105
+ return value;
106
+ }
107
+
108
+ return {
109
+
110
+ 'priority': value['priority'],
111
+ 'matching_question_count': value['matchingQuestionCount'],
112
+ 'minimum_questions': value['minimumQuestions'],
113
+ 'maximum_questions': value['maximumQuestions'],
114
+ 'minimum_satisfied': value['minimumSatisfied'],
115
+ 'questions': ((value['questions'] as Array<any>).map(LibraryQuizCriteriaPreviewQuestionToJSON)),
116
+ };
117
+ }
118
+
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
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
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -37,6 +45,36 @@ export interface LibraryQuizQuestion {
37
45
  * @memberof LibraryQuizQuestion
38
46
  */
39
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;
40
78
  /**
41
79
  *
42
80
  * @type {number}
@@ -63,12 +101,31 @@ export interface LibraryQuizQuestion {
63
101
  snapshot?: { [key: string]: any; } | null;
64
102
  }
65
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
+
66
119
  /**
67
120
  * Check if a given object implements the LibraryQuizQuestion interface.
68
121
  */
69
122
  export function instanceOfLibraryQuizQuestion(value: object): value is LibraryQuizQuestion {
70
123
  if (!('id' in value) || value['id'] === undefined) return false;
71
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;
72
129
  if (!('displayOrder' in value) || value['displayOrder'] === undefined) return false;
73
130
  if (!('points' in value) || value['points'] === undefined) return false;
74
131
  if (!('versionLocked' in value) || value['versionLocked'] === undefined) return false;
@@ -88,6 +145,11 @@ export function LibraryQuizQuestionFromJSONTyped(json: any, ignoreDiscriminator:
88
145
  'id': json['id'],
89
146
  'questionId': json['question_id'],
90
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'],
91
153
  'displayOrder': json['display_order'],
92
154
  'points': json['points'],
93
155
  'versionLocked': json['version_locked'],
@@ -109,6 +171,11 @@ export function LibraryQuizQuestionToJSONTyped(value?: LibraryQuizQuestion | nul
109
171
  'id': value['id'],
110
172
  'question_id': value['questionId'],
111
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'],
112
179
  'display_order': value['displayOrder'],
113
180
  'points': value['points'],
114
181
  'version_locked': value['versionLocked'],
@@ -104,6 +104,7 @@ export * from './GetEmailTemplateList';
104
104
  export * from './GetEmailTemplatePreview';
105
105
  export * from './GetLibraryQuiz';
106
106
  export * from './GetLibraryQuizAnalytics';
107
+ export * from './GetLibraryQuizCriteriaPreview';
107
108
  export * from './GetLibraryQuizList';
108
109
  export * from './GetLibraryQuizResult';
109
110
  export * from './GetLibraryQuizSession';
@@ -232,7 +233,9 @@ export * from './GetUserQuizAttemptsAllOfAttempts';
232
233
  export * from './GetUserQuizAttemptsAllOfFilters';
233
234
  export * from './GetUserQuizAttemptsAllOfSummary';
234
235
  export * from './GetUserRole';
236
+ export * from './LibraryQuizCriteriaPreviewQuestion';
235
237
  export * from './LibraryQuizCriterion';
238
+ export * from './LibraryQuizCriterionPreview';
236
239
  export * from './LibraryQuizQuestion';
237
240
  export * from './LibraryQuizQuestionInput';
238
241
  export * from './LibraryQuizSessionAnswerChoice';