@easyedu/js-lsm-api 1.91.0 → 1.92.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 (175) hide show
  1. package/.openapi-generator/FILES +50 -0
  2. package/README.md +52 -2
  3. package/dist/apis/ContentLibraryQuizApi.d.ts +451 -0
  4. package/dist/apis/ContentLibraryQuizApi.js +1162 -0
  5. package/dist/apis/PlayerApi.d.ts +15 -0
  6. package/dist/apis/PlayerApi.js +44 -0
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/esm/apis/ContentLibraryQuizApi.d.ts +451 -0
  10. package/dist/esm/apis/ContentLibraryQuizApi.js +1158 -0
  11. package/dist/esm/apis/PlayerApi.d.ts +15 -0
  12. package/dist/esm/apis/PlayerApi.js +44 -0
  13. package/dist/esm/apis/index.d.ts +1 -0
  14. package/dist/esm/apis/index.js +1 -0
  15. package/dist/esm/models/GetCourseVersionItem.d.ts +14 -0
  16. package/dist/esm/models/GetCourseVersionItem.js +9 -0
  17. package/dist/esm/models/GetLibraryQuiz.d.ts +124 -0
  18. package/dist/esm/models/GetLibraryQuiz.js +100 -0
  19. package/dist/esm/models/GetLibraryQuizAnalytics.d.ts +68 -0
  20. package/dist/esm/models/GetLibraryQuizAnalytics.js +67 -0
  21. package/dist/esm/models/GetLibraryQuizList.d.ts +57 -0
  22. package/dist/esm/models/GetLibraryQuizList.js +60 -0
  23. package/dist/esm/models/GetLibraryQuizResult.d.ts +94 -0
  24. package/dist/esm/models/GetLibraryQuizResult.js +79 -0
  25. package/dist/esm/models/GetLibraryQuizSession.d.ts +177 -0
  26. package/dist/esm/models/GetLibraryQuizSession.js +129 -0
  27. package/dist/esm/models/GetLibraryQuizSessionList.d.ts +57 -0
  28. package/dist/esm/models/GetLibraryQuizSessionList.js +60 -0
  29. package/dist/esm/models/GetLibraryQuizUsage.d.ts +56 -0
  30. package/dist/esm/models/GetLibraryQuizUsage.js +59 -0
  31. package/dist/esm/models/GetLibraryQuizVersion.d.ts +170 -0
  32. package/dist/esm/models/GetLibraryQuizVersion.js +125 -0
  33. package/dist/esm/models/LibraryQuizCriterion.d.ts +95 -0
  34. package/dist/esm/models/LibraryQuizCriterion.js +76 -0
  35. package/dist/esm/models/LibraryQuizQuestion.d.ts +70 -0
  36. package/dist/esm/models/LibraryQuizQuestion.js +63 -0
  37. package/dist/esm/models/LibraryQuizQuestionInput.d.ts +50 -0
  38. package/dist/esm/models/LibraryQuizQuestionInput.js +51 -0
  39. package/dist/esm/models/LibraryQuizSessionAnswerChoice.d.ts +51 -0
  40. package/dist/esm/models/LibraryQuizSessionAnswerChoice.js +54 -0
  41. package/dist/esm/models/LibraryQuizSessionQuestion.d.ts +96 -0
  42. package/dist/esm/models/LibraryQuizSessionQuestion.js +84 -0
  43. package/dist/esm/models/PostCourseLibraryQuizSession.d.ts +32 -0
  44. package/dist/esm/models/PostCourseLibraryQuizSession.js +41 -0
  45. package/dist/esm/models/PostLibraryQuiz.d.ts +107 -0
  46. package/dist/esm/models/PostLibraryQuiz.js +70 -0
  47. package/dist/esm/models/PostLibraryQuizSession.d.ts +32 -0
  48. package/dist/esm/models/PostLibraryQuizSession.js +41 -0
  49. package/dist/esm/models/PostLibraryQuizVersion.d.ts +32 -0
  50. package/dist/esm/models/PostLibraryQuizVersion.js +41 -0
  51. package/dist/esm/models/PutLibraryQuiz.d.ts +38 -0
  52. package/dist/esm/models/PutLibraryQuiz.js +43 -0
  53. package/dist/esm/models/PutLibraryQuizCriteria.d.ts +33 -0
  54. package/dist/esm/models/PutLibraryQuizCriteria.js +44 -0
  55. package/dist/esm/models/PutLibraryQuizQuestions.d.ts +33 -0
  56. package/dist/esm/models/PutLibraryQuizQuestions.js +44 -0
  57. package/dist/esm/models/PutLibraryQuizSessionAnswer.d.ts +40 -0
  58. package/dist/esm/models/PutLibraryQuizSessionAnswer.js +45 -0
  59. package/dist/esm/models/PutLibraryQuizSessionGrade.d.ts +38 -0
  60. package/dist/esm/models/PutLibraryQuizSessionGrade.js +45 -0
  61. package/dist/esm/models/PutLibraryQuizVersion.d.ts +101 -0
  62. package/dist/esm/models/PutLibraryQuizVersion.js +64 -0
  63. package/dist/esm/models/QuestionSelectionMethod.d.ts +25 -0
  64. package/dist/esm/models/QuestionSelectionMethod.js +43 -0
  65. package/dist/esm/models/index.d.ts +24 -0
  66. package/dist/esm/models/index.js +24 -0
  67. package/dist/models/GetCourseVersionItem.d.ts +14 -0
  68. package/dist/models/GetCourseVersionItem.js +10 -1
  69. package/dist/models/GetLibraryQuiz.d.ts +124 -0
  70. package/dist/models/GetLibraryQuiz.js +108 -0
  71. package/dist/models/GetLibraryQuizAnalytics.d.ts +68 -0
  72. package/dist/models/GetLibraryQuizAnalytics.js +74 -0
  73. package/dist/models/GetLibraryQuizList.d.ts +57 -0
  74. package/dist/models/GetLibraryQuizList.js +67 -0
  75. package/dist/models/GetLibraryQuizResult.d.ts +94 -0
  76. package/dist/models/GetLibraryQuizResult.js +86 -0
  77. package/dist/models/GetLibraryQuizSession.d.ts +177 -0
  78. package/dist/models/GetLibraryQuizSession.js +137 -0
  79. package/dist/models/GetLibraryQuizSessionList.d.ts +57 -0
  80. package/dist/models/GetLibraryQuizSessionList.js +67 -0
  81. package/dist/models/GetLibraryQuizUsage.d.ts +56 -0
  82. package/dist/models/GetLibraryQuizUsage.js +66 -0
  83. package/dist/models/GetLibraryQuizVersion.d.ts +170 -0
  84. package/dist/models/GetLibraryQuizVersion.js +132 -0
  85. package/dist/models/LibraryQuizCriterion.d.ts +95 -0
  86. package/dist/models/LibraryQuizCriterion.js +84 -0
  87. package/dist/models/LibraryQuizQuestion.d.ts +70 -0
  88. package/dist/models/LibraryQuizQuestion.js +70 -0
  89. package/dist/models/LibraryQuizQuestionInput.d.ts +50 -0
  90. package/dist/models/LibraryQuizQuestionInput.js +58 -0
  91. package/dist/models/LibraryQuizSessionAnswerChoice.d.ts +51 -0
  92. package/dist/models/LibraryQuizSessionAnswerChoice.js +61 -0
  93. package/dist/models/LibraryQuizSessionQuestion.d.ts +96 -0
  94. package/dist/models/LibraryQuizSessionQuestion.js +92 -0
  95. package/dist/models/PostCourseLibraryQuizSession.d.ts +32 -0
  96. package/dist/models/PostCourseLibraryQuizSession.js +48 -0
  97. package/dist/models/PostLibraryQuiz.d.ts +107 -0
  98. package/dist/models/PostLibraryQuiz.js +77 -0
  99. package/dist/models/PostLibraryQuizSession.d.ts +32 -0
  100. package/dist/models/PostLibraryQuizSession.js +48 -0
  101. package/dist/models/PostLibraryQuizVersion.d.ts +32 -0
  102. package/dist/models/PostLibraryQuizVersion.js +48 -0
  103. package/dist/models/PutLibraryQuiz.d.ts +38 -0
  104. package/dist/models/PutLibraryQuiz.js +50 -0
  105. package/dist/models/PutLibraryQuizCriteria.d.ts +33 -0
  106. package/dist/models/PutLibraryQuizCriteria.js +51 -0
  107. package/dist/models/PutLibraryQuizQuestions.d.ts +33 -0
  108. package/dist/models/PutLibraryQuizQuestions.js +51 -0
  109. package/dist/models/PutLibraryQuizSessionAnswer.d.ts +40 -0
  110. package/dist/models/PutLibraryQuizSessionAnswer.js +52 -0
  111. package/dist/models/PutLibraryQuizSessionGrade.d.ts +38 -0
  112. package/dist/models/PutLibraryQuizSessionGrade.js +52 -0
  113. package/dist/models/PutLibraryQuizVersion.d.ts +101 -0
  114. package/dist/models/PutLibraryQuizVersion.js +71 -0
  115. package/dist/models/QuestionSelectionMethod.d.ts +25 -0
  116. package/dist/models/QuestionSelectionMethod.js +51 -0
  117. package/dist/models/index.d.ts +24 -0
  118. package/dist/models/index.js +24 -0
  119. package/docs/ContentLibraryQuizApi.md +1780 -0
  120. package/docs/GetCourseVersionItem.md +2 -0
  121. package/docs/GetLibraryQuiz.md +62 -0
  122. package/docs/GetLibraryQuizAnalytics.md +46 -0
  123. package/docs/GetLibraryQuizList.md +42 -0
  124. package/docs/GetLibraryQuizResult.md +54 -0
  125. package/docs/GetLibraryQuizSession.md +78 -0
  126. package/docs/GetLibraryQuizSessionList.md +42 -0
  127. package/docs/GetLibraryQuizUsage.md +42 -0
  128. package/docs/GetLibraryQuizVersion.md +78 -0
  129. package/docs/LibraryQuizCriterion.md +48 -0
  130. package/docs/LibraryQuizQuestion.md +46 -0
  131. package/docs/LibraryQuizQuestionInput.md +40 -0
  132. package/docs/LibraryQuizSessionAnswerChoice.md +40 -0
  133. package/docs/LibraryQuizSessionQuestion.md +50 -0
  134. package/docs/PlayerApi.md +66 -0
  135. package/docs/PostCourseLibraryQuizSession.md +34 -0
  136. package/docs/PostLibraryQuiz.md +58 -0
  137. package/docs/PostLibraryQuizSession.md +34 -0
  138. package/docs/PostLibraryQuizVersion.md +34 -0
  139. package/docs/PutLibraryQuiz.md +36 -0
  140. package/docs/PutLibraryQuizCriteria.md +34 -0
  141. package/docs/PutLibraryQuizQuestions.md +34 -0
  142. package/docs/PutLibraryQuizSessionAnswer.md +36 -0
  143. package/docs/PutLibraryQuizSessionGrade.md +36 -0
  144. package/docs/PutLibraryQuizVersion.md +56 -0
  145. package/docs/QuestionSelectionMethod.md +32 -0
  146. package/package.json +1 -1
  147. package/src/apis/ContentLibraryQuizApi.ts +1624 -0
  148. package/src/apis/PlayerApi.ts +53 -0
  149. package/src/apis/index.ts +1 -0
  150. package/src/models/GetCourseVersionItem.ts +17 -0
  151. package/src/models/GetLibraryQuiz.ts +207 -0
  152. package/src/models/GetLibraryQuizAnalytics.ts +120 -0
  153. package/src/models/GetLibraryQuizList.ts +110 -0
  154. package/src/models/GetLibraryQuizResult.ts +154 -0
  155. package/src/models/GetLibraryQuizSession.ts +286 -0
  156. package/src/models/GetLibraryQuizSessionList.ts +110 -0
  157. package/src/models/GetLibraryQuizUsage.ts +102 -0
  158. package/src/models/GetLibraryQuizVersion.ts +290 -0
  159. package/src/models/LibraryQuizCriterion.ts +147 -0
  160. package/src/models/LibraryQuizQuestion.ts +118 -0
  161. package/src/models/LibraryQuizQuestionInput.ts +91 -0
  162. package/src/models/LibraryQuizSessionAnswerChoice.ts +100 -0
  163. package/src/models/LibraryQuizSessionQuestion.ts +166 -0
  164. package/src/models/PostCourseLibraryQuizSession.ts +65 -0
  165. package/src/models/PostLibraryQuiz.ts +173 -0
  166. package/src/models/PostLibraryQuizSession.ts +65 -0
  167. package/src/models/PostLibraryQuizVersion.ts +65 -0
  168. package/src/models/PutLibraryQuiz.ts +73 -0
  169. package/src/models/PutLibraryQuizCriteria.ts +74 -0
  170. package/src/models/PutLibraryQuizQuestions.ts +74 -0
  171. package/src/models/PutLibraryQuizSessionAnswer.ts +74 -0
  172. package/src/models/PutLibraryQuizSessionGrade.ts +74 -0
  173. package/src/models/PutLibraryQuizVersion.ts +163 -0
  174. package/src/models/QuestionSelectionMethod.ts +53 -0
  175. package/src/models/index.ts +24 -0
