@easyedu/js-lsm-api 1.34.0 → 1.36.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 (156) hide show
  1. package/.openapi-generator/FILES +18 -0
  2. package/README.md +13 -2
  3. package/dist/apis/QuizApi.d.ts +20 -1
  4. package/dist/apis/QuizApi.js +49 -0
  5. package/dist/apis/UserApi.d.ts +14 -0
  6. package/dist/apis/UserApi.js +37 -0
  7. package/dist/esm/apis/QuizApi.d.ts +20 -1
  8. package/dist/esm/apis/QuizApi.js +50 -1
  9. package/dist/esm/apis/UserApi.d.ts +14 -0
  10. package/dist/esm/apis/UserApi.js +37 -0
  11. package/dist/esm/models/CriteriaBasedSelectionCriteria.d.ts +3 -0
  12. package/dist/esm/models/CriteriaBasedSelectionCriteria.js +4 -1
  13. package/dist/esm/models/Essay.d.ts +45 -0
  14. package/dist/esm/models/Essay.js +53 -0
  15. package/dist/esm/models/Essay1.d.ts +45 -0
  16. package/dist/esm/models/Essay1.js +53 -0
  17. package/dist/esm/models/GetQuestion.d.ts +4 -1
  18. package/dist/esm/models/GetQuestion.js +4 -1
  19. package/dist/esm/models/GetQuestionListFilters.d.ts +3 -0
  20. package/dist/esm/models/GetQuestionListFilters.js +4 -1
  21. package/dist/esm/models/GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInner.d.ts +3 -0
  22. package/dist/esm/models/GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInner.js +4 -1
  23. package/dist/esm/models/GetQuizAttemptAnalyticsQuestionAnalysisInner.d.ts +3 -0
  24. package/dist/esm/models/GetQuizAttemptAnalyticsQuestionAnalysisInner.js +4 -1
  25. package/dist/esm/models/GetQuizAttemptQuestionsInner.d.ts +3 -0
  26. package/dist/esm/models/GetQuizAttemptQuestionsInner.js +4 -1
  27. package/dist/esm/models/GetQuizCriteriaItem.d.ts +3 -0
  28. package/dist/esm/models/GetQuizCriteriaItem.js +4 -1
  29. package/dist/esm/models/GetQuizCriteriaListItemsInner.d.ts +3 -0
  30. package/dist/esm/models/GetQuizCriteriaListItemsInner.js +4 -1
  31. package/dist/esm/models/GetQuizQuestionsItemsInnerQuestionDetails.d.ts +3 -0
  32. package/dist/esm/models/GetQuizQuestionsItemsInnerQuestionDetails.js +4 -1
  33. package/dist/esm/models/GetQuizResultsQuestionsInner.d.ts +3 -0
  34. package/dist/esm/models/GetQuizResultsQuestionsInner.js +4 -1
  35. package/dist/esm/models/Matching.d.ts +46 -0
  36. package/dist/esm/models/Matching.js +54 -0
  37. package/dist/esm/models/Matching1.d.ts +46 -0
  38. package/dist/esm/models/Matching1.js +54 -0
  39. package/dist/esm/models/Matching1PairsInner.d.ts +38 -0
  40. package/dist/esm/models/Matching1PairsInner.js +47 -0
  41. package/dist/esm/models/MatchingPairsInner.d.ts +38 -0
  42. package/dist/esm/models/MatchingPairsInner.js +47 -0
  43. package/dist/esm/models/PostQuestion.d.ts +4 -1
  44. package/dist/esm/models/PostQuestion.js +4 -1
  45. package/dist/esm/models/PostQuizAttemptQuestionsInner.d.ts +3 -0
  46. package/dist/esm/models/PostQuizAttemptQuestionsInner.js +4 -1
  47. package/dist/esm/models/PostQuizAttemptSubmitFinalAnswersInnerAnswer.d.ts +4 -1
  48. package/dist/esm/models/PostQuizAttemptSubmitFinalAnswersInnerAnswer.js +21 -0
  49. package/dist/esm/models/PostQuizCriteriaCriteriaInner.d.ts +3 -0
  50. package/dist/esm/models/PostQuizCriteriaCriteriaInner.js +4 -1
  51. package/dist/esm/models/PutQuestion.d.ts +4 -1
  52. package/dist/esm/models/PutQuestion.js +4 -1
  53. package/dist/esm/models/PutQuizAnswerAnswer.d.ts +4 -1
  54. package/dist/esm/models/PutQuizAnswerAnswer.js +21 -0
  55. package/dist/esm/models/PutQuizAnswerGrade.d.ts +38 -0
  56. package/dist/esm/models/PutQuizAnswerGrade.js +45 -0
  57. package/dist/esm/models/ShortAnswer.d.ts +45 -0
  58. package/dist/esm/models/ShortAnswer.js +53 -0
  59. package/dist/esm/models/ShortAnswer1.d.ts +45 -0
  60. package/dist/esm/models/ShortAnswer1.js +53 -0
  61. package/dist/esm/models/index.d.ts +9 -0
  62. package/dist/esm/models/index.js +9 -0
  63. package/dist/models/CriteriaBasedSelectionCriteria.d.ts +3 -0
  64. package/dist/models/CriteriaBasedSelectionCriteria.js +4 -1
  65. package/dist/models/Essay.d.ts +45 -0
  66. package/dist/models/Essay.js +61 -0
  67. package/dist/models/Essay1.d.ts +45 -0
  68. package/dist/models/Essay1.js +61 -0
  69. package/dist/models/GetQuestion.d.ts +4 -1
  70. package/dist/models/GetQuestion.js +4 -1
  71. package/dist/models/GetQuestionListFilters.d.ts +3 -0
  72. package/dist/models/GetQuestionListFilters.js +4 -1
  73. package/dist/models/GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInner.d.ts +3 -0
  74. package/dist/models/GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInner.js +4 -1
  75. package/dist/models/GetQuizAttemptAnalyticsQuestionAnalysisInner.d.ts +3 -0
  76. package/dist/models/GetQuizAttemptAnalyticsQuestionAnalysisInner.js +4 -1
  77. package/dist/models/GetQuizAttemptQuestionsInner.d.ts +3 -0
  78. package/dist/models/GetQuizAttemptQuestionsInner.js +4 -1
  79. package/dist/models/GetQuizCriteriaItem.d.ts +3 -0
  80. package/dist/models/GetQuizCriteriaItem.js +4 -1
  81. package/dist/models/GetQuizCriteriaListItemsInner.d.ts +3 -0
  82. package/dist/models/GetQuizCriteriaListItemsInner.js +4 -1
  83. package/dist/models/GetQuizQuestionsItemsInnerQuestionDetails.d.ts +3 -0
  84. package/dist/models/GetQuizQuestionsItemsInnerQuestionDetails.js +4 -1
  85. package/dist/models/GetQuizResultsQuestionsInner.d.ts +3 -0
  86. package/dist/models/GetQuizResultsQuestionsInner.js +4 -1
  87. package/dist/models/Matching.d.ts +46 -0
  88. package/dist/models/Matching.js +62 -0
  89. package/dist/models/Matching1.d.ts +46 -0
  90. package/dist/models/Matching1.js +62 -0
  91. package/dist/models/Matching1PairsInner.d.ts +38 -0
  92. package/dist/models/Matching1PairsInner.js +54 -0
  93. package/dist/models/MatchingPairsInner.d.ts +38 -0
  94. package/dist/models/MatchingPairsInner.js +54 -0
  95. package/dist/models/PostQuestion.d.ts +4 -1
  96. package/dist/models/PostQuestion.js +4 -1
  97. package/dist/models/PostQuizAttemptQuestionsInner.d.ts +3 -0
  98. package/dist/models/PostQuizAttemptQuestionsInner.js +4 -1
  99. package/dist/models/PostQuizAttemptSubmitFinalAnswersInnerAnswer.d.ts +4 -1
  100. package/dist/models/PostQuizAttemptSubmitFinalAnswersInnerAnswer.js +21 -0
  101. package/dist/models/PostQuizCriteriaCriteriaInner.d.ts +3 -0
  102. package/dist/models/PostQuizCriteriaCriteriaInner.js +4 -1
  103. package/dist/models/PutQuestion.d.ts +4 -1
  104. package/dist/models/PutQuestion.js +4 -1
  105. package/dist/models/PutQuizAnswerAnswer.d.ts +4 -1
  106. package/dist/models/PutQuizAnswerAnswer.js +21 -0
  107. package/dist/models/PutQuizAnswerGrade.d.ts +38 -0
  108. package/dist/models/PutQuizAnswerGrade.js +52 -0
  109. package/dist/models/ShortAnswer.d.ts +45 -0
  110. package/dist/models/ShortAnswer.js +61 -0
  111. package/dist/models/ShortAnswer1.d.ts +45 -0
  112. package/dist/models/ShortAnswer1.js +61 -0
  113. package/dist/models/index.d.ts +9 -0
  114. package/dist/models/index.js +9 -0
  115. package/docs/Essay.md +36 -0
  116. package/docs/Essay1.md +36 -0
  117. package/docs/Matching.md +36 -0
  118. package/docs/Matching1.md +36 -0
  119. package/docs/Matching1PairsInner.md +36 -0
  120. package/docs/MatchingPairsInner.md +36 -0
  121. package/docs/PostQuizAttemptSubmitFinalAnswersInnerAnswer.md +2 -0
  122. package/docs/PutQuizAnswerAnswer.md +2 -0
  123. package/docs/PutQuizAnswerGrade.md +36 -0
  124. package/docs/QuizApi.md +77 -0
  125. package/docs/ShortAnswer.md +36 -0
  126. package/docs/ShortAnswer1.md +36 -0
  127. package/docs/UserApi.md +61 -0
  128. package/package.json +1 -1
  129. package/src/apis/QuizApi.ts +73 -0
  130. package/src/apis/UserApi.ts +39 -0
  131. package/src/models/CriteriaBasedSelectionCriteria.ts +4 -1
  132. package/src/models/Essay.ts +85 -0
  133. package/src/models/Essay1.ts +85 -0
  134. package/src/models/GetQuestion.ts +5 -2
  135. package/src/models/GetQuestionListFilters.ts +4 -1
  136. package/src/models/GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInner.ts +4 -1
  137. package/src/models/GetQuizAttemptAnalyticsQuestionAnalysisInner.ts +4 -1
  138. package/src/models/GetQuizAttemptQuestionsInner.ts +4 -1
  139. package/src/models/GetQuizCriteriaItem.ts +4 -1
  140. package/src/models/GetQuizCriteriaListItemsInner.ts +4 -1
  141. package/src/models/GetQuizQuestionsItemsInnerQuestionDetails.ts +4 -1
  142. package/src/models/GetQuizResultsQuestionsInner.ts +4 -1
  143. package/src/models/Matching.ts +93 -0
  144. package/src/models/Matching1.ts +93 -0
  145. package/src/models/Matching1PairsInner.ts +75 -0
  146. package/src/models/MatchingPairsInner.ts +75 -0
  147. package/src/models/PostQuestion.ts +5 -2
  148. package/src/models/PostQuizAttemptQuestionsInner.ts +4 -1
  149. package/src/models/PostQuizAttemptSubmitFinalAnswersInnerAnswer.ts +40 -1
  150. package/src/models/PostQuizCriteriaCriteriaInner.ts +4 -1
  151. package/src/models/PutQuestion.ts +5 -2
  152. package/src/models/PutQuizAnswerAnswer.ts +40 -1
  153. package/src/models/PutQuizAnswerGrade.ts +74 -0
  154. package/src/models/ShortAnswer.ts +85 -0
  155. package/src/models/ShortAnswer1.ts +85 -0
  156. package/src/models/index.ts +9 -0
