@easyedu/js-lsm-api 1.81.0 → 1.83.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 (80) hide show
  1. package/.openapi-generator/FILES +8 -0
  2. package/README.md +7 -2
  3. package/dist/apis/QuizApi.d.ts +3 -2
  4. package/dist/apis/QuizApi.js +4 -2
  5. package/dist/apis/RichTextApi.d.ts +16 -0
  6. package/dist/apis/RichTextApi.js +43 -0
  7. package/dist/esm/apis/QuizApi.d.ts +3 -2
  8. package/dist/esm/apis/QuizApi.js +4 -2
  9. package/dist/esm/apis/RichTextApi.d.ts +16 -0
  10. package/dist/esm/apis/RichTextApi.js +43 -0
  11. package/dist/esm/models/GetQuizAttemptQuestionsInner.d.ts +7 -0
  12. package/dist/esm/models/GetQuizAttemptQuestionsInner.js +3 -0
  13. package/dist/esm/models/GetQuizAttemptQuestionsInnerAnswerChoicesInner.d.ts +7 -0
  14. package/dist/esm/models/GetQuizAttemptQuestionsInnerAnswerChoicesInner.js +3 -0
  15. package/dist/esm/models/GetQuizResultsQuestionsInner.d.ts +13 -0
  16. package/dist/esm/models/GetQuizResultsQuestionsInner.js +5 -0
  17. package/dist/esm/models/GetQuizResultsQuestionsInnerAnswerChoicesInner.d.ts +7 -0
  18. package/dist/esm/models/GetQuizResultsQuestionsInnerAnswerChoicesInner.js +3 -0
  19. package/dist/esm/models/PostQuizAttemptQuestionsInner.d.ts +7 -0
  20. package/dist/esm/models/PostQuizAttemptQuestionsInner.js +3 -0
  21. package/dist/esm/models/PostQuizAttemptQuestionsInnerAnswerChoicesInner.d.ts +7 -0
  22. package/dist/esm/models/PostQuizAttemptQuestionsInnerAnswerChoicesInner.js +3 -0
  23. package/dist/esm/models/PutQuizAnswerResponse.d.ts +77 -0
  24. package/dist/esm/models/PutQuizAnswerResponse.js +64 -0
  25. package/dist/esm/models/PutQuizAnswerResponseNextQuestion.d.ts +102 -0
  26. package/dist/esm/models/PutQuizAnswerResponseNextQuestion.js +88 -0
  27. package/dist/esm/models/PutQuizAnswerResponseNextQuestionAnswerChoicesInner.d.ts +51 -0
  28. package/dist/esm/models/PutQuizAnswerResponseNextQuestionAnswerChoicesInner.js +54 -0
  29. package/dist/esm/models/PutQuizAnswerResponseProgress.d.ts +50 -0
  30. package/dist/esm/models/PutQuizAnswerResponseProgress.js +55 -0
  31. package/dist/esm/models/index.d.ts +4 -0
  32. package/dist/esm/models/index.js +4 -0
  33. package/dist/models/GetQuizAttemptQuestionsInner.d.ts +7 -0
  34. package/dist/models/GetQuizAttemptQuestionsInner.js +3 -0
  35. package/dist/models/GetQuizAttemptQuestionsInnerAnswerChoicesInner.d.ts +7 -0
  36. package/dist/models/GetQuizAttemptQuestionsInnerAnswerChoicesInner.js +3 -0
  37. package/dist/models/GetQuizResultsQuestionsInner.d.ts +13 -0
  38. package/dist/models/GetQuizResultsQuestionsInner.js +5 -0
  39. package/dist/models/GetQuizResultsQuestionsInnerAnswerChoicesInner.d.ts +7 -0
  40. package/dist/models/GetQuizResultsQuestionsInnerAnswerChoicesInner.js +3 -0
  41. package/dist/models/PostQuizAttemptQuestionsInner.d.ts +7 -0
  42. package/dist/models/PostQuizAttemptQuestionsInner.js +3 -0
  43. package/dist/models/PostQuizAttemptQuestionsInnerAnswerChoicesInner.d.ts +7 -0
  44. package/dist/models/PostQuizAttemptQuestionsInnerAnswerChoicesInner.js +3 -0
  45. package/dist/models/PutQuizAnswerResponse.d.ts +77 -0
  46. package/dist/models/PutQuizAnswerResponse.js +71 -0
  47. package/dist/models/PutQuizAnswerResponseNextQuestion.d.ts +102 -0
  48. package/dist/models/PutQuizAnswerResponseNextQuestion.js +96 -0
  49. package/dist/models/PutQuizAnswerResponseNextQuestionAnswerChoicesInner.d.ts +51 -0
  50. package/dist/models/PutQuizAnswerResponseNextQuestionAnswerChoicesInner.js +61 -0
  51. package/dist/models/PutQuizAnswerResponseProgress.d.ts +50 -0
  52. package/dist/models/PutQuizAnswerResponseProgress.js +62 -0
  53. package/dist/models/index.d.ts +4 -0
  54. package/dist/models/index.js +4 -0
  55. package/docs/GetQuizAttemptQuestionsInner.md +2 -0
  56. package/docs/GetQuizAttemptQuestionsInnerAnswerChoicesInner.md +2 -0
  57. package/docs/GetQuizResultsQuestionsInner.md +4 -0
  58. package/docs/GetQuizResultsQuestionsInnerAnswerChoicesInner.md +2 -0
  59. package/docs/PostQuizAttemptQuestionsInner.md +2 -0
  60. package/docs/PostQuizAttemptQuestionsInnerAnswerChoicesInner.md +2 -0
  61. package/docs/PutQuizAnswerResponse.md +48 -0
  62. package/docs/PutQuizAnswerResponseNextQuestion.md +52 -0
  63. package/docs/PutQuizAnswerResponseNextQuestionAnswerChoicesInner.md +40 -0
  64. package/docs/PutQuizAnswerResponseProgress.md +40 -0
  65. package/docs/QuizApi.md +3 -3
  66. package/docs/RichTextApi.md +73 -0
  67. package/package.json +1 -1
  68. package/src/apis/QuizApi.ts +10 -4
  69. package/src/apis/RichTextApi.ts +59 -0
  70. package/src/models/GetQuizAttemptQuestionsInner.ts +15 -0
  71. package/src/models/GetQuizAttemptQuestionsInnerAnswerChoicesInner.ts +16 -0
  72. package/src/models/GetQuizResultsQuestionsInner.ts +23 -0
  73. package/src/models/GetQuizResultsQuestionsInnerAnswerChoicesInner.ts +16 -0
  74. package/src/models/PostQuizAttemptQuestionsInner.ts +15 -0
  75. package/src/models/PostQuizAttemptQuestionsInnerAnswerChoicesInner.ts +16 -0
  76. package/src/models/PutQuizAnswerResponse.ts +146 -0
  77. package/src/models/PutQuizAnswerResponseNextQuestion.ts +175 -0
  78. package/src/models/PutQuizAnswerResponseNextQuestionAnswerChoicesInner.ts +100 -0
  79. package/src/models/PutQuizAnswerResponseProgress.ts +93 -0
  80. package/src/models/index.ts +4 -0
