@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
package/docs/UserApi.md CHANGED
@@ -5,6 +5,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
5
5
  | Method | HTTP request | Description |
6
6
  |------------- | ------------- | -------------|
7
7
  | [**getAuthCheck**](UserApi.md#getauthcheck) | **GET** /auth/check | Check if a user is logged in |
8
+ | [**getCurrentUserPermissions**](UserApi.md#getcurrentuserpermissions) | **GET** /users/current/permissions | Get the current user\'s permissions |
8
9
  | [**getUser**](UserApi.md#getuser) | **GET** /users/{userId} | Get a user by id |
9
10
  | [**postLogin**](UserApi.md#postlogin) | **POST** /auth/login | Post a new login |
10
11
  | [**postLogout**](UserApi.md#postlogout) | **POST** /auth/logout | Logout a user |
@@ -72,6 +73,66 @@ No authorization required
72
73
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
73
74
 
74
75
 
76
+ ## getCurrentUserPermissions
77
+
78
+ > Array<string> getCurrentUserPermissions()
79
+
80
+ Get the current user\'s permissions
81
+
82
+ Returns an array of permission key strings for the authenticated user\'s current portal
83
+
84
+ ### Example
85
+
86
+ ```ts
87
+ import {
88
+ Configuration,
89
+ UserApi,
90
+ } from '@easyedu/js-lsm-api';
91
+ import type { GetCurrentUserPermissionsRequest } from '@easyedu/js-lsm-api';
92
+
93
+ async function example() {
94
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
95
+ const api = new UserApi();
96
+
97
+ try {
98
+ const data = await api.getCurrentUserPermissions();
99
+ console.log(data);
100
+ } catch (error) {
101
+ console.error(error);
102
+ }
103
+ }
104
+
105
+ // Run the test
106
+ example().catch(console.error);
107
+ ```
108
+
109
+ ### Parameters
110
+
111
+ This endpoint does not need any parameter.
112
+
113
+ ### Return type
114
+
115
+ **Array<string>**
116
+
117
+ ### Authorization
118
+
119
+ No authorization required
120
+
121
+ ### HTTP request headers
122
+
123
+ - **Content-Type**: Not defined
124
+ - **Accept**: `application/json`
125
+
126
+
127
+ ### HTTP response details
128
+ | Status code | Description | Response headers |
129
+ |-------------|-------------|------------------|
130
+ | **200** | List of permission keys | - |
131
+ | **401** | Unauthorized | - |
132
+
133
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
134
+
135
+
75
136
  ## getUser
76
137
 
77
138
  > GetUser getUser(userId)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.34.0",
3
+ "version": "1.36.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -36,6 +36,7 @@ import type {
36
36
  PostQuizQuestions,
37
37
  PutQuiz,
38
38
  PutQuizAnswer,
39
+ PutQuizAnswerGrade,
39
40
  } from '../models/index';
40
41
  import {
41
42
  GetManualQuestionSelectionItemFromJSON,
@@ -80,6 +81,8 @@ import {
80
81
  PutQuizToJSON,
81
82
  PutQuizAnswerFromJSON,
82
83
  PutQuizAnswerToJSON,
84
+ PutQuizAnswerGradeFromJSON,
85
+ PutQuizAnswerGradeToJSON,
83
86
  } from '../models/index';
84
87
 
85
88
  export interface AddQuizCriteriaQuestionSelectionRequest {
@@ -183,6 +186,12 @@ export interface GetUserQuizAttemptsRequest {
183
186
  status?: GetUserQuizAttemptsStatusEnum;
184
187
  }
185
188
 
189
+ export interface GradeQuizAnswerRequest {
190
+ attemptId: string;
191
+ questionId: string;
192
+ putQuizAnswerGrade: PutQuizAnswerGrade;
193
+ }
194
+
186
195
  export interface RemoveQuizQuestionRequest {
187
196
  quizId: string;
188
197
  questionId: string;
@@ -1202,6 +1211,70 @@ export class QuizApi extends runtime.BaseAPI {
1202
1211
  return await response.value();
1203
1212
  }
1204
1213
 
1214
+ /**
1215
+ * Creates request options for gradeQuizAnswer without sending the request
1216
+ */
1217
+ async gradeQuizAnswerRequestOpts(requestParameters: GradeQuizAnswerRequest): Promise<runtime.RequestOpts> {
1218
+ if (requestParameters['attemptId'] == null) {
1219
+ throw new runtime.RequiredError(
1220
+ 'attemptId',
1221
+ 'Required parameter "attemptId" was null or undefined when calling gradeQuizAnswer().'
1222
+ );
1223
+ }
1224
+
1225
+ if (requestParameters['questionId'] == null) {
1226
+ throw new runtime.RequiredError(
1227
+ 'questionId',
1228
+ 'Required parameter "questionId" was null or undefined when calling gradeQuizAnswer().'
1229
+ );
1230
+ }
1231
+
1232
+ if (requestParameters['putQuizAnswerGrade'] == null) {
1233
+ throw new runtime.RequiredError(
1234
+ 'putQuizAnswerGrade',
1235
+ 'Required parameter "putQuizAnswerGrade" was null or undefined when calling gradeQuizAnswer().'
1236
+ );
1237
+ }
1238
+
1239
+ const queryParameters: any = {};
1240
+
1241
+ const headerParameters: runtime.HTTPHeaders = {};
1242
+
1243
+ headerParameters['Content-Type'] = 'application/json';
1244
+
1245
+
1246
+ let urlPath = `/quiz-attempts/{attemptId}/answers/{questionId}/grade`;
1247
+ urlPath = urlPath.replace(`{${"attemptId"}}`, encodeURIComponent(String(requestParameters['attemptId'])));
1248
+ urlPath = urlPath.replace(`{${"questionId"}}`, encodeURIComponent(String(requestParameters['questionId'])));
1249
+
1250
+ return {
1251
+ path: urlPath,
1252
+ method: 'PUT',
1253
+ headers: headerParameters,
1254
+ query: queryParameters,
1255
+ body: PutQuizAnswerGradeToJSON(requestParameters['putQuizAnswerGrade']),
1256
+ };
1257
+ }
1258
+
1259
+ /**
1260
+ * Allows an instructor to grade an essay or override the score for any question type.
1261
+ * Grade or override score for a question answer
1262
+ */
1263
+ async gradeQuizAnswerRaw(requestParameters: GradeQuizAnswerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
1264
+ const requestOptions = await this.gradeQuizAnswerRequestOpts(requestParameters);
1265
+ const response = await this.request(requestOptions, initOverrides);
1266
+
1267
+ return new runtime.VoidApiResponse(response);
1268
+ }
1269
+
1270
+ /**
1271
+ * Allows an instructor to grade an essay or override the score for any question type.
1272
+ * Grade or override score for a question answer
1273
+ */
1274
+ async gradeQuizAnswer(requestParameters: GradeQuizAnswerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
1275
+ await this.gradeQuizAnswerRaw(requestParameters, initOverrides);
1276
+ }
1277
+
1205
1278
  /**
1206
1279
  * Creates request options for removeQuizQuestion without sending the request
1207
1280
  */
@@ -99,6 +99,45 @@ export class UserApi extends runtime.BaseAPI {
99
99
  await this.getAuthCheckRaw(initOverrides);
100
100
  }
101
101
 
102
+ /**
103
+ * Creates request options for getCurrentUserPermissions without sending the request
104
+ */
105
+ async getCurrentUserPermissionsRequestOpts(): Promise<runtime.RequestOpts> {
106
+ const queryParameters: any = {};
107
+
108
+ const headerParameters: runtime.HTTPHeaders = {};
109
+
110
+
111
+ let urlPath = `/users/current/permissions`;
112
+
113
+ return {
114
+ path: urlPath,
115
+ method: 'GET',
116
+ headers: headerParameters,
117
+ query: queryParameters,
118
+ };
119
+ }
120
+
121
+ /**
122
+ * Returns an array of permission key strings for the authenticated user\'s current portal
123
+ * Get the current user\'s permissions
124
+ */
125
+ async getCurrentUserPermissionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<string>>> {
126
+ const requestOptions = await this.getCurrentUserPermissionsRequestOpts();
127
+ const response = await this.request(requestOptions, initOverrides);
128
+
129
+ return new runtime.JSONApiResponse<any>(response);
130
+ }
131
+
132
+ /**
133
+ * Returns an array of permission key strings for the authenticated user\'s current portal
134
+ * Get the current user\'s permissions
135
+ */
136
+ async getCurrentUserPermissions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<string>> {
137
+ const response = await this.getCurrentUserPermissionsRaw(initOverrides);
138
+ return await response.value();
139
+ }
140
+
102
141
  /**
103
142
  * Creates request options for getUser without sending the request
104
143
  */
@@ -68,7 +68,10 @@ export type CriteriaBasedSelectionCriteriaDifficultyLevelsEnum = typeof Criteria
68
68
  export const CriteriaBasedSelectionCriteriaQuestionTypesEnum = {
69
69
  SingleAnswer: 'single_answer',
70
70
  MultipleAnswer: 'multiple_answer',
71
- FillInBlank: 'fill_in_blank'
71
+ FillInBlank: 'fill_in_blank',
72
+ ShortAnswer: 'short_answer',
73
+ Matching: 'matching',
74
+ Essay: 'essay'
72
75
  } as const;
73
76
  export type CriteriaBasedSelectionCriteriaQuestionTypesEnum = typeof CriteriaBasedSelectionCriteriaQuestionTypesEnum[keyof typeof CriteriaBasedSelectionCriteriaQuestionTypesEnum];
74
77
 
@@ -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 Essay
20
+ */
21
+ export interface Essay {
22
+ /**
23
+ *
24
+ * @type {EssayTypeEnum}
25
+ * @memberof Essay
26
+ */
27
+ type: EssayTypeEnum;
28
+ /**
29
+ * Essay response text
30
+ * @type {string}
31
+ * @memberof Essay
32
+ */
33
+ textAnswer: string;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const EssayTypeEnum = {
41
+ Essay: 'essay'
42
+ } as const;
43
+ export type EssayTypeEnum = typeof EssayTypeEnum[keyof typeof EssayTypeEnum];
44
+
45
+
46
+ /**
47
+ * Check if a given object implements the Essay interface.
48
+ */
49
+ export function instanceOfEssay(value: object): value is Essay {
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 EssayFromJSON(json: any): Essay {
56
+ return EssayFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function EssayFromJSONTyped(json: any, ignoreDiscriminator: boolean): Essay {
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 EssayToJSON(json: any): Essay {
71
+ return EssayToJSONTyped(json, false);
72
+ }
73
+
74
+ export function EssayToJSONTyped(value?: Essay | 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
+
@@ -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 Essay1
20
+ */
21
+ export interface Essay1 {
22
+ /**
23
+ *
24
+ * @type {Essay1TypeEnum}
25
+ * @memberof Essay1
26
+ */
27
+ type: Essay1TypeEnum;
28
+ /**
29
+ * Essay response text
30
+ * @type {string}
31
+ * @memberof Essay1
32
+ */
33
+ textAnswer: string;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const Essay1TypeEnum = {
41
+ Essay: 'essay'
42
+ } as const;
43
+ export type Essay1TypeEnum = typeof Essay1TypeEnum[keyof typeof Essay1TypeEnum];
44
+
45
+
46
+ /**
47
+ * Check if a given object implements the Essay1 interface.
48
+ */
49
+ export function instanceOfEssay1(value: object): value is Essay1 {
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 Essay1FromJSON(json: any): Essay1 {
56
+ return Essay1FromJSONTyped(json, false);
57
+ }
58
+
59
+ export function Essay1FromJSONTyped(json: any, ignoreDiscriminator: boolean): Essay1 {
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 Essay1ToJSON(json: any): Essay1 {
71
+ return Essay1ToJSONTyped(json, false);
72
+ }
73
+
74
+ export function Essay1ToJSONTyped(value?: Essay1 | 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
+
@@ -40,7 +40,7 @@ export interface GetQuestion {
40
40
  */
41
41
  questionText: string;
42
42
  /**
43
- * Type of question: single answer (True/False, multiple choice), multiple answer, or fill in the blank
43
+ * Type of question
44
44
  * @type {GetQuestionQuestionTypeEnum}
45
45
  * @memberof GetQuestion
46
46
  */
@@ -126,7 +126,10 @@ export interface GetQuestion {
126
126
  export const GetQuestionQuestionTypeEnum = {
127
127
  SingleAnswer: 'single_answer',
128
128
  MultipleAnswer: 'multiple_answer',
129
- FillInBlank: 'fill_in_blank'
129
+ FillInBlank: 'fill_in_blank',
130
+ ShortAnswer: 'short_answer',
131
+ Matching: 'matching',
132
+ Essay: 'essay'
130
133
  } as const;
131
134
  export type GetQuestionQuestionTypeEnum = typeof GetQuestionQuestionTypeEnum[keyof typeof GetQuestionQuestionTypeEnum];
132
135
 
@@ -76,7 +76,10 @@ export interface GetQuestionListFilters {
76
76
  export const GetQuestionListFiltersQuestionTypeEnum = {
77
77
  SingleAnswer: 'single_answer',
78
78
  MultipleAnswer: 'multiple_answer',
79
- FillInBlank: 'fill_in_blank'
79
+ FillInBlank: 'fill_in_blank',
80
+ ShortAnswer: 'short_answer',
81
+ Matching: 'matching',
82
+ Essay: 'essay'
80
83
  } as const;
81
84
  export type GetQuestionListFiltersQuestionTypeEnum = typeof GetQuestionListFiltersQuestionTypeEnum[keyof typeof GetQuestionListFiltersQuestionTypeEnum];
82
85
 
@@ -64,7 +64,10 @@ export interface GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInner
64
64
  export const GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInnerQuestionTypeEnum = {
65
65
  SingleAnswer: 'single_answer',
66
66
  MultipleAnswer: 'multiple_answer',
67
- FillInBlank: 'fill_in_blank'
67
+ FillInBlank: 'fill_in_blank',
68
+ ShortAnswer: 'short_answer',
69
+ Matching: 'matching',
70
+ Essay: 'essay'
68
71
  } as const;
69
72
  export type GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInnerQuestionTypeEnum = typeof GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInnerQuestionTypeEnum[keyof typeof GetQuizAttemptAnalyticsPerformanceBreakdownByQuestionTypeInnerQuestionTypeEnum];
70
73
 
@@ -121,7 +121,10 @@ export interface GetQuizAttemptAnalyticsQuestionAnalysisInner {
121
121
  export const GetQuizAttemptAnalyticsQuestionAnalysisInnerQuestionTypeEnum = {
122
122
  SingleAnswer: 'single_answer',
123
123
  MultipleAnswer: 'multiple_answer',
124
- FillInBlank: 'fill_in_blank'
124
+ FillInBlank: 'fill_in_blank',
125
+ ShortAnswer: 'short_answer',
126
+ Matching: 'matching',
127
+ Essay: 'essay'
125
128
  } as const;
126
129
  export type GetQuizAttemptAnalyticsQuestionAnalysisInnerQuestionTypeEnum = typeof GetQuizAttemptAnalyticsQuestionAnalysisInnerQuestionTypeEnum[keyof typeof GetQuizAttemptAnalyticsQuestionAnalysisInnerQuestionTypeEnum];
127
130
 
@@ -103,7 +103,10 @@ export interface GetQuizAttemptQuestionsInner {
103
103
  export const GetQuizAttemptQuestionsInnerQuestionTypeEnum = {
104
104
  SingleAnswer: 'single_answer',
105
105
  MultipleAnswer: 'multiple_answer',
106
- FillInBlank: 'fill_in_blank'
106
+ FillInBlank: 'fill_in_blank',
107
+ ShortAnswer: 'short_answer',
108
+ Matching: 'matching',
109
+ Essay: 'essay'
107
110
  } as const;
108
111
  export type GetQuizAttemptQuestionsInnerQuestionTypeEnum = typeof GetQuizAttemptQuestionsInnerQuestionTypeEnum[keyof typeof GetQuizAttemptQuestionsInnerQuestionTypeEnum];
109
112
 
@@ -116,7 +116,10 @@ export type GetQuizCriteriaItemDifficultyLevelEnum = typeof GetQuizCriteriaItemD
116
116
  export const GetQuizCriteriaItemQuestionTypeEnum = {
117
117
  SingleAnswer: 'single_answer',
118
118
  MultipleAnswer: 'multiple_answer',
119
- FillInBlank: 'fill_in_blank'
119
+ FillInBlank: 'fill_in_blank',
120
+ ShortAnswer: 'short_answer',
121
+ Matching: 'matching',
122
+ Essay: 'essay'
120
123
  } as const;
121
124
  export type GetQuizCriteriaItemQuestionTypeEnum = typeof GetQuizCriteriaItemQuestionTypeEnum[keyof typeof GetQuizCriteriaItemQuestionTypeEnum];
122
125
 
@@ -116,7 +116,10 @@ export type GetQuizCriteriaListItemsInnerDifficultyLevelEnum = typeof GetQuizCri
116
116
  export const GetQuizCriteriaListItemsInnerQuestionTypeEnum = {
117
117
  SingleAnswer: 'single_answer',
118
118
  MultipleAnswer: 'multiple_answer',
119
- FillInBlank: 'fill_in_blank'
119
+ FillInBlank: 'fill_in_blank',
120
+ ShortAnswer: 'short_answer',
121
+ Matching: 'matching',
122
+ Essay: 'essay'
120
123
  } as const;
121
124
  export type GetQuizCriteriaListItemsInnerQuestionTypeEnum = typeof GetQuizCriteriaListItemsInnerQuestionTypeEnum[keyof typeof GetQuizCriteriaListItemsInnerQuestionTypeEnum];
122
125
 
@@ -96,7 +96,10 @@ export interface GetQuizQuestionsItemsInnerQuestionDetails {
96
96
  export const GetQuizQuestionsItemsInnerQuestionDetailsQuestionTypeEnum = {
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 GetQuizQuestionsItemsInnerQuestionDetailsQuestionTypeEnum = typeof GetQuizQuestionsItemsInnerQuestionDetailsQuestionTypeEnum[keyof typeof GetQuizQuestionsItemsInnerQuestionDetailsQuestionTypeEnum];
102
105
 
@@ -97,7 +97,10 @@ export interface GetQuizResultsQuestionsInner {
97
97
  export const GetQuizResultsQuestionsInnerQuestionTypeEnum = {
98
98
  SingleAnswer: 'single_answer',
99
99
  MultipleAnswer: 'multiple_answer',
100
- FillInBlank: 'fill_in_blank'
100
+ FillInBlank: 'fill_in_blank',
101
+ ShortAnswer: 'short_answer',
102
+ Matching: 'matching',
103
+ Essay: 'essay'
101
104
  } as const;
102
105
  export type GetQuizResultsQuestionsInnerQuestionTypeEnum = typeof GetQuizResultsQuestionsInnerQuestionTypeEnum[keyof typeof GetQuizResultsQuestionsInnerQuestionTypeEnum];
103
106
 
@@ -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 { MatchingPairsInner } from './MatchingPairsInner';
17
+ import {
18
+ MatchingPairsInnerFromJSON,
19
+ MatchingPairsInnerFromJSONTyped,
20
+ MatchingPairsInnerToJSON,
21
+ MatchingPairsInnerToJSONTyped,
22
+ } from './MatchingPairsInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface Matching
28
+ */
29
+ export interface Matching {
30
+ /**
31
+ *
32
+ * @type {MatchingTypeEnum}
33
+ * @memberof Matching
34
+ */
35
+ type: MatchingTypeEnum;
36
+ /**
37
+ * User's matching pair selections
38
+ * @type {Array<MatchingPairsInner>}
39
+ * @memberof Matching
40
+ */
41
+ pairs: Array<MatchingPairsInner>;
42
+ }
43
+
44
+
45
+ /**
46
+ * @export
47
+ */
48
+ export const MatchingTypeEnum = {
49
+ Matching: 'matching'
50
+ } as const;
51
+ export type MatchingTypeEnum = typeof MatchingTypeEnum[keyof typeof MatchingTypeEnum];
52
+
53
+
54
+ /**
55
+ * Check if a given object implements the Matching interface.
56
+ */
57
+ export function instanceOfMatching(value: object): value is Matching {
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 MatchingFromJSON(json: any): Matching {
64
+ return MatchingFromJSONTyped(json, false);
65
+ }
66
+
67
+ export function MatchingFromJSONTyped(json: any, ignoreDiscriminator: boolean): Matching {
68
+ if (json == null) {
69
+ return json;
70
+ }
71
+ return {
72
+
73
+ 'type': json['type'],
74
+ 'pairs': ((json['pairs'] as Array<any>).map(MatchingPairsInnerFromJSON)),
75
+ };
76
+ }
77
+
78
+ export function MatchingToJSON(json: any): Matching {
79
+ return MatchingToJSONTyped(json, false);
80
+ }
81
+
82
+ export function MatchingToJSONTyped(value?: Matching | 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(MatchingPairsInnerToJSON)),
91
+ };
92
+ }
93
+