@@ -0,0 +1,93 @@
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 { Matching1PairsInner } from './Matching1PairsInner';
17
+ import {
18
+ Matching1PairsInnerFromJSON,
19
+ Matching1PairsInnerFromJSONTyped,
20
+ Matching1PairsInnerToJSON,
21
+ Matching1PairsInnerToJSONTyped,
22
+ } from './Matching1PairsInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface Matching1
28
+ */
29
+ export interface Matching1 {
30
+ /**
31
+ *
32
+ * @type {Matching1TypeEnum}
33
+ * @memberof Matching1
34
+ */
35
+ type: Matching1TypeEnum;
36
+ /**
37
+ * Matching pair selections
38
+ * @type {Array<Matching1PairsInner>}
39
+ * @memberof Matching1
40
+ */
41
+ pairs: Array<Matching1PairsInner>;
42
+ }
43
+
44
+
45
+ /**
46
+ * @export
47
+ */
48
+ export const Matching1TypeEnum = {
49
+ Matching: 'matching'
50
+ } as const;
51
+ export type Matching1TypeEnum = typeof Matching1TypeEnum[keyof typeof Matching1TypeEnum];
52
+
53
+
54
+ /**
55
+ * Check if a given object implements the Matching1 interface.
56
+ */
57
+ export function instanceOfMatching1(value: object): value is Matching1 {
58
+ if (!('type' in value) || value['type'] === undefined) return false;
59
+ if (!('pairs' in value) || value['pairs'] === undefined) return false;
60
+ return true;
61
+ }
62
+
63
+ export function Matching1FromJSON(json: any): Matching1 {
64
+ return Matching1FromJSONTyped(json, false);
65
+ }
66
+
67
+ export function Matching1FromJSONTyped(json: any, ignoreDiscriminator: boolean): Matching1 {
68
+ if (json == null) {
69
+ return json;
70
+ }
71
+ return {
72
+
73
+ 'type': json['type'],
74
+ 'pairs': ((json['pairs'] as Array<any>).map(Matching1PairsInnerFromJSON)),
75
+ };
76
+ }
77
+
78
+ export function Matching1ToJSON(json: any): Matching1 {
79
+ return Matching1ToJSONTyped(json, false);
80
+ }
81
+
82
+ export function Matching1ToJSONTyped(value?: Matching1 | null, ignoreDiscriminator: boolean = false): any {
83
+ if (value == null) {
84
+ return value;
85
+ }
86
+
87
+ return {
88
+
89
+ 'type': value['type'],
90
+ 'pairs': ((value['pairs'] as Array<any>).map(Matching1PairsInnerToJSON)),
91
+ };
92
+ }
93
+
@@ -0,0 +1,75 @@
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 Matching1PairsInner
20
+ */
21
+ export interface Matching1PairsInner {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof Matching1PairsInner
26
+ */
27
+ premiseId: number;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof Matching1PairsInner
32
+ */
33
+ responseId: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the Matching1PairsInner interface.
38
+ */
39
+ export function instanceOfMatching1PairsInner(value: object): value is Matching1PairsInner {
40
+ if (!('premiseId' in value) || value['premiseId'] === undefined) return false;
41
+ if (!('responseId' in value) || value['responseId'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function Matching1PairsInnerFromJSON(json: any): Matching1PairsInner {
46
+ return Matching1PairsInnerFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function Matching1PairsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): Matching1PairsInner {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'premiseId': json['premise_id'],
56
+ 'responseId': json['response_id'],
57
+ };
58
+ }
59
+
60
+ export function Matching1PairsInnerToJSON(json: any): Matching1PairsInner {
61
+ return Matching1PairsInnerToJSONTyped(json, false);
62
+ }
63
+
64
+ export function Matching1PairsInnerToJSONTyped(value?: Matching1PairsInner | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'premise_id': value['premiseId'],
72
+ 'response_id': value['responseId'],
73
+ };
74
+ }
75
+
@@ -0,0 +1,75 @@
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 MatchingPairsInner
20
+ */
21
+ export interface MatchingPairsInner {
22
+ /**
23
+ * ID of the premise (left side)
24
+ * @type {number}
25
+ * @memberof MatchingPairsInner
26
+ */
27
+ premiseId: number;
28
+ /**
29
+ * ID of the response (right side)
30
+ * @type {number}
31
+ * @memberof MatchingPairsInner
32
+ */
33
+ responseId: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the MatchingPairsInner interface.
38
+ */
39
+ export function instanceOfMatchingPairsInner(value: object): value is MatchingPairsInner {
40
+ if (!('premiseId' in value) || value['premiseId'] === undefined) return false;
41
+ if (!('responseId' in value) || value['responseId'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function MatchingPairsInnerFromJSON(json: any): MatchingPairsInner {
46
+ return MatchingPairsInnerFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function MatchingPairsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): MatchingPairsInner {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'premiseId': json['premise_id'],
56
+ 'responseId': json['response_id'],
57
+ };
58
+ }
59
+
60
+ export function MatchingPairsInnerToJSON(json: any): MatchingPairsInner {
61
+ return MatchingPairsInnerToJSONTyped(json, false);
62
+ }
63
+
64
+ export function MatchingPairsInnerToJSONTyped(value?: MatchingPairsInner | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'premise_id': value['premiseId'],
72
+ 'response_id': value['responseId'],
73
+ };
74
+ }
75
+
@@ -34,7 +34,7 @@ export interface PostQuestion {
34
34
  */
35
35
  questionText: string;
36
36
  /**
37
- * Type of question: single answer (True/False, multiple choice), multiple answer, or fill in the blank
37
+ * Type of question
38
38
  * @type {PostQuestionQuestionTypeEnum}
39
39
  * @memberof PostQuestion
40
40
  */
@@ -96,7 +96,10 @@ export interface PostQuestion {
96
96
  export const PostQuestionQuestionTypeEnum = {
97
97
  SingleAnswer: 'single_answer',
98
98
  MultipleAnswer: 'multiple_answer',
99
- FillInBlank: 'fill_in_blank'
99
+ FillInBlank: 'fill_in_blank',
100
+ ShortAnswer: 'short_answer',
101
+ Matching: 'matching',
102
+ Essay: 'essay'
100
103
  } as const;
101
104
  export type PostQuestionQuestionTypeEnum = typeof PostQuestionQuestionTypeEnum[keyof typeof PostQuestionQuestionTypeEnum];
102
105
 
@@ -84,7 +84,10 @@ export interface PostQuizAttemptQuestionsInner {
84
84
  export const PostQuizAttemptQuestionsInnerQuestionTypeEnum = {
85
85
  SingleAnswer: 'single_answer',
86
86
  MultipleAnswer: 'multiple_answer',
87
- FillInBlank: 'fill_in_blank'
87
+ FillInBlank: 'fill_in_blank',
88
+ ShortAnswer: 'short_answer',
89
+ Matching: 'matching',
90
+ Essay: 'essay'
88
91
  } as const;
89
92
  export type PostQuizAttemptQuestionsInnerQuestionTypeEnum = typeof PostQuizAttemptQuestionsInnerQuestionTypeEnum[keyof typeof PostQuizAttemptQuestionsInnerQuestionTypeEnum];
90
93
 
@@ -12,6 +12,13 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
 
15
+ import type { Essay1 } from './Essay1';
16
+ import {
17
+ instanceOfEssay1,
18
+ Essay1FromJSON,
19
+ Essay1FromJSONTyped,
20
+ Essay1ToJSON,
21
+ } from './Essay1';
15
22
  import type { FillInBlank1 } from './FillInBlank1';
16
23
  import {
17
24
  instanceOfFillInBlank1,
@@ -19,6 +26,13 @@ import {
19
26
  FillInBlank1FromJSONTyped,
20
27
  FillInBlank1ToJSON,
21
28
  } from './FillInBlank1';
29
+ import type { Matching1 } from './Matching1';
30
+ import {
31
+ instanceOfMatching1,
32
+ Matching1FromJSON,
33
+ Matching1FromJSONTyped,
34
+ Matching1ToJSON,
35
+ } from './Matching1';
22
36
  import type { MultipleAnswer1 } from './MultipleAnswer1';
23
37
  import {
24
38
  instanceOfMultipleAnswer1,
@@ -33,6 +47,13 @@ import {
33
47
  NoAnswerFromJSONTyped,
34
48
  NoAnswerToJSON,
35
49
  } from './NoAnswer';
50
+ import type { ShortAnswer1 } from './ShortAnswer1';
51
+ import {
52
+ instanceOfShortAnswer1,
53
+ ShortAnswer1FromJSON,
54
+ ShortAnswer1FromJSONTyped,
55
+ ShortAnswer1ToJSON,
56
+ } from './ShortAnswer1';
36
57
  import type { SingleAnswer } from './SingleAnswer';
37
58
  import {
38
59
  instanceOfSingleAnswer,
@@ -46,7 +67,7 @@ import {
46
67
  * Final answer for this question
47
68
  * @export
48
69
  */
49
- export type PostQuizAttemptSubmitFinalAnswersInnerAnswer = FillInBlank1 | MultipleAnswer1 | NoAnswer | SingleAnswer;
70
+ export type PostQuizAttemptSubmitFinalAnswersInnerAnswer = Essay1 | FillInBlank1 | Matching1 | MultipleAnswer1 | NoAnswer | ShortAnswer1 | SingleAnswer;
50
71
 
51
72
  export function PostQuizAttemptSubmitFinalAnswersInnerAnswerFromJSON(json: any): PostQuizAttemptSubmitFinalAnswersInnerAnswer {
52
73
  return PostQuizAttemptSubmitFinalAnswersInnerAnswerFromJSONTyped(json, false);
@@ -59,15 +80,24 @@ export function PostQuizAttemptSubmitFinalAnswersInnerAnswerFromJSONTyped(json:
59
80
  if (typeof json !== 'object') {
60
81
  return json;
61
82
  }
83
+ if (instanceOfEssay1(json)) {
84
+ return Essay1FromJSONTyped(json, true);
85
+ }
62
86
  if (instanceOfFillInBlank1(json)) {
63
87
  return FillInBlank1FromJSONTyped(json, true);
64
88
  }
89
+ if (instanceOfMatching1(json)) {
90
+ return Matching1FromJSONTyped(json, true);
91
+ }
65
92
  if (instanceOfMultipleAnswer1(json)) {
66
93
  return MultipleAnswer1FromJSONTyped(json, true);
67
94
  }
68
95
  if (instanceOfNoAnswer(json)) {
69
96
  return NoAnswerFromJSONTyped(json, true);
70
97
  }
98
+ if (instanceOfShortAnswer1(json)) {
99
+ return ShortAnswer1FromJSONTyped(json, true);
100
+ }
71
101
  if (instanceOfSingleAnswer(json)) {
72
102
  return SingleAnswerFromJSONTyped(json, true);
73
103
  }
@@ -85,15 +115,24 @@ export function PostQuizAttemptSubmitFinalAnswersInnerAnswerToJSONTyped(value?:
85
115
  if (typeof value !== 'object') {
86
116
  return value;
87
117
  }
118
+ if (instanceOfEssay1(value)) {
119
+ return Essay1ToJSON(value as Essay1);
120
+ }
88
121
  if (instanceOfFillInBlank1(value)) {
89
122
  return FillInBlank1ToJSON(value as FillInBlank1);
90
123
  }
124
+ if (instanceOfMatching1(value)) {
125
+ return Matching1ToJSON(value as Matching1);
126
+ }
91
127
  if (instanceOfMultipleAnswer1(value)) {
92
128
  return MultipleAnswer1ToJSON(value as MultipleAnswer1);
93
129
  }
94
130
  if (instanceOfNoAnswer(value)) {
95
131
  return NoAnswerToJSON(value as NoAnswer);
96
132
  }
133
+ if (instanceOfShortAnswer1(value)) {
134
+ return ShortAnswer1ToJSON(value as ShortAnswer1);
135
+ }
97
136
  if (instanceOfSingleAnswer(value)) {
98
137
  return SingleAnswerToJSON(value as SingleAnswer);
99
138
  }
@@ -86,7 +86,10 @@ export type PostQuizCriteriaCriteriaInnerDifficultyLevelEnum = typeof PostQuizCr
86
86
  export const PostQuizCriteriaCriteriaInnerQuestionTypeEnum = {
87
87
  SingleAnswer: 'single_answer',
88
88
  MultipleAnswer: 'multiple_answer',
89
- FillInBlank: 'fill_in_blank'
89
+ FillInBlank: 'fill_in_blank',
90
+ ShortAnswer: 'short_answer',
91
+ Matching: 'matching',
92
+ Essay: 'essay'
90
93
  } as const;
91
94
  export type PostQuizCriteriaCriteriaInnerQuestionTypeEnum = typeof PostQuizCriteriaCriteriaInnerQuestionTypeEnum[keyof typeof PostQuizCriteriaCriteriaInnerQuestionTypeEnum];
92
95
 
@@ -34,7 +34,7 @@ export interface PutQuestion {
34
34
  */
35
35
  questionText?: string;
36
36
  /**
37
- * Type of question: single answer (True/False, multiple choice), multiple answer, or fill in the blank
37
+ * Type of question
38
38
  * @type {PutQuestionQuestionTypeEnum}
39
39
  * @memberof PutQuestion
40
40
  */
@@ -96,7 +96,10 @@ export interface PutQuestion {
96
96
  export const PutQuestionQuestionTypeEnum = {
97
97
  SingleAnswer: 'single_answer',
98
98
  MultipleAnswer: 'multiple_answer',
99
- FillInBlank: 'fill_in_blank'
99
+ FillInBlank: 'fill_in_blank',
100
+ ShortAnswer: 'short_answer',
101
+ Matching: 'matching',
102
+ Essay: 'essay'
100
103
  } as const;
101
104
  export type PutQuestionQuestionTypeEnum = typeof PutQuestionQuestionTypeEnum[keyof typeof PutQuestionQuestionTypeEnum];
102
105
 
@@ -12,6 +12,13 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
 
15
+ import type { Essay } from './Essay';
16
+ import {
17
+ instanceOfEssay,
18
+ EssayFromJSON,
19
+ EssayFromJSONTyped,
20
+ EssayToJSON,
21
+ } from './Essay';
15
22
  import type { FillInBlank } from './FillInBlank';
16
23
  import {
17
24
  instanceOfFillInBlank,
@@ -19,6 +26,13 @@ import {
19
26
  FillInBlankFromJSONTyped,
20
27
  FillInBlankToJSON,
21
28
  } from './FillInBlank';
29
+ import type { Matching } from './Matching';
30
+ import {
31
+ instanceOfMatching,
32
+ MatchingFromJSON,
33
+ MatchingFromJSONTyped,
34
+ MatchingToJSON,
35
+ } from './Matching';
22
36
  import type { MultipleAnswer } from './MultipleAnswer';
23
37
  import {
24
38
  instanceOfMultipleAnswer,
@@ -26,6 +40,13 @@ import {
26
40
  MultipleAnswerFromJSONTyped,
27
41
  MultipleAnswerToJSON,
28
42
  } from './MultipleAnswer';
43
+ import type { ShortAnswer } from './ShortAnswer';
44
+ import {
45
+ instanceOfShortAnswer,
46
+ ShortAnswerFromJSON,
47
+ ShortAnswerFromJSONTyped,
48
+ ShortAnswerToJSON,
49
+ } from './ShortAnswer';
29
50
  import type { SingleAnswer } from './SingleAnswer';
30
51
  import {
31
52
  instanceOfSingleAnswer,
@@ -39,7 +60,7 @@ import {
39
60
  * Answer based on question type
40
61
  * @export
41
62
  */
42
- export type PutQuizAnswerAnswer = FillInBlank | MultipleAnswer | SingleAnswer;
63
+ export type PutQuizAnswerAnswer = Essay | FillInBlank | Matching | MultipleAnswer | ShortAnswer | SingleAnswer;
43
64
 
44
65
  export function PutQuizAnswerAnswerFromJSON(json: any): PutQuizAnswerAnswer {
45
66
  return PutQuizAnswerAnswerFromJSONTyped(json, false);
@@ -52,12 +73,21 @@ export function PutQuizAnswerAnswerFromJSONTyped(json: any, ignoreDiscriminator:
52
73
  if (typeof json !== 'object') {
53
74
  return json;
54
75
  }
76
+ if (instanceOfEssay(json)) {
77
+ return EssayFromJSONTyped(json, true);
78
+ }
55
79
  if (instanceOfFillInBlank(json)) {
56
80
  return FillInBlankFromJSONTyped(json, true);
57
81
  }
82
+ if (instanceOfMatching(json)) {
83
+ return MatchingFromJSONTyped(json, true);
84
+ }
58
85
  if (instanceOfMultipleAnswer(json)) {
59
86
  return MultipleAnswerFromJSONTyped(json, true);
60
87
  }
88
+ if (instanceOfShortAnswer(json)) {
89
+ return ShortAnswerFromJSONTyped(json, true);
90
+ }
61
91
  if (instanceOfSingleAnswer(json)) {
62
92
  return SingleAnswerFromJSONTyped(json, true);
63
93
  }
@@ -75,12 +105,21 @@ export function PutQuizAnswerAnswerToJSONTyped(value?: PutQuizAnswerAnswer | nul
75
105
  if (typeof value !== 'object') {
76
106
  return value;
77
107
  }
108
+ if (instanceOfEssay(value)) {
109
+ return EssayToJSON(value as Essay);
110
+ }
78
111
  if (instanceOfFillInBlank(value)) {
79
112
  return FillInBlankToJSON(value as FillInBlank);
80
113
  }
114
+ if (instanceOfMatching(value)) {
115
+ return MatchingToJSON(value as Matching);
116
+ }
81
117
  if (instanceOfMultipleAnswer(value)) {
82
118
  return MultipleAnswerToJSON(value as MultipleAnswer);
83
119
  }
120
+ if (instanceOfShortAnswer(value)) {
121
+ return ShortAnswerToJSON(value as ShortAnswer);
122
+ }
84
123
  if (instanceOfSingleAnswer(value)) {
85
124
  return SingleAnswerToJSON(value as SingleAnswer);
86
125
  }
@@ -0,0 +1,74 @@
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 PutQuizAnswerGrade
20
+ */
21
+ export interface PutQuizAnswerGrade {
22
+ /**
23
+ * Points to award for this answer (0 to max points for the question)
24
+ * @type {number}
25
+ * @memberof PutQuizAnswerGrade
26
+ */
27
+ pointsEarned: number;
28
+ /**
29
+ * Optional instructor feedback or comments
30
+ * @type {string}
31
+ * @memberof PutQuizAnswerGrade
32
+ */
33
+ feedback?: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the PutQuizAnswerGrade interface.
38
+ */
39
+ export function instanceOfPutQuizAnswerGrade(value: object): value is PutQuizAnswerGrade {
40
+ if (!('pointsEarned' in value) || value['pointsEarned'] === undefined) return false;
41
+ return true;
42
+ }
43
+
44
+ export function PutQuizAnswerGradeFromJSON(json: any): PutQuizAnswerGrade {
45
+ return PutQuizAnswerGradeFromJSONTyped(json, false);
46
+ }
47
+
48
+ export function PutQuizAnswerGradeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PutQuizAnswerGrade {
49
+ if (json == null) {
50
+ return json;
51
+ }
52
+ return {
53
+
54
+ 'pointsEarned': json['points_earned'],
55
+ 'feedback': json['feedback'] == null ? undefined : json['feedback'],
56
+ };
57
+ }
58
+
59
+ export function PutQuizAnswerGradeToJSON(json: any): PutQuizAnswerGrade {
60
+ return PutQuizAnswerGradeToJSONTyped(json, false);
61
+ }
62
+
63
+ export function PutQuizAnswerGradeToJSONTyped(value?: PutQuizAnswerGrade | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'points_earned': value['pointsEarned'],
71
+ 'feedback': value['feedback'],
72
+ };
73
+ }
74
+
@@ -0,0 +1,85 @@
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 ShortAnswer
20
+ */
21
+ export interface ShortAnswer {
22
+ /**
23
+ *
24
+ * @type {ShortAnswerTypeEnum}
25
+ * @memberof ShortAnswer
26
+ */
27
+ type: ShortAnswerTypeEnum;
28
+ /**
29
+ * Short text answer
30
+ * @type {string}
31
+ * @memberof ShortAnswer
32
+ */
33
+ textAnswer: string;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const ShortAnswerTypeEnum = {
41
+ ShortAnswer: 'short_answer'
42
+ } as const;
43
+ export type ShortAnswerTypeEnum = typeof ShortAnswerTypeEnum[keyof typeof ShortAnswerTypeEnum];
44
+
45
+
46
+ /**
47
+ * Check if a given object implements the ShortAnswer interface.
48
+ */
49
+ export function instanceOfShortAnswer(value: object): value is ShortAnswer {
50
+ if (!('type' in value) || value['type'] === undefined) return false;
51
+ if (!('textAnswer' in value) || value['textAnswer'] === undefined) return false;
52
+ return true;
53
+ }
54
+
55
+ export function ShortAnswerFromJSON(json: any): ShortAnswer {
56
+ return ShortAnswerFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function ShortAnswerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShortAnswer {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+
65
+ 'type': json['type'],
66
+ 'textAnswer': json['text_answer'],
67
+ };
68
+ }
69
+
70
+ export function ShortAnswerToJSON(json: any): ShortAnswer {
71
+ return ShortAnswerToJSONTyped(json, false);
72
+ }
73
+
74
+ export function ShortAnswerToJSONTyped(value?: ShortAnswer | null, ignoreDiscriminator: boolean = false): any {
75
+ if (value == null) {
76
+ return value;
77
+ }
78
+
79
+ return {
80
+
81
+ 'type': value['type'],
82
+ 'text_answer': value['textAnswer'],
83
+ };
84
+ }
85
+