@@ -20,6 +20,13 @@ import {
20
20
  GetQuizAttemptQuestionsInnerCurrentAnswerToJSON,
21
21
  GetQuizAttemptQuestionsInnerCurrentAnswerToJSONTyped,
22
22
  } from './GetQuizAttemptQuestionsInnerCurrentAnswer';
23
+ import type { RichTextDocument } from './RichTextDocument';
24
+ import {
25
+ RichTextDocumentFromJSON,
26
+ RichTextDocumentFromJSONTyped,
27
+ RichTextDocumentToJSON,
28
+ RichTextDocumentToJSONTyped,
29
+ } from './RichTextDocument';
23
30
  import type { GetQuizAttemptQuestionsInnerAnswerChoicesInner } from './GetQuizAttemptQuestionsInnerAnswerChoicesInner';
24
31
  import {
25
32
  GetQuizAttemptQuestionsInnerAnswerChoicesInnerFromJSON,
@@ -64,6 +71,12 @@ export interface GetQuizAttemptQuestionsInner {
64
71
  * @memberof GetQuizAttemptQuestionsInner
65
72
  */
66
73
  questionText: string;
74
+ /**
75
+ *
76
+ * @type {RichTextDocument}
77
+ * @memberof GetQuizAttemptQuestionsInner
78
+ */
79
+ questionTextRich?: RichTextDocument;
67
80
  /**
68
81
  * Question type
69
82
  * @type {GetQuizAttemptQuestionsInnerQuestionTypeEnum}
@@ -140,6 +153,7 @@ export function GetQuizAttemptQuestionsInnerFromJSONTyped(json: any, ignoreDiscr
140
153
  'questionOrder': json['question_order'],
141
154
  'points': json['points'],
142
155
  'questionText': json['question_text'],
156
+ 'questionTextRich': json['question_text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['question_text_rich']),
143
157
  'questionType': json['question_type'],
144
158
  'answerChoices': json['answer_choices'] == null ? undefined : ((json['answer_choices'] as Array<any>).map(GetQuizAttemptQuestionsInnerAnswerChoicesInnerFromJSON)),
145
159
  'isAnswered': json['is_answered'],
@@ -164,6 +178,7 @@ export function GetQuizAttemptQuestionsInnerToJSONTyped(value?: GetQuizAttemptQu
164
178
  'question_order': value['questionOrder'],
165
179
  'points': value['points'],
166
180
  'question_text': value['questionText'],
181
+ 'question_text_rich': RichTextDocumentToJSON(value['questionTextRich']),
167
182
  'question_type': value['questionType'],
168
183
  'answer_choices': value['answerChoices'] == null ? undefined : ((value['answerChoices'] as Array<any>).map(GetQuizAttemptQuestionsInnerAnswerChoicesInnerToJSON)),
169
184
  'is_answered': value['isAnswered'],
@@ -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
@@ -31,6 +39,12 @@ export interface GetQuizAttemptQuestionsInnerAnswerChoicesInner {
31
39
  * @memberof GetQuizAttemptQuestionsInnerAnswerChoicesInner
32
40
  */
33
41
  text: string;
42
+ /**
43
+ *
44
+ * @type {RichTextDocument}
45
+ * @memberof GetQuizAttemptQuestionsInnerAnswerChoicesInner
46
+ */
47
+ textRich?: RichTextDocument;
34
48
  /**
35
49
  * Display order
36
50
  * @type {number}
@@ -61,6 +75,7 @@ export function GetQuizAttemptQuestionsInnerAnswerChoicesInnerFromJSONTyped(json
61
75
 
62
76
  'id': json['id'],
63
77
  'text': json['text'],
78
+ 'textRich': json['text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['text_rich']),
64
79
  'displayOrder': json['display_order'],
65
80
  };
66
81
  }
@@ -78,6 +93,7 @@ export function GetQuizAttemptQuestionsInnerAnswerChoicesInnerToJSONTyped(value?
78
93
 
79
94
  'id': value['id'],
80
95
  'text': value['text'],
96
+ 'text_rich': RichTextDocumentToJSON(value['textRich']),
81
97
  'display_order': value['displayOrder'],
82
98
  };
83
99
  }
@@ -20,6 +20,13 @@ import {
20
20
  GetQuizResultsQuestionsInnerAnswerChoicesInnerToJSON,
21
21
  GetQuizResultsQuestionsInnerAnswerChoicesInnerToJSONTyped,
22
22
  } from './GetQuizResultsQuestionsInnerAnswerChoicesInner';
23
+ import type { RichTextDocument } from './RichTextDocument';
24
+ import {
25
+ RichTextDocumentFromJSON,
26
+ RichTextDocumentFromJSONTyped,
27
+ RichTextDocumentToJSON,
28
+ RichTextDocumentToJSONTyped,
29
+ } from './RichTextDocument';
23
30
  import type { GetQuizResultsQuestionsInnerStudentAnswer } from './GetQuizResultsQuestionsInnerStudentAnswer';
24
31
  import {
25
32
  GetQuizResultsQuestionsInnerStudentAnswerFromJSON,
@@ -52,6 +59,12 @@ export interface GetQuizResultsQuestionsInner {
52
59
  * @memberof GetQuizResultsQuestionsInner
53
60
  */
54
61
  questionText: string;
62
+ /**
63
+ *
64
+ * @type {RichTextDocument}
65
+ * @memberof GetQuizResultsQuestionsInner
66
+ */
67
+ questionTextRich?: RichTextDocument;
55
68
  /**
56
69
  * Type of question
57
70
  * @type {GetQuizResultsQuestionsInnerQuestionTypeEnum}
@@ -76,6 +89,12 @@ export interface GetQuizResultsQuestionsInner {
76
89
  * @memberof GetQuizResultsQuestionsInner
77
90
  */
78
91
  explanation?: string;
92
+ /**
93
+ *
94
+ * @type {RichTextDocument}
95
+ * @memberof GetQuizResultsQuestionsInner
96
+ */
97
+ explanationRich?: RichTextDocument;
79
98
  /**
80
99
  * Time spent on this question in seconds
81
100
  * @type {number}
@@ -130,10 +149,12 @@ export function GetQuizResultsQuestionsInnerFromJSONTyped(json: any, ignoreDiscr
130
149
  'questionId': json['question_id'],
131
150
  'questionOrder': json['question_order'],
132
151
  'questionText': json['question_text'],
152
+ 'questionTextRich': json['question_text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['question_text_rich']),
133
153
  'questionType': json['question_type'],
134
154
  'answerChoices': json['answer_choices'] == null ? undefined : ((json['answer_choices'] as Array<any>).map(GetQuizResultsQuestionsInnerAnswerChoicesInnerFromJSON)),
135
155
  'studentAnswer': GetQuizResultsQuestionsInnerStudentAnswerFromJSON(json['student_answer']),
136
156
  'explanation': json['explanation'] == null ? undefined : json['explanation'],
157
+ 'explanationRich': json['explanation_rich'] == null ? undefined : RichTextDocumentFromJSON(json['explanation_rich']),
137
158
  'timeSpent': json['time_spent'] == null ? undefined : json['time_spent'],
138
159
  'wasFlagged': json['was_flagged'] == null ? undefined : json['was_flagged'],
139
160
  };
@@ -153,10 +174,12 @@ export function GetQuizResultsQuestionsInnerToJSONTyped(value?: GetQuizResultsQu
153
174
  'question_id': value['questionId'],
154
175
  'question_order': value['questionOrder'],
155
176
  'question_text': value['questionText'],
177
+ 'question_text_rich': RichTextDocumentToJSON(value['questionTextRich']),
156
178
  'question_type': value['questionType'],
157
179
  'answer_choices': value['answerChoices'] == null ? undefined : ((value['answerChoices'] as Array<any>).map(GetQuizResultsQuestionsInnerAnswerChoicesInnerToJSON)),
158
180
  'student_answer': GetQuizResultsQuestionsInnerStudentAnswerToJSON(value['studentAnswer']),
159
181
  'explanation': value['explanation'],
182
+ 'explanation_rich': RichTextDocumentToJSON(value['explanationRich']),
160
183
  'time_spent': value['timeSpent'],
161
184
  'was_flagged': value['wasFlagged'],
162
185
  };
@@ -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
@@ -31,6 +39,12 @@ export interface GetQuizResultsQuestionsInnerAnswerChoicesInner {
31
39
  * @memberof GetQuizResultsQuestionsInnerAnswerChoicesInner
32
40
  */
33
41
  text: string;
42
+ /**
43
+ *
44
+ * @type {RichTextDocument}
45
+ * @memberof GetQuizResultsQuestionsInnerAnswerChoicesInner
46
+ */
47
+ textRich?: RichTextDocument;
34
48
  /**
35
49
  *
36
50
  * @type {boolean}
@@ -68,6 +82,7 @@ export function GetQuizResultsQuestionsInnerAnswerChoicesInnerFromJSONTyped(json
68
82
 
69
83
  'id': json['id'],
70
84
  'text': json['text'],
85
+ 'textRich': json['text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['text_rich']),
71
86
  'isCorrect': json['is_correct'],
72
87
  'wasSelected': json['was_selected'],
73
88
  };
@@ -86,6 +101,7 @@ export function GetQuizResultsQuestionsInnerAnswerChoicesInnerToJSONTyped(value?
86
101
 
87
102
  'id': value['id'],
88
103
  'text': value['text'],
104
+ 'text_rich': RichTextDocumentToJSON(value['textRich']),
89
105
  'is_correct': value['isCorrect'],
90
106
  'was_selected': value['wasSelected'],
91
107
  };
@@ -20,6 +20,13 @@ import {
20
20
  PostQuizAttemptQuestionsInnerAnswerChoicesInnerToJSON,
21
21
  PostQuizAttemptQuestionsInnerAnswerChoicesInnerToJSONTyped,
22
22
  } from './PostQuizAttemptQuestionsInnerAnswerChoicesInner';
23
+ import type { RichTextDocument } from './RichTextDocument';
24
+ import {
25
+ RichTextDocumentFromJSON,
26
+ RichTextDocumentFromJSONTyped,
27
+ RichTextDocumentToJSON,
28
+ RichTextDocumentToJSONTyped,
29
+ } from './RichTextDocument';
23
30
 
24
31
  /**
25
32
  *
@@ -57,6 +64,12 @@ export interface PostQuizAttemptQuestionsInner {
57
64
  * @memberof PostQuizAttemptQuestionsInner
58
65
  */
59
66
  questionText: string;
67
+ /**
68
+ *
69
+ * @type {RichTextDocument}
70
+ * @memberof PostQuizAttemptQuestionsInner
71
+ */
72
+ questionTextRich?: RichTextDocument;
60
73
  /**
61
74
  * Question type
62
75
  * @type {PostQuizAttemptQuestionsInnerQuestionTypeEnum}
@@ -121,6 +134,7 @@ export function PostQuizAttemptQuestionsInnerFromJSONTyped(json: any, ignoreDisc
121
134
  'questionOrder': json['question_order'],
122
135
  'points': json['points'],
123
136
  'questionText': json['question_text'],
137
+ 'questionTextRich': json['question_text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['question_text_rich']),
124
138
  'questionType': json['question_type'],
125
139
  'answerChoices': json['answer_choices'] == null ? undefined : ((json['answer_choices'] as Array<any>).map(PostQuizAttemptQuestionsInnerAnswerChoicesInnerFromJSON)),
126
140
  'isAnswered': json['is_answered'],
@@ -143,6 +157,7 @@ export function PostQuizAttemptQuestionsInnerToJSONTyped(value?: PostQuizAttempt
143
157
  'question_order': value['questionOrder'],
144
158
  'points': value['points'],
145
159
  'question_text': value['questionText'],
160
+ 'question_text_rich': RichTextDocumentToJSON(value['questionTextRich']),
146
161
  'question_type': value['questionType'],
147
162
  'answer_choices': value['answerChoices'] == null ? undefined : ((value['answerChoices'] as Array<any>).map(PostQuizAttemptQuestionsInnerAnswerChoicesInnerToJSON)),
148
163
  'is_answered': value['isAnswered'],
@@ -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
@@ -31,6 +39,12 @@ export interface PostQuizAttemptQuestionsInnerAnswerChoicesInner {
31
39
  * @memberof PostQuizAttemptQuestionsInnerAnswerChoicesInner
32
40
  */
33
41
  text: string;
42
+ /**
43
+ *
44
+ * @type {RichTextDocument}
45
+ * @memberof PostQuizAttemptQuestionsInnerAnswerChoicesInner
46
+ */
47
+ textRich?: RichTextDocument;
34
48
  /**
35
49
  * Display order (may be randomized)
36
50
  * @type {number}
@@ -61,6 +75,7 @@ export function PostQuizAttemptQuestionsInnerAnswerChoicesInnerFromJSONTyped(jso
61
75
 
62
76
  'id': json['id'],
63
77
  'text': json['text'],
78
+ 'textRich': json['text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['text_rich']),
64
79
  'displayOrder': json['display_order'],
65
80
  };
66
81
  }
@@ -78,6 +93,7 @@ export function PostQuizAttemptQuestionsInnerAnswerChoicesInnerToJSONTyped(value
78
93
 
79
94
  'id': value['id'],
80
95
  'text': value['text'],
96
+ 'text_rich': RichTextDocumentToJSON(value['textRich']),
81
97
  'display_order': value['displayOrder'],
82
98
  };
83
99
  }
@@ -0,0 +1,146 @@
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 { PutQuizAnswerResponseProgress } from './PutQuizAnswerResponseProgress';
17
+ import {
18
+ PutQuizAnswerResponseProgressFromJSON,
19
+ PutQuizAnswerResponseProgressFromJSONTyped,
20
+ PutQuizAnswerResponseProgressToJSON,
21
+ PutQuizAnswerResponseProgressToJSONTyped,
22
+ } from './PutQuizAnswerResponseProgress';
23
+ import type { RichTextDocument } from './RichTextDocument';
24
+ import {
25
+ RichTextDocumentFromJSON,
26
+ RichTextDocumentFromJSONTyped,
27
+ RichTextDocumentToJSON,
28
+ RichTextDocumentToJSONTyped,
29
+ } from './RichTextDocument';
30
+ import type { PutQuizAnswerResponseNextQuestion } from './PutQuizAnswerResponseNextQuestion';
31
+ import {
32
+ PutQuizAnswerResponseNextQuestionFromJSON,
33
+ PutQuizAnswerResponseNextQuestionFromJSONTyped,
34
+ PutQuizAnswerResponseNextQuestionToJSON,
35
+ PutQuizAnswerResponseNextQuestionToJSONTyped,
36
+ } from './PutQuizAnswerResponseNextQuestion';
37
+
38
+ /**
39
+ *
40
+ * @export
41
+ * @interface PutQuizAnswerResponse
42
+ */
43
+ export interface PutQuizAnswerResponse {
44
+ /**
45
+ * Whether the answer was saved
46
+ * @type {boolean}
47
+ * @memberof PutQuizAnswerResponse
48
+ */
49
+ success: boolean;
50
+ /**
51
+ * Question ID that was answered
52
+ * @type {number}
53
+ * @memberof PutQuizAnswerResponse
54
+ */
55
+ questionId: number;
56
+ /**
57
+ * Immediate correctness feedback when review is disabled
58
+ * @type {boolean}
59
+ * @memberof PutQuizAnswerResponse
60
+ */
61
+ isCorrect?: boolean;
62
+ /**
63
+ * Immediate points earned when review is disabled
64
+ * @type {number}
65
+ * @memberof PutQuizAnswerResponse
66
+ */
67
+ pointsEarned?: number;
68
+ /**
69
+ * Plain-text explanation when immediate feedback is enabled
70
+ * @type {string}
71
+ * @memberof PutQuizAnswerResponse
72
+ */
73
+ explanation?: string;
74
+ /**
75
+ *
76
+ * @type {RichTextDocument}
77
+ * @memberof PutQuizAnswerResponse
78
+ */
79
+ explanationRich?: RichTextDocument;
80
+ /**
81
+ *
82
+ * @type {PutQuizAnswerResponseNextQuestion}
83
+ * @memberof PutQuizAnswerResponse
84
+ */
85
+ nextQuestion?: PutQuizAnswerResponseNextQuestion;
86
+ /**
87
+ *
88
+ * @type {PutQuizAnswerResponseProgress}
89
+ * @memberof PutQuizAnswerResponse
90
+ */
91
+ progress: PutQuizAnswerResponseProgress;
92
+ }
93
+
94
+ /**
95
+ * Check if a given object implements the PutQuizAnswerResponse interface.
96
+ */
97
+ export function instanceOfPutQuizAnswerResponse(value: object): value is PutQuizAnswerResponse {
98
+ if (!('success' in value) || value['success'] === undefined) return false;
99
+ if (!('questionId' in value) || value['questionId'] === undefined) return false;
100
+ if (!('progress' in value) || value['progress'] === undefined) return false;
101
+ return true;
102
+ }
103
+
104
+ export function PutQuizAnswerResponseFromJSON(json: any): PutQuizAnswerResponse {
105
+ return PutQuizAnswerResponseFromJSONTyped(json, false);
106
+ }
107
+
108
+ export function PutQuizAnswerResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PutQuizAnswerResponse {
109
+ if (json == null) {
110
+ return json;
111
+ }
112
+ return {
113
+
114
+ 'success': json['success'],
115
+ 'questionId': json['question_id'],
116
+ 'isCorrect': json['is_correct'] == null ? undefined : json['is_correct'],
117
+ 'pointsEarned': json['points_earned'] == null ? undefined : json['points_earned'],
118
+ 'explanation': json['explanation'] == null ? undefined : json['explanation'],
119
+ 'explanationRich': json['explanation_rich'] == null ? undefined : RichTextDocumentFromJSON(json['explanation_rich']),
120
+ 'nextQuestion': json['next_question'] == null ? undefined : PutQuizAnswerResponseNextQuestionFromJSON(json['next_question']),
121
+ 'progress': PutQuizAnswerResponseProgressFromJSON(json['progress']),
122
+ };
123
+ }
124
+
125
+ export function PutQuizAnswerResponseToJSON(json: any): PutQuizAnswerResponse {
126
+ return PutQuizAnswerResponseToJSONTyped(json, false);
127
+ }
128
+
129
+ export function PutQuizAnswerResponseToJSONTyped(value?: PutQuizAnswerResponse | null, ignoreDiscriminator: boolean = false): any {
130
+ if (value == null) {
131
+ return value;
132
+ }
133
+
134
+ return {
135
+
136
+ 'success': value['success'],
137
+ 'question_id': value['questionId'],
138
+ 'is_correct': value['isCorrect'],
139
+ 'points_earned': value['pointsEarned'],
140
+ 'explanation': value['explanation'],
141
+ 'explanation_rich': RichTextDocumentToJSON(value['explanationRich']),
142
+ 'next_question': PutQuizAnswerResponseNextQuestionToJSON(value['nextQuestion']),
143
+ 'progress': PutQuizAnswerResponseProgressToJSON(value['progress']),
144
+ };
145
+ }
146
+
@@ -0,0 +1,175 @@
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
+ import type { PutQuizAnswerResponseNextQuestionAnswerChoicesInner } from './PutQuizAnswerResponseNextQuestionAnswerChoicesInner';
24
+ import {
25
+ PutQuizAnswerResponseNextQuestionAnswerChoicesInnerFromJSON,
26
+ PutQuizAnswerResponseNextQuestionAnswerChoicesInnerFromJSONTyped,
27
+ PutQuizAnswerResponseNextQuestionAnswerChoicesInnerToJSON,
28
+ PutQuizAnswerResponseNextQuestionAnswerChoicesInnerToJSONTyped,
29
+ } from './PutQuizAnswerResponseNextQuestionAnswerChoicesInner';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface PutQuizAnswerResponseNextQuestion
35
+ */
36
+ export interface PutQuizAnswerResponseNextQuestion {
37
+ /**
38
+ * Attempt question ID
39
+ * @type {number}
40
+ * @memberof PutQuizAnswerResponseNextQuestion
41
+ */
42
+ id: number;
43
+ /**
44
+ * Original question ID
45
+ * @type {number}
46
+ * @memberof PutQuizAnswerResponseNextQuestion
47
+ */
48
+ questionId: number;
49
+ /**
50
+ * Order of question in this attempt
51
+ * @type {number}
52
+ * @memberof PutQuizAnswerResponseNextQuestion
53
+ */
54
+ questionOrder: number;
55
+ /**
56
+ * Points assigned to this question
57
+ * @type {number}
58
+ * @memberof PutQuizAnswerResponseNextQuestion
59
+ */
60
+ points: number;
61
+ /**
62
+ * Question text
63
+ * @type {string}
64
+ * @memberof PutQuizAnswerResponseNextQuestion
65
+ */
66
+ questionText: string;
67
+ /**
68
+ *
69
+ * @type {RichTextDocument}
70
+ * @memberof PutQuizAnswerResponseNextQuestion
71
+ */
72
+ questionTextRich?: RichTextDocument;
73
+ /**
74
+ *
75
+ * @type {PutQuizAnswerResponseNextQuestionQuestionTypeEnum}
76
+ * @memberof PutQuizAnswerResponseNextQuestion
77
+ */
78
+ questionType: PutQuizAnswerResponseNextQuestionQuestionTypeEnum;
79
+ /**
80
+ *
81
+ * @type {Array<PutQuizAnswerResponseNextQuestionAnswerChoicesInner>}
82
+ * @memberof PutQuizAnswerResponseNextQuestion
83
+ */
84
+ answerChoices: Array<PutQuizAnswerResponseNextQuestionAnswerChoicesInner>;
85
+ /**
86
+ *
87
+ * @type {boolean}
88
+ * @memberof PutQuizAnswerResponseNextQuestion
89
+ */
90
+ isAnswered: boolean;
91
+ /**
92
+ *
93
+ * @type {{ [key: string]: any; }}
94
+ * @memberof PutQuizAnswerResponseNextQuestion
95
+ */
96
+ userAnswer?: { [key: string]: any; };
97
+ }
98
+
99
+
100
+ /**
101
+ * @export
102
+ */
103
+ export const PutQuizAnswerResponseNextQuestionQuestionTypeEnum = {
104
+ SingleAnswer: 'single_answer',
105
+ MultipleAnswer: 'multiple_answer',
106
+ FillInBlank: 'fill_in_blank',
107
+ ShortAnswer: 'short_answer',
108
+ Matching: 'matching',
109
+ Essay: 'essay'
110
+ } as const;
111
+ export type PutQuizAnswerResponseNextQuestionQuestionTypeEnum = typeof PutQuizAnswerResponseNextQuestionQuestionTypeEnum[keyof typeof PutQuizAnswerResponseNextQuestionQuestionTypeEnum];
112
+
113
+
114
+ /**
115
+ * Check if a given object implements the PutQuizAnswerResponseNextQuestion interface.
116
+ */
117
+ export function instanceOfPutQuizAnswerResponseNextQuestion(value: object): value is PutQuizAnswerResponseNextQuestion {
118
+ if (!('id' in value) || value['id'] === undefined) return false;
119
+ if (!('questionId' in value) || value['questionId'] === undefined) return false;
120
+ if (!('questionOrder' in value) || value['questionOrder'] === undefined) return false;
121
+ if (!('points' in value) || value['points'] === undefined) return false;
122
+ if (!('questionText' in value) || value['questionText'] === undefined) return false;
123
+ if (!('questionType' in value) || value['questionType'] === undefined) return false;
124
+ if (!('answerChoices' in value) || value['answerChoices'] === undefined) return false;
125
+ if (!('isAnswered' in value) || value['isAnswered'] === undefined) return false;
126
+ return true;
127
+ }
128
+
129
+ export function PutQuizAnswerResponseNextQuestionFromJSON(json: any): PutQuizAnswerResponseNextQuestion {
130
+ return PutQuizAnswerResponseNextQuestionFromJSONTyped(json, false);
131
+ }
132
+
133
+ export function PutQuizAnswerResponseNextQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): PutQuizAnswerResponseNextQuestion {
134
+ if (json == null) {
135
+ return json;
136
+ }
137
+ return {
138
+
139
+ 'id': json['id'],
140
+ 'questionId': json['question_id'],
141
+ 'questionOrder': json['question_order'],
142
+ 'points': json['points'],
143
+ 'questionText': json['question_text'],
144
+ 'questionTextRich': json['question_text_rich'] == null ? undefined : RichTextDocumentFromJSON(json['question_text_rich']),
145
+ 'questionType': json['question_type'],
146
+ 'answerChoices': ((json['answer_choices'] as Array<any>).map(PutQuizAnswerResponseNextQuestionAnswerChoicesInnerFromJSON)),
147
+ 'isAnswered': json['is_answered'],
148
+ 'userAnswer': json['user_answer'] == null ? undefined : json['user_answer'],
149
+ };
150
+ }
151
+
152
+ export function PutQuizAnswerResponseNextQuestionToJSON(json: any): PutQuizAnswerResponseNextQuestion {
153
+ return PutQuizAnswerResponseNextQuestionToJSONTyped(json, false);
154
+ }
155
+
156
+ export function PutQuizAnswerResponseNextQuestionToJSONTyped(value?: PutQuizAnswerResponseNextQuestion | null, ignoreDiscriminator: boolean = false): any {
157
+ if (value == null) {
158
+ return value;
159
+ }
160
+
161
+ return {
162
+
163
+ 'id': value['id'],
164
+ 'question_id': value['questionId'],
165
+ 'question_order': value['questionOrder'],
166
+ 'points': value['points'],
167
+ 'question_text': value['questionText'],
168
+ 'question_text_rich': RichTextDocumentToJSON(value['questionTextRich']),
169
+ 'question_type': value['questionType'],
170
+ 'answer_choices': ((value['answerChoices'] as Array<any>).map(PutQuizAnswerResponseNextQuestionAnswerChoicesInnerToJSON)),
171
+ 'is_answered': value['isAnswered'],
172
+ 'user_answer': value['userAnswer'],
173
+ };
174
+ }
175
+