@@ -90,6 +90,10 @@ export interface GetImagePlayerRequest {
90
90
  sessionId: string;
91
91
  }
92
92
 
93
+ export interface GetLibraryQuizSessionPlayerRequest {
94
+ sessionId: string;
95
+ }
96
+
93
97
  export interface GetPdfAssetRequest {
94
98
  contentId: string;
95
99
  }
@@ -481,6 +485,55 @@ export class PlayerApi extends runtime.BaseAPI {
481
485
  await this.getImagePlayerRaw(requestParameters, initOverrides);
482
486
  }
483
487
 
488
+ /**
489
+ * Creates request options for getLibraryQuizSessionPlayer without sending the request
490
+ */
491
+ async getLibraryQuizSessionPlayerRequestOpts(requestParameters: GetLibraryQuizSessionPlayerRequest): Promise<runtime.RequestOpts> {
492
+ if (requestParameters['sessionId'] == null) {
493
+ throw new runtime.RequiredError(
494
+ 'sessionId',
495
+ 'Required parameter "sessionId" was null or undefined when calling getLibraryQuizSessionPlayer().'
496
+ );
497
+ }
498
+
499
+ const queryParameters: any = {};
500
+
501
+ const headerParameters: runtime.HTTPHeaders = {};
502
+
503
+
504
+ let urlPath = `/quiz/sessions/{sessionId}/player`;
505
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
506
+
507
+ return {
508
+ path: urlPath,
509
+ method: 'GET',
510
+ headers: headerParameters,
511
+ query: queryParameters,
512
+ };
513
+ }
514
+
515
+ /**
516
+ * Serve the player for a reusable quiz session
517
+ */
518
+ async getLibraryQuizSessionPlayerRaw(requestParameters: GetLibraryQuizSessionPlayerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
519
+ const requestOptions = await this.getLibraryQuizSessionPlayerRequestOpts(requestParameters);
520
+ const response = await this.request(requestOptions, initOverrides);
521
+
522
+ if (this.isJsonMime(response.headers.get('content-type'))) {
523
+ return new runtime.JSONApiResponse<string>(response);
524
+ } else {
525
+ return new runtime.TextApiResponse(response) as any;
526
+ }
527
+ }
528
+
529
+ /**
530
+ * Serve the player for a reusable quiz session
531
+ */
532
+ async getLibraryQuizSessionPlayer(requestParameters: GetLibraryQuizSessionPlayerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
533
+ const response = await this.getLibraryQuizSessionPlayerRaw(requestParameters, initOverrides);
534
+ return await response.value();
535
+ }
536
+
484
537
  /**
485
538
  * Creates request options for getPdfAsset without sending the request
486
539
  */
package/src/apis/index.ts CHANGED
@@ -5,6 +5,7 @@ export * from './CertificateTemplateApi';
5
5
  export * from './ChatApi';
6
6
  export * from './ContentApi';
7
7
  export * from './ContentLibraryApi';
8
+ export * from './ContentLibraryQuizApi';
8
9
  export * from './CourseApi';
9
10
  export * from './CourseCatalogApi';
10
11
  export * from './CourseShareApi';
@@ -39,6 +39,12 @@ export interface GetCourseVersionItem {
39
39
  * @memberof GetCourseVersionItem
40
40
  */
41
41
  sourceKind: GetCourseVersionItemSourceKindEnum;
42
+ /**
43
+ * Discriminates reusable Content Library placements without changing source_kind.
44
+ * @type {GetCourseVersionItemContentLibraryKindEnum}
45
+ * @memberof GetCourseVersionItem
46
+ */
47
+ contentLibraryKind?: GetCourseVersionItemContentLibraryKindEnum | null;
42
48
  /**
43
49
  *
44
50
  * @type {string}
@@ -129,6 +135,15 @@ export const GetCourseVersionItemSourceKindEnum = {
129
135
  } as const;
130
136
  export type GetCourseVersionItemSourceKindEnum = typeof GetCourseVersionItemSourceKindEnum[keyof typeof GetCourseVersionItemSourceKindEnum];
131
137
 
138
+ /**
139
+ * @export
140
+ */
141
+ export const GetCourseVersionItemContentLibraryKindEnum = {
142
+ Resource: 'resource',
143
+ Quiz: 'quiz'
144
+ } as const;
145
+ export type GetCourseVersionItemContentLibraryKindEnum = typeof GetCourseVersionItemContentLibraryKindEnum[keyof typeof GetCourseVersionItemContentLibraryKindEnum];
146
+
132
147
  /**
133
148
  * @export
134
149
  */
@@ -168,6 +183,7 @@ export function GetCourseVersionItemFromJSONTyped(json: any, ignoreDiscriminator
168
183
 
169
184
  'id': json['id'],
170
185
  'sourceKind': json['source_kind'],
186
+ 'contentLibraryKind': json['content_library_kind'] == null ? undefined : json['content_library_kind'],
171
187
  'contentLibraryItemId': json['content_library_item_id'] == null ? undefined : json['content_library_item_id'],
172
188
  'contentLibraryVersionId': json['content_library_version_id'] == null ? undefined : json['content_library_version_id'],
173
189
  'resourceVersionNumber': json['resource_version_number'] == null ? undefined : json['resource_version_number'],
@@ -197,6 +213,7 @@ export function GetCourseVersionItemToJSONTyped(value?: GetCourseVersionItem | n
197
213
 
198
214
  'id': value['id'],
199
215
  'source_kind': value['sourceKind'],
216
+ 'content_library_kind': value['contentLibraryKind'],
200
217
  'content_library_item_id': value['contentLibraryItemId'],
201
218
  'content_library_version_id': value['contentLibraryVersionId'],
202
219
  'resource_version_number': value['resourceVersionNumber'],
@@ -0,0 +1,207 @@
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 { GetLibraryQuizVersion } from './GetLibraryQuizVersion';
17
+ import {
18
+ GetLibraryQuizVersionFromJSON,
19
+ GetLibraryQuizVersionFromJSONTyped,
20
+ GetLibraryQuizVersionToJSON,
21
+ GetLibraryQuizVersionToJSONTyped,
22
+ } from './GetLibraryQuizVersion';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetLibraryQuiz
28
+ */
29
+ export interface GetLibraryQuiz {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof GetLibraryQuiz
34
+ */
35
+ id: string;
36
+ /**
37
+ *
38
+ * @type {GetLibraryQuizKindEnum}
39
+ * @memberof GetLibraryQuiz
40
+ */
41
+ kind: GetLibraryQuizKindEnum;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof GetLibraryQuiz
46
+ */
47
+ name: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof GetLibraryQuiz
52
+ */
53
+ description: string;
54
+ /**
55
+ *
56
+ * @type {string}
57
+ * @memberof GetLibraryQuiz
58
+ */
59
+ ownerId: string;
60
+ /**
61
+ *
62
+ * @type {GetLibraryQuizVersion}
63
+ * @memberof GetLibraryQuiz
64
+ */
65
+ latestPublishedVersion?: GetLibraryQuizVersion | null;
66
+ /**
67
+ *
68
+ * @type {GetLibraryQuizVersion}
69
+ * @memberof GetLibraryQuiz
70
+ */
71
+ draftVersion?: GetLibraryQuizVersion | null;
72
+ /**
73
+ *
74
+ * @type {Array<GetLibraryQuizVersion>}
75
+ * @memberof GetLibraryQuiz
76
+ */
77
+ versions: Array<GetLibraryQuizVersion>;
78
+ /**
79
+ *
80
+ * @type {number}
81
+ * @memberof GetLibraryQuiz
82
+ */
83
+ publishedCourseCount: number;
84
+ /**
85
+ *
86
+ * @type {number}
87
+ * @memberof GetLibraryQuiz
88
+ */
89
+ draftCourseCount: number;
90
+ /**
91
+ *
92
+ * @type {number}
93
+ * @memberof GetLibraryQuiz
94
+ */
95
+ historicalCourseCount: number;
96
+ /**
97
+ *
98
+ * @type {number}
99
+ * @memberof GetLibraryQuiz
100
+ */
101
+ activeLearnerCount: number;
102
+ /**
103
+ *
104
+ * @type {number}
105
+ * @memberof GetLibraryQuiz
106
+ */
107
+ createdAt: number;
108
+ /**
109
+ *
110
+ * @type {number}
111
+ * @memberof GetLibraryQuiz
112
+ */
113
+ updatedAt: number;
114
+ /**
115
+ *
116
+ * @type {number}
117
+ * @memberof GetLibraryQuiz
118
+ */
119
+ archivedAt?: number | null;
120
+ }
121
+
122
+
123
+ /**
124
+ * @export
125
+ */
126
+ export const GetLibraryQuizKindEnum = {
127
+ Quiz: 'quiz'
128
+ } as const;
129
+ export type GetLibraryQuizKindEnum = typeof GetLibraryQuizKindEnum[keyof typeof GetLibraryQuizKindEnum];
130
+
131
+
132
+ /**
133
+ * Check if a given object implements the GetLibraryQuiz interface.
134
+ */
135
+ export function instanceOfGetLibraryQuiz(value: object): value is GetLibraryQuiz {
136
+ if (!('id' in value) || value['id'] === undefined) return false;
137
+ if (!('kind' in value) || value['kind'] === undefined) return false;
138
+ if (!('name' in value) || value['name'] === undefined) return false;
139
+ if (!('description' in value) || value['description'] === undefined) return false;
140
+ if (!('ownerId' in value) || value['ownerId'] === undefined) return false;
141
+ if (!('versions' in value) || value['versions'] === undefined) return false;
142
+ if (!('publishedCourseCount' in value) || value['publishedCourseCount'] === undefined) return false;
143
+ if (!('draftCourseCount' in value) || value['draftCourseCount'] === undefined) return false;
144
+ if (!('historicalCourseCount' in value) || value['historicalCourseCount'] === undefined) return false;
145
+ if (!('activeLearnerCount' in value) || value['activeLearnerCount'] === undefined) return false;
146
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
147
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
148
+ return true;
149
+ }
150
+
151
+ export function GetLibraryQuizFromJSON(json: any): GetLibraryQuiz {
152
+ return GetLibraryQuizFromJSONTyped(json, false);
153
+ }
154
+
155
+ export function GetLibraryQuizFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLibraryQuiz {
156
+ if (json == null) {
157
+ return json;
158
+ }
159
+ return {
160
+
161
+ 'id': json['id'],
162
+ 'kind': json['kind'],
163
+ 'name': json['name'],
164
+ 'description': json['description'],
165
+ 'ownerId': json['owner_id'],
166
+ 'latestPublishedVersion': json['latest_published_version'] == null ? undefined : GetLibraryQuizVersionFromJSON(json['latest_published_version']),
167
+ 'draftVersion': json['draft_version'] == null ? undefined : GetLibraryQuizVersionFromJSON(json['draft_version']),
168
+ 'versions': ((json['versions'] as Array<any>).map(GetLibraryQuizVersionFromJSON)),
169
+ 'publishedCourseCount': json['published_course_count'],
170
+ 'draftCourseCount': json['draft_course_count'],
171
+ 'historicalCourseCount': json['historical_course_count'],
172
+ 'activeLearnerCount': json['active_learner_count'],
173
+ 'createdAt': json['created_at'],
174
+ 'updatedAt': json['updated_at'],
175
+ 'archivedAt': json['archived_at'] == null ? undefined : json['archived_at'],
176
+ };
177
+ }
178
+
179
+ export function GetLibraryQuizToJSON(json: any): GetLibraryQuiz {
180
+ return GetLibraryQuizToJSONTyped(json, false);
181
+ }
182
+
183
+ export function GetLibraryQuizToJSONTyped(value?: GetLibraryQuiz | null, ignoreDiscriminator: boolean = false): any {
184
+ if (value == null) {
185
+ return value;
186
+ }
187
+
188
+ return {
189
+
190
+ 'id': value['id'],
191
+ 'kind': value['kind'],
192
+ 'name': value['name'],
193
+ 'description': value['description'],
194
+ 'owner_id': value['ownerId'],
195
+ 'latest_published_version': GetLibraryQuizVersionToJSON(value['latestPublishedVersion']),
196
+ 'draft_version': GetLibraryQuizVersionToJSON(value['draftVersion']),
197
+ 'versions': ((value['versions'] as Array<any>).map(GetLibraryQuizVersionToJSON)),
198
+ 'published_course_count': value['publishedCourseCount'],
199
+ 'draft_course_count': value['draftCourseCount'],
200
+ 'historical_course_count': value['historicalCourseCount'],
201
+ 'active_learner_count': value['activeLearnerCount'],
202
+ 'created_at': value['createdAt'],
203
+ 'updated_at': value['updatedAt'],
204
+ 'archived_at': value['archivedAt'],
205
+ };
206
+ }
207
+
@@ -0,0 +1,120 @@
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 GetLibraryQuizAnalytics
20
+ */
21
+ export interface GetLibraryQuizAnalytics {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof GetLibraryQuizAnalytics
26
+ */
27
+ quizId: string;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof GetLibraryQuizAnalytics
32
+ */
33
+ totalAttempts: number;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof GetLibraryQuizAnalytics
38
+ */
39
+ completedAttempts: number;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof GetLibraryQuizAnalytics
44
+ */
45
+ pendingReviewAttempts: number;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof GetLibraryQuizAnalytics
50
+ */
51
+ averageScore: number;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof GetLibraryQuizAnalytics
56
+ */
57
+ passRate: number;
58
+ /**
59
+ *
60
+ * @type {number}
61
+ * @memberof GetLibraryQuizAnalytics
62
+ */
63
+ averageDurationSeconds: number;
64
+ }
65
+
66
+ /**
67
+ * Check if a given object implements the GetLibraryQuizAnalytics interface.
68
+ */
69
+ export function instanceOfGetLibraryQuizAnalytics(value: object): value is GetLibraryQuizAnalytics {
70
+ if (!('quizId' in value) || value['quizId'] === undefined) return false;
71
+ if (!('totalAttempts' in value) || value['totalAttempts'] === undefined) return false;
72
+ if (!('completedAttempts' in value) || value['completedAttempts'] === undefined) return false;
73
+ if (!('pendingReviewAttempts' in value) || value['pendingReviewAttempts'] === undefined) return false;
74
+ if (!('averageScore' in value) || value['averageScore'] === undefined) return false;
75
+ if (!('passRate' in value) || value['passRate'] === undefined) return false;
76
+ if (!('averageDurationSeconds' in value) || value['averageDurationSeconds'] === undefined) return false;
77
+ return true;
78
+ }
79
+
80
+ export function GetLibraryQuizAnalyticsFromJSON(json: any): GetLibraryQuizAnalytics {
81
+ return GetLibraryQuizAnalyticsFromJSONTyped(json, false);
82
+ }
83
+
84
+ export function GetLibraryQuizAnalyticsFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLibraryQuizAnalytics {
85
+ if (json == null) {
86
+ return json;
87
+ }
88
+ return {
89
+
90
+ 'quizId': json['quiz_id'],
91
+ 'totalAttempts': json['total_attempts'],
92
+ 'completedAttempts': json['completed_attempts'],
93
+ 'pendingReviewAttempts': json['pending_review_attempts'],
94
+ 'averageScore': json['average_score'],
95
+ 'passRate': json['pass_rate'],
96
+ 'averageDurationSeconds': json['average_duration_seconds'],
97
+ };
98
+ }
99
+
100
+ export function GetLibraryQuizAnalyticsToJSON(json: any): GetLibraryQuizAnalytics {
101
+ return GetLibraryQuizAnalyticsToJSONTyped(json, false);
102
+ }
103
+
104
+ export function GetLibraryQuizAnalyticsToJSONTyped(value?: GetLibraryQuizAnalytics | null, ignoreDiscriminator: boolean = false): any {
105
+ if (value == null) {
106
+ return value;
107
+ }
108
+
109
+ return {
110
+
111
+ 'quiz_id': value['quizId'],
112
+ 'total_attempts': value['totalAttempts'],
113
+ 'completed_attempts': value['completedAttempts'],
114
+ 'pending_review_attempts': value['pendingReviewAttempts'],
115
+ 'average_score': value['averageScore'],
116
+ 'pass_rate': value['passRate'],
117
+ 'average_duration_seconds': value['averageDurationSeconds'],
118
+ };
119
+ }
120
+
@@ -0,0 +1,110 @@
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 { GetLibraryQuiz } from './GetLibraryQuiz';
17
+ import {
18
+ GetLibraryQuizFromJSON,
19
+ GetLibraryQuizFromJSONTyped,
20
+ GetLibraryQuizToJSON,
21
+ GetLibraryQuizToJSONTyped,
22
+ } from './GetLibraryQuiz';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetLibraryQuizList
28
+ */
29
+ export interface GetLibraryQuizList {
30
+ /**
31
+ * The current page number
32
+ * @type {number}
33
+ * @memberof GetLibraryQuizList
34
+ */
35
+ page: number;
36
+ /**
37
+ * The number of items per page
38
+ * @type {number}
39
+ * @memberof GetLibraryQuizList
40
+ */
41
+ pageSize: number;
42
+ /**
43
+ * The total number of pages
44
+ * @type {number}
45
+ * @memberof GetLibraryQuizList
46
+ */
47
+ totalPages: number;
48
+ /**
49
+ * The total number of items
50
+ * @type {number}
51
+ * @memberof GetLibraryQuizList
52
+ */
53
+ totalItems: number;
54
+ /**
55
+ *
56
+ * @type {Array<GetLibraryQuiz>}
57
+ * @memberof GetLibraryQuizList
58
+ */
59
+ items: Array<GetLibraryQuiz>;
60
+ }
61
+
62
+ /**
63
+ * Check if a given object implements the GetLibraryQuizList interface.
64
+ */
65
+ export function instanceOfGetLibraryQuizList(value: object): value is GetLibraryQuizList {
66
+ if (!('page' in value) || value['page'] === undefined) return false;
67
+ if (!('pageSize' in value) || value['pageSize'] === undefined) return false;
68
+ if (!('totalPages' in value) || value['totalPages'] === undefined) return false;
69
+ if (!('totalItems' in value) || value['totalItems'] === undefined) return false;
70
+ if (!('items' in value) || value['items'] === undefined) return false;
71
+ return true;
72
+ }
73
+
74
+ export function GetLibraryQuizListFromJSON(json: any): GetLibraryQuizList {
75
+ return GetLibraryQuizListFromJSONTyped(json, false);
76
+ }
77
+
78
+ export function GetLibraryQuizListFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLibraryQuizList {
79
+ if (json == null) {
80
+ return json;
81
+ }
82
+ return {
83
+
84
+ 'page': json['page'],
85
+ 'pageSize': json['pageSize'],
86
+ 'totalPages': json['totalPages'],
87
+ 'totalItems': json['totalItems'],
88
+ 'items': ((json['items'] as Array<any>).map(GetLibraryQuizFromJSON)),
89
+ };
90
+ }
91
+
92
+ export function GetLibraryQuizListToJSON(json: any): GetLibraryQuizList {
93
+ return GetLibraryQuizListToJSONTyped(json, false);
94
+ }
95
+
96
+ export function GetLibraryQuizListToJSONTyped(value?: GetLibraryQuizList | null, ignoreDiscriminator: boolean = false): any {
97
+ if (value == null) {
98
+ return value;
99
+ }
100
+
101
+ return {
102
+
103
+ 'page': value['page'],
104
+ 'pageSize': value['pageSize'],
105
+ 'totalPages': value['totalPages'],
106
+ 'totalItems': value['totalItems'],
107
+ 'items': ((value['items'] as Array<any>).map(GetLibraryQuizToJSON)),
108
+ };
109
+ }
110
+