@easyedu/js-lsm-api 1.90.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 (241) hide show
  1. package/.openapi-generator/FILES +70 -0
  2. package/README.md +65 -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 +130 -1
  6. package/dist/apis/PlayerApi.js +257 -1
  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 +130 -1
  12. package/dist/esm/apis/PlayerApi.js +256 -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/GetResourceSession.d.ts +30 -0
  34. package/dist/esm/models/GetResourceSession.js +16 -0
  35. package/dist/esm/models/GetResourceSessionDiagnostics.d.ts +76 -0
  36. package/dist/esm/models/GetResourceSessionDiagnostics.js +69 -0
  37. package/dist/esm/models/GetResourceSessionDiagnosticsCourseContext.d.ts +81 -0
  38. package/dist/esm/models/GetResourceSessionDiagnosticsCourseContext.js +76 -0
  39. package/dist/esm/models/GetResourceSessionDiagnosticsResource.d.ts +51 -0
  40. package/dist/esm/models/GetResourceSessionDiagnosticsResource.js +56 -0
  41. package/dist/esm/models/GetResourceSessionDiagnosticsScormSummary.d.ts +74 -0
  42. package/dist/esm/models/GetResourceSessionDiagnosticsScormSummary.js +59 -0
  43. package/dist/esm/models/GetResourceSessionDiagnosticsUser.d.ts +38 -0
  44. package/dist/esm/models/GetResourceSessionDiagnosticsUser.js +47 -0
  45. package/dist/esm/models/GetResourceSessionDiagnosticsVersion.d.ts +88 -0
  46. package/dist/esm/models/GetResourceSessionDiagnosticsVersion.js +67 -0
  47. package/dist/esm/models/GetResourceSessionScormApiLogs.d.ts +57 -0
  48. package/dist/esm/models/GetResourceSessionScormApiLogs.js +60 -0
  49. package/dist/esm/models/GetResourceSessionScormData.d.ts +77 -0
  50. package/dist/esm/models/GetResourceSessionScormData.js +66 -0
  51. package/dist/esm/models/GetResourceSessionScormDataActivity.d.ts +44 -0
  52. package/dist/esm/models/GetResourceSessionScormDataActivity.js +45 -0
  53. package/dist/esm/models/LibraryQuizCriterion.d.ts +95 -0
  54. package/dist/esm/models/LibraryQuizCriterion.js +76 -0
  55. package/dist/esm/models/LibraryQuizQuestion.d.ts +70 -0
  56. package/dist/esm/models/LibraryQuizQuestion.js +63 -0
  57. package/dist/esm/models/LibraryQuizQuestionInput.d.ts +50 -0
  58. package/dist/esm/models/LibraryQuizQuestionInput.js +51 -0
  59. package/dist/esm/models/LibraryQuizSessionAnswerChoice.d.ts +51 -0
  60. package/dist/esm/models/LibraryQuizSessionAnswerChoice.js +54 -0
  61. package/dist/esm/models/LibraryQuizSessionQuestion.d.ts +96 -0
  62. package/dist/esm/models/LibraryQuizSessionQuestion.js +84 -0
  63. package/dist/esm/models/PostCourseLibraryQuizSession.d.ts +32 -0
  64. package/dist/esm/models/PostCourseLibraryQuizSession.js +41 -0
  65. package/dist/esm/models/PostLibraryQuiz.d.ts +107 -0
  66. package/dist/esm/models/PostLibraryQuiz.js +70 -0
  67. package/dist/esm/models/PostLibraryQuizSession.d.ts +32 -0
  68. package/dist/esm/models/PostLibraryQuizSession.js +41 -0
  69. package/dist/esm/models/PostLibraryQuizVersion.d.ts +32 -0
  70. package/dist/esm/models/PostLibraryQuizVersion.js +41 -0
  71. package/dist/esm/models/PutLibraryQuiz.d.ts +38 -0
  72. package/dist/esm/models/PutLibraryQuiz.js +43 -0
  73. package/dist/esm/models/PutLibraryQuizCriteria.d.ts +33 -0
  74. package/dist/esm/models/PutLibraryQuizCriteria.js +44 -0
  75. package/dist/esm/models/PutLibraryQuizQuestions.d.ts +33 -0
  76. package/dist/esm/models/PutLibraryQuizQuestions.js +44 -0
  77. package/dist/esm/models/PutLibraryQuizSessionAnswer.d.ts +40 -0
  78. package/dist/esm/models/PutLibraryQuizSessionAnswer.js +45 -0
  79. package/dist/esm/models/PutLibraryQuizSessionGrade.d.ts +38 -0
  80. package/dist/esm/models/PutLibraryQuizSessionGrade.js +45 -0
  81. package/dist/esm/models/PutLibraryQuizVersion.d.ts +101 -0
  82. package/dist/esm/models/PutLibraryQuizVersion.js +64 -0
  83. package/dist/esm/models/QuestionSelectionMethod.d.ts +25 -0
  84. package/dist/esm/models/QuestionSelectionMethod.js +43 -0
  85. package/dist/esm/models/ResourceSessionScormApiLogItem.d.ts +79 -0
  86. package/dist/esm/models/ResourceSessionScormApiLogItem.js +73 -0
  87. package/dist/esm/models/index.d.ts +34 -0
  88. package/dist/esm/models/index.js +34 -0
  89. package/dist/models/GetCourseVersionItem.d.ts +14 -0
  90. package/dist/models/GetCourseVersionItem.js +10 -1
  91. package/dist/models/GetLibraryQuiz.d.ts +124 -0
  92. package/dist/models/GetLibraryQuiz.js +108 -0
  93. package/dist/models/GetLibraryQuizAnalytics.d.ts +68 -0
  94. package/dist/models/GetLibraryQuizAnalytics.js +74 -0
  95. package/dist/models/GetLibraryQuizList.d.ts +57 -0
  96. package/dist/models/GetLibraryQuizList.js +67 -0
  97. package/dist/models/GetLibraryQuizResult.d.ts +94 -0
  98. package/dist/models/GetLibraryQuizResult.js +86 -0
  99. package/dist/models/GetLibraryQuizSession.d.ts +177 -0
  100. package/dist/models/GetLibraryQuizSession.js +137 -0
  101. package/dist/models/GetLibraryQuizSessionList.d.ts +57 -0
  102. package/dist/models/GetLibraryQuizSessionList.js +67 -0
  103. package/dist/models/GetLibraryQuizUsage.d.ts +56 -0
  104. package/dist/models/GetLibraryQuizUsage.js +66 -0
  105. package/dist/models/GetLibraryQuizVersion.d.ts +170 -0
  106. package/dist/models/GetLibraryQuizVersion.js +132 -0
  107. package/dist/models/GetResourceSession.d.ts +30 -0
  108. package/dist/models/GetResourceSession.js +16 -0
  109. package/dist/models/GetResourceSessionDiagnostics.d.ts +76 -0
  110. package/dist/models/GetResourceSessionDiagnostics.js +76 -0
  111. package/dist/models/GetResourceSessionDiagnosticsCourseContext.d.ts +81 -0
  112. package/dist/models/GetResourceSessionDiagnosticsCourseContext.js +83 -0
  113. package/dist/models/GetResourceSessionDiagnosticsResource.d.ts +51 -0
  114. package/dist/models/GetResourceSessionDiagnosticsResource.js +63 -0
  115. package/dist/models/GetResourceSessionDiagnosticsScormSummary.d.ts +74 -0
  116. package/dist/models/GetResourceSessionDiagnosticsScormSummary.js +66 -0
  117. package/dist/models/GetResourceSessionDiagnosticsUser.d.ts +38 -0
  118. package/dist/models/GetResourceSessionDiagnosticsUser.js +54 -0
  119. package/dist/models/GetResourceSessionDiagnosticsVersion.d.ts +88 -0
  120. package/dist/models/GetResourceSessionDiagnosticsVersion.js +74 -0
  121. package/dist/models/GetResourceSessionScormApiLogs.d.ts +57 -0
  122. package/dist/models/GetResourceSessionScormApiLogs.js +67 -0
  123. package/dist/models/GetResourceSessionScormData.d.ts +77 -0
  124. package/dist/models/GetResourceSessionScormData.js +73 -0
  125. package/dist/models/GetResourceSessionScormDataActivity.d.ts +44 -0
  126. package/dist/models/GetResourceSessionScormDataActivity.js +52 -0
  127. package/dist/models/LibraryQuizCriterion.d.ts +95 -0
  128. package/dist/models/LibraryQuizCriterion.js +84 -0
  129. package/dist/models/LibraryQuizQuestion.d.ts +70 -0
  130. package/dist/models/LibraryQuizQuestion.js +70 -0
  131. package/dist/models/LibraryQuizQuestionInput.d.ts +50 -0
  132. package/dist/models/LibraryQuizQuestionInput.js +58 -0
  133. package/dist/models/LibraryQuizSessionAnswerChoice.d.ts +51 -0
  134. package/dist/models/LibraryQuizSessionAnswerChoice.js +61 -0
  135. package/dist/models/LibraryQuizSessionQuestion.d.ts +96 -0
  136. package/dist/models/LibraryQuizSessionQuestion.js +92 -0
  137. package/dist/models/PostCourseLibraryQuizSession.d.ts +32 -0
  138. package/dist/models/PostCourseLibraryQuizSession.js +48 -0
  139. package/dist/models/PostLibraryQuiz.d.ts +107 -0
  140. package/dist/models/PostLibraryQuiz.js +77 -0
  141. package/dist/models/PostLibraryQuizSession.d.ts +32 -0
  142. package/dist/models/PostLibraryQuizSession.js +48 -0
  143. package/dist/models/PostLibraryQuizVersion.d.ts +32 -0
  144. package/dist/models/PostLibraryQuizVersion.js +48 -0
  145. package/dist/models/PutLibraryQuiz.d.ts +38 -0
  146. package/dist/models/PutLibraryQuiz.js +50 -0
  147. package/dist/models/PutLibraryQuizCriteria.d.ts +33 -0
  148. package/dist/models/PutLibraryQuizCriteria.js +51 -0
  149. package/dist/models/PutLibraryQuizQuestions.d.ts +33 -0
  150. package/dist/models/PutLibraryQuizQuestions.js +51 -0
  151. package/dist/models/PutLibraryQuizSessionAnswer.d.ts +40 -0
  152. package/dist/models/PutLibraryQuizSessionAnswer.js +52 -0
  153. package/dist/models/PutLibraryQuizSessionGrade.d.ts +38 -0
  154. package/dist/models/PutLibraryQuizSessionGrade.js +52 -0
  155. package/dist/models/PutLibraryQuizVersion.d.ts +101 -0
  156. package/dist/models/PutLibraryQuizVersion.js +71 -0
  157. package/dist/models/QuestionSelectionMethod.d.ts +25 -0
  158. package/dist/models/QuestionSelectionMethod.js +51 -0
  159. package/dist/models/ResourceSessionScormApiLogItem.d.ts +79 -0
  160. package/dist/models/ResourceSessionScormApiLogItem.js +81 -0
  161. package/dist/models/index.d.ts +34 -0
  162. package/dist/models/index.js +34 -0
  163. package/docs/ContentLibraryQuizApi.md +1780 -0
  164. package/docs/GetCourseVersionItem.md +2 -0
  165. package/docs/GetLibraryQuiz.md +62 -0
  166. package/docs/GetLibraryQuizAnalytics.md +46 -0
  167. package/docs/GetLibraryQuizList.md +42 -0
  168. package/docs/GetLibraryQuizResult.md +54 -0
  169. package/docs/GetLibraryQuizSession.md +78 -0
  170. package/docs/GetLibraryQuizSessionList.md +42 -0
  171. package/docs/GetLibraryQuizUsage.md +42 -0
  172. package/docs/GetLibraryQuizVersion.md +78 -0
  173. package/docs/GetResourceSession.md +10 -0
  174. package/docs/GetResourceSessionDiagnostics.md +47 -0
  175. package/docs/GetResourceSessionDiagnosticsCourseContext.md +50 -0
  176. package/docs/GetResourceSessionDiagnosticsResource.md +40 -0
  177. package/docs/GetResourceSessionDiagnosticsScormSummary.md +48 -0
  178. package/docs/GetResourceSessionDiagnosticsUser.md +36 -0
  179. package/docs/GetResourceSessionDiagnosticsVersion.md +52 -0
  180. package/docs/GetResourceSessionScormApiLogs.md +43 -0
  181. package/docs/GetResourceSessionScormData.md +49 -0
  182. package/docs/GetResourceSessionScormDataActivity.md +38 -0
  183. package/docs/LibraryQuizCriterion.md +48 -0
  184. package/docs/LibraryQuizQuestion.md +46 -0
  185. package/docs/LibraryQuizQuestionInput.md +40 -0
  186. package/docs/LibraryQuizSessionAnswerChoice.md +40 -0
  187. package/docs/LibraryQuizSessionQuestion.md +50 -0
  188. package/docs/PlayerApi.md +320 -3
  189. package/docs/PostCourseLibraryQuizSession.md +34 -0
  190. package/docs/PostLibraryQuiz.md +58 -0
  191. package/docs/PostLibraryQuizSession.md +34 -0
  192. package/docs/PostLibraryQuizVersion.md +34 -0
  193. package/docs/PutLibraryQuiz.md +36 -0
  194. package/docs/PutLibraryQuizCriteria.md +34 -0
  195. package/docs/PutLibraryQuizQuestions.md +34 -0
  196. package/docs/PutLibraryQuizSessionAnswer.md +36 -0
  197. package/docs/PutLibraryQuizSessionGrade.md +36 -0
  198. package/docs/PutLibraryQuizVersion.md +56 -0
  199. package/docs/QuestionSelectionMethod.md +32 -0
  200. package/docs/ResourceSessionScormApiLogItem.md +47 -0
  201. package/package.json +1 -1
  202. package/src/apis/ContentLibraryQuizApi.ts +1624 -0
  203. package/src/apis/PlayerApi.ts +351 -1
  204. package/src/apis/index.ts +1 -0
  205. package/src/models/GetCourseVersionItem.ts +17 -0
  206. package/src/models/GetLibraryQuiz.ts +207 -0
  207. package/src/models/GetLibraryQuizAnalytics.ts +120 -0
  208. package/src/models/GetLibraryQuizList.ts +110 -0
  209. package/src/models/GetLibraryQuizResult.ts +154 -0
  210. package/src/models/GetLibraryQuizSession.ts +286 -0
  211. package/src/models/GetLibraryQuizSessionList.ts +110 -0
  212. package/src/models/GetLibraryQuizUsage.ts +102 -0
  213. package/src/models/GetLibraryQuizVersion.ts +290 -0
  214. package/src/models/GetResourceSession.ts +43 -0
  215. package/src/models/GetResourceSessionDiagnostics.ts +161 -0
  216. package/src/models/GetResourceSessionDiagnosticsCourseContext.ts +148 -0
  217. package/src/models/GetResourceSessionDiagnosticsResource.ts +103 -0
  218. package/src/models/GetResourceSessionDiagnosticsScormSummary.ts +123 -0
  219. package/src/models/GetResourceSessionDiagnosticsUser.ts +75 -0
  220. package/src/models/GetResourceSessionDiagnosticsVersion.ts +141 -0
  221. package/src/models/GetResourceSessionScormApiLogs.ts +110 -0
  222. package/src/models/GetResourceSessionScormData.ts +134 -0
  223. package/src/models/GetResourceSessionScormDataActivity.ts +81 -0
  224. package/src/models/LibraryQuizCriterion.ts +147 -0
  225. package/src/models/LibraryQuizQuestion.ts +118 -0
  226. package/src/models/LibraryQuizQuestionInput.ts +91 -0
  227. package/src/models/LibraryQuizSessionAnswerChoice.ts +100 -0
  228. package/src/models/LibraryQuizSessionQuestion.ts +166 -0
  229. package/src/models/PostCourseLibraryQuizSession.ts +65 -0
  230. package/src/models/PostLibraryQuiz.ts +173 -0
  231. package/src/models/PostLibraryQuizSession.ts +65 -0
  232. package/src/models/PostLibraryQuizVersion.ts +65 -0
  233. package/src/models/PutLibraryQuiz.ts +73 -0
  234. package/src/models/PutLibraryQuizCriteria.ts +74 -0
  235. package/src/models/PutLibraryQuizQuestions.ts +74 -0
  236. package/src/models/PutLibraryQuizSessionAnswer.ts +74 -0
  237. package/src/models/PutLibraryQuizSessionGrade.ts +74 -0
  238. package/src/models/PutLibraryQuizVersion.ts +163 -0
  239. package/src/models/QuestionSelectionMethod.ts +53 -0
  240. package/src/models/ResourceSessionScormApiLogItem.ts +132 -0
  241. package/src/models/index.ts +34 -0
@@ -0,0 +1,1624 @@
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 * as runtime from '../runtime';
16
+ import {
17
+ type GetLibraryQuiz,
18
+ GetLibraryQuizFromJSON,
19
+ GetLibraryQuizToJSON,
20
+ } from '../models/GetLibraryQuiz';
21
+ import {
22
+ type GetLibraryQuizAnalytics,
23
+ GetLibraryQuizAnalyticsFromJSON,
24
+ GetLibraryQuizAnalyticsToJSON,
25
+ } from '../models/GetLibraryQuizAnalytics';
26
+ import {
27
+ type GetLibraryQuizList,
28
+ GetLibraryQuizListFromJSON,
29
+ GetLibraryQuizListToJSON,
30
+ } from '../models/GetLibraryQuizList';
31
+ import {
32
+ type GetLibraryQuizResult,
33
+ GetLibraryQuizResultFromJSON,
34
+ GetLibraryQuizResultToJSON,
35
+ } from '../models/GetLibraryQuizResult';
36
+ import {
37
+ type GetLibraryQuizSession,
38
+ GetLibraryQuizSessionFromJSON,
39
+ GetLibraryQuizSessionToJSON,
40
+ } from '../models/GetLibraryQuizSession';
41
+ import {
42
+ type GetLibraryQuizSessionList,
43
+ GetLibraryQuizSessionListFromJSON,
44
+ GetLibraryQuizSessionListToJSON,
45
+ } from '../models/GetLibraryQuizSessionList';
46
+ import {
47
+ type GetLibraryQuizUsage,
48
+ GetLibraryQuizUsageFromJSON,
49
+ GetLibraryQuizUsageToJSON,
50
+ } from '../models/GetLibraryQuizUsage';
51
+ import {
52
+ type GetLibraryQuizVersion,
53
+ GetLibraryQuizVersionFromJSON,
54
+ GetLibraryQuizVersionToJSON,
55
+ } from '../models/GetLibraryQuizVersion';
56
+ import {
57
+ type LibraryQuizCriterion,
58
+ LibraryQuizCriterionFromJSON,
59
+ LibraryQuizCriterionToJSON,
60
+ } from '../models/LibraryQuizCriterion';
61
+ import {
62
+ type LibraryQuizQuestion,
63
+ LibraryQuizQuestionFromJSON,
64
+ LibraryQuizQuestionToJSON,
65
+ } from '../models/LibraryQuizQuestion';
66
+ import {
67
+ type PostCourseLibraryQuizSession,
68
+ PostCourseLibraryQuizSessionFromJSON,
69
+ PostCourseLibraryQuizSessionToJSON,
70
+ } from '../models/PostCourseLibraryQuizSession';
71
+ import {
72
+ type PostLibraryQuiz,
73
+ PostLibraryQuizFromJSON,
74
+ PostLibraryQuizToJSON,
75
+ } from '../models/PostLibraryQuiz';
76
+ import {
77
+ type PostLibraryQuizSession,
78
+ PostLibraryQuizSessionFromJSON,
79
+ PostLibraryQuizSessionToJSON,
80
+ } from '../models/PostLibraryQuizSession';
81
+ import {
82
+ type PostLibraryQuizVersion,
83
+ PostLibraryQuizVersionFromJSON,
84
+ PostLibraryQuizVersionToJSON,
85
+ } from '../models/PostLibraryQuizVersion';
86
+ import {
87
+ type PutLibraryQuiz,
88
+ PutLibraryQuizFromJSON,
89
+ PutLibraryQuizToJSON,
90
+ } from '../models/PutLibraryQuiz';
91
+ import {
92
+ type PutLibraryQuizCriteria,
93
+ PutLibraryQuizCriteriaFromJSON,
94
+ PutLibraryQuizCriteriaToJSON,
95
+ } from '../models/PutLibraryQuizCriteria';
96
+ import {
97
+ type PutLibraryQuizQuestions,
98
+ PutLibraryQuizQuestionsFromJSON,
99
+ PutLibraryQuizQuestionsToJSON,
100
+ } from '../models/PutLibraryQuizQuestions';
101
+ import {
102
+ type PutLibraryQuizSessionAnswer,
103
+ PutLibraryQuizSessionAnswerFromJSON,
104
+ PutLibraryQuizSessionAnswerToJSON,
105
+ } from '../models/PutLibraryQuizSessionAnswer';
106
+ import {
107
+ type PutLibraryQuizSessionGrade,
108
+ PutLibraryQuizSessionGradeFromJSON,
109
+ PutLibraryQuizSessionGradeToJSON,
110
+ } from '../models/PutLibraryQuizSessionGrade';
111
+ import {
112
+ type PutLibraryQuizVersion,
113
+ PutLibraryQuizVersionFromJSON,
114
+ PutLibraryQuizVersionToJSON,
115
+ } from '../models/PutLibraryQuizVersion';
116
+ import {
117
+ type ResourceSessionEnvironment,
118
+ ResourceSessionEnvironmentFromJSON,
119
+ ResourceSessionEnvironmentToJSON,
120
+ } from '../models/ResourceSessionEnvironment';
121
+
122
+ export interface DeleteLibraryQuizVersionRequest {
123
+ quizId: string;
124
+ versionId: string;
125
+ }
126
+
127
+ export interface GetLibraryQuizRequest {
128
+ quizId: string;
129
+ }
130
+
131
+ export interface GetLibraryQuizAnalyticsRequest {
132
+ quizId: string;
133
+ courseId?: string;
134
+ courseVersionId?: string;
135
+ itemId?: string;
136
+ }
137
+
138
+ export interface GetLibraryQuizCriteriaRequest {
139
+ quizId: string;
140
+ versionId: string;
141
+ }
142
+
143
+ export interface GetLibraryQuizListRequest {
144
+ search?: string;
145
+ includeArchived?: boolean;
146
+ page?: number;
147
+ pageSize?: number;
148
+ }
149
+
150
+ export interface GetLibraryQuizQuestionsRequest {
151
+ quizId: string;
152
+ versionId: string;
153
+ }
154
+
155
+ export interface GetLibraryQuizSessionRequest {
156
+ sessionId: string;
157
+ }
158
+
159
+ export interface GetLibraryQuizSessionListRequest {
160
+ userId?: string;
161
+ quizId?: string;
162
+ quizVersionId?: string;
163
+ courseId?: string;
164
+ courseVersionId?: string;
165
+ itemId?: string;
166
+ environment?: ResourceSessionEnvironment;
167
+ status?: string;
168
+ page?: number;
169
+ pageSize?: number;
170
+ }
171
+
172
+ export interface GetLibraryQuizSessionResultsRequest {
173
+ sessionId: string;
174
+ }
175
+
176
+ export interface GetLibraryQuizUsageRequest {
177
+ quizId: string;
178
+ }
179
+
180
+ export interface GetLibraryQuizVersionRequest {
181
+ quizId: string;
182
+ versionId: string;
183
+ }
184
+
185
+ export interface PostCourseLibraryQuizSessionRequest {
186
+ courseId: string;
187
+ courseVersionId: string;
188
+ itemId: string;
189
+ postCourseLibraryQuizSession?: PostCourseLibraryQuizSession;
190
+ }
191
+
192
+ export interface PostLibraryQuizRequest {
193
+ postLibraryQuiz: PostLibraryQuiz;
194
+ }
195
+
196
+ export interface PostLibraryQuizArchiveRequest {
197
+ quizId: string;
198
+ }
199
+
200
+ export interface PostLibraryQuizSessionRequest {
201
+ quizId: string;
202
+ versionId: string;
203
+ postLibraryQuizSession?: PostLibraryQuizSession;
204
+ }
205
+
206
+ export interface PostLibraryQuizSessionSubmitRequest {
207
+ sessionId: string;
208
+ }
209
+
210
+ export interface PostLibraryQuizVersionRequest {
211
+ quizId: string;
212
+ postLibraryQuizVersion?: PostLibraryQuizVersion;
213
+ }
214
+
215
+ export interface PostLibraryQuizVersionArchiveRequest {
216
+ quizId: string;
217
+ versionId: string;
218
+ }
219
+
220
+ export interface PostLibraryQuizVersionPublishRequest {
221
+ quizId: string;
222
+ versionId: string;
223
+ }
224
+
225
+ export interface PutLibraryQuizRequest {
226
+ quizId: string;
227
+ putLibraryQuiz: PutLibraryQuiz;
228
+ }
229
+
230
+ export interface PutLibraryQuizCriteriaRequest {
231
+ quizId: string;
232
+ versionId: string;
233
+ putLibraryQuizCriteria: PutLibraryQuizCriteria;
234
+ }
235
+
236
+ export interface PutLibraryQuizQuestionsRequest {
237
+ quizId: string;
238
+ versionId: string;
239
+ putLibraryQuizQuestions: PutLibraryQuizQuestions;
240
+ }
241
+
242
+ export interface PutLibraryQuizSessionAnswerRequest {
243
+ sessionId: string;
244
+ sessionQuestionId: string;
245
+ putLibraryQuizSessionAnswer: PutLibraryQuizSessionAnswer;
246
+ }
247
+
248
+ export interface PutLibraryQuizSessionGradeRequest {
249
+ sessionId: string;
250
+ sessionQuestionId: string;
251
+ putLibraryQuizSessionGrade: PutLibraryQuizSessionGrade;
252
+ }
253
+
254
+ export interface PutLibraryQuizVersionRequest {
255
+ quizId: string;
256
+ versionId: string;
257
+ putLibraryQuizVersion: PutLibraryQuizVersion;
258
+ }
259
+
260
+ /**
261
+ *
262
+ */
263
+ export class ContentLibraryQuizApi extends runtime.BaseAPI {
264
+
265
+ /**
266
+ * Creates request options for deleteLibraryQuizVersion without sending the request
267
+ */
268
+ async deleteLibraryQuizVersionRequestOpts(requestParameters: DeleteLibraryQuizVersionRequest): Promise<runtime.RequestOpts> {
269
+ if (requestParameters['quizId'] == null) {
270
+ throw new runtime.RequiredError(
271
+ 'quizId',
272
+ 'Required parameter "quizId" was null or undefined when calling deleteLibraryQuizVersion().'
273
+ );
274
+ }
275
+
276
+ if (requestParameters['versionId'] == null) {
277
+ throw new runtime.RequiredError(
278
+ 'versionId',
279
+ 'Required parameter "versionId" was null or undefined when calling deleteLibraryQuizVersion().'
280
+ );
281
+ }
282
+
283
+ const queryParameters: any = {};
284
+
285
+ const headerParameters: runtime.HTTPHeaders = {};
286
+
287
+
288
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}`;
289
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
290
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
291
+
292
+ return {
293
+ path: urlPath,
294
+ method: 'DELETE',
295
+ headers: headerParameters,
296
+ query: queryParameters,
297
+ };
298
+ }
299
+
300
+ /**
301
+ * Discard an unreferenced draft quiz version
302
+ */
303
+ async deleteLibraryQuizVersionRaw(requestParameters: DeleteLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
304
+ const requestOptions = await this.deleteLibraryQuizVersionRequestOpts(requestParameters);
305
+ const response = await this.request(requestOptions, initOverrides);
306
+
307
+ return new runtime.VoidApiResponse(response);
308
+ }
309
+
310
+ /**
311
+ * Discard an unreferenced draft quiz version
312
+ */
313
+ async deleteLibraryQuizVersion(requestParameters: DeleteLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
314
+ await this.deleteLibraryQuizVersionRaw(requestParameters, initOverrides);
315
+ }
316
+
317
+ /**
318
+ * Creates request options for getLibraryQuiz without sending the request
319
+ */
320
+ async getLibraryQuizRequestOpts(requestParameters: GetLibraryQuizRequest): Promise<runtime.RequestOpts> {
321
+ if (requestParameters['quizId'] == null) {
322
+ throw new runtime.RequiredError(
323
+ 'quizId',
324
+ 'Required parameter "quizId" was null or undefined when calling getLibraryQuiz().'
325
+ );
326
+ }
327
+
328
+ const queryParameters: any = {};
329
+
330
+ const headerParameters: runtime.HTTPHeaders = {};
331
+
332
+
333
+ let urlPath = `/content-library/quizzes/{quizId}`;
334
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
335
+
336
+ return {
337
+ path: urlPath,
338
+ method: 'GET',
339
+ headers: headerParameters,
340
+ query: queryParameters,
341
+ };
342
+ }
343
+
344
+ /**
345
+ * Get a reusable quiz and version history
346
+ */
347
+ async getLibraryQuizRaw(requestParameters: GetLibraryQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuiz>> {
348
+ const requestOptions = await this.getLibraryQuizRequestOpts(requestParameters);
349
+ const response = await this.request(requestOptions, initOverrides);
350
+
351
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizFromJSON(jsonValue));
352
+ }
353
+
354
+ /**
355
+ * Get a reusable quiz and version history
356
+ */
357
+ async getLibraryQuiz(requestParameters: GetLibraryQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuiz> {
358
+ const response = await this.getLibraryQuizRaw(requestParameters, initOverrides);
359
+ return await response.value();
360
+ }
361
+
362
+ /**
363
+ * Creates request options for getLibraryQuizAnalytics without sending the request
364
+ */
365
+ async getLibraryQuizAnalyticsRequestOpts(requestParameters: GetLibraryQuizAnalyticsRequest): Promise<runtime.RequestOpts> {
366
+ if (requestParameters['quizId'] == null) {
367
+ throw new runtime.RequiredError(
368
+ 'quizId',
369
+ 'Required parameter "quizId" was null or undefined when calling getLibraryQuizAnalytics().'
370
+ );
371
+ }
372
+
373
+ const queryParameters: any = {};
374
+
375
+ if (requestParameters['courseId'] != null) {
376
+ queryParameters['course_id'] = requestParameters['courseId'];
377
+ }
378
+
379
+ if (requestParameters['courseVersionId'] != null) {
380
+ queryParameters['course_version_id'] = requestParameters['courseVersionId'];
381
+ }
382
+
383
+ if (requestParameters['itemId'] != null) {
384
+ queryParameters['item_id'] = requestParameters['itemId'];
385
+ }
386
+
387
+ const headerParameters: runtime.HTTPHeaders = {};
388
+
389
+
390
+ let urlPath = `/content-library/quizzes/{quizId}/analytics`;
391
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
392
+
393
+ return {
394
+ path: urlPath,
395
+ method: 'GET',
396
+ headers: headerParameters,
397
+ query: queryParameters,
398
+ };
399
+ }
400
+
401
+ /**
402
+ * Get live attempt analytics for a reusable quiz
403
+ */
404
+ async getLibraryQuizAnalyticsRaw(requestParameters: GetLibraryQuizAnalyticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizAnalytics>> {
405
+ const requestOptions = await this.getLibraryQuizAnalyticsRequestOpts(requestParameters);
406
+ const response = await this.request(requestOptions, initOverrides);
407
+
408
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizAnalyticsFromJSON(jsonValue));
409
+ }
410
+
411
+ /**
412
+ * Get live attempt analytics for a reusable quiz
413
+ */
414
+ async getLibraryQuizAnalytics(requestParameters: GetLibraryQuizAnalyticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizAnalytics> {
415
+ const response = await this.getLibraryQuizAnalyticsRaw(requestParameters, initOverrides);
416
+ return await response.value();
417
+ }
418
+
419
+ /**
420
+ * Creates request options for getLibraryQuizCriteria without sending the request
421
+ */
422
+ async getLibraryQuizCriteriaRequestOpts(requestParameters: GetLibraryQuizCriteriaRequest): Promise<runtime.RequestOpts> {
423
+ if (requestParameters['quizId'] == null) {
424
+ throw new runtime.RequiredError(
425
+ 'quizId',
426
+ 'Required parameter "quizId" was null or undefined when calling getLibraryQuizCriteria().'
427
+ );
428
+ }
429
+
430
+ if (requestParameters['versionId'] == null) {
431
+ throw new runtime.RequiredError(
432
+ 'versionId',
433
+ 'Required parameter "versionId" was null or undefined when calling getLibraryQuizCriteria().'
434
+ );
435
+ }
436
+
437
+ const queryParameters: any = {};
438
+
439
+ const headerParameters: runtime.HTTPHeaders = {};
440
+
441
+
442
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/criteria`;
443
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
444
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
445
+
446
+ return {
447
+ path: urlPath,
448
+ method: 'GET',
449
+ headers: headerParameters,
450
+ query: queryParameters,
451
+ };
452
+ }
453
+
454
+ /**
455
+ * Get question-selection criteria for a quiz version
456
+ */
457
+ async getLibraryQuizCriteriaRaw(requestParameters: GetLibraryQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LibraryQuizCriterion>>> {
458
+ const requestOptions = await this.getLibraryQuizCriteriaRequestOpts(requestParameters);
459
+ const response = await this.request(requestOptions, initOverrides);
460
+
461
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LibraryQuizCriterionFromJSON));
462
+ }
463
+
464
+ /**
465
+ * Get question-selection criteria for a quiz version
466
+ */
467
+ async getLibraryQuizCriteria(requestParameters: GetLibraryQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LibraryQuizCriterion>> {
468
+ const response = await this.getLibraryQuizCriteriaRaw(requestParameters, initOverrides);
469
+ return await response.value();
470
+ }
471
+
472
+ /**
473
+ * Creates request options for getLibraryQuizList without sending the request
474
+ */
475
+ async getLibraryQuizListRequestOpts(requestParameters: GetLibraryQuizListRequest): Promise<runtime.RequestOpts> {
476
+ const queryParameters: any = {};
477
+
478
+ if (requestParameters['search'] != null) {
479
+ queryParameters['search'] = requestParameters['search'];
480
+ }
481
+
482
+ if (requestParameters['includeArchived'] != null) {
483
+ queryParameters['include_archived'] = requestParameters['includeArchived'];
484
+ }
485
+
486
+ if (requestParameters['page'] != null) {
487
+ queryParameters['page'] = requestParameters['page'];
488
+ }
489
+
490
+ if (requestParameters['pageSize'] != null) {
491
+ queryParameters['pageSize'] = requestParameters['pageSize'];
492
+ }
493
+
494
+ const headerParameters: runtime.HTTPHeaders = {};
495
+
496
+
497
+ let urlPath = `/content-library/quizzes`;
498
+
499
+ return {
500
+ path: urlPath,
501
+ method: 'GET',
502
+ headers: headerParameters,
503
+ query: queryParameters,
504
+ };
505
+ }
506
+
507
+ /**
508
+ * List reusable quizzes
509
+ */
510
+ async getLibraryQuizListRaw(requestParameters: GetLibraryQuizListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizList>> {
511
+ const requestOptions = await this.getLibraryQuizListRequestOpts(requestParameters);
512
+ const response = await this.request(requestOptions, initOverrides);
513
+
514
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizListFromJSON(jsonValue));
515
+ }
516
+
517
+ /**
518
+ * List reusable quizzes
519
+ */
520
+ async getLibraryQuizList(requestParameters: GetLibraryQuizListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizList> {
521
+ const response = await this.getLibraryQuizListRaw(requestParameters, initOverrides);
522
+ return await response.value();
523
+ }
524
+
525
+ /**
526
+ * Creates request options for getLibraryQuizQuestions without sending the request
527
+ */
528
+ async getLibraryQuizQuestionsRequestOpts(requestParameters: GetLibraryQuizQuestionsRequest): Promise<runtime.RequestOpts> {
529
+ if (requestParameters['quizId'] == null) {
530
+ throw new runtime.RequiredError(
531
+ 'quizId',
532
+ 'Required parameter "quizId" was null or undefined when calling getLibraryQuizQuestions().'
533
+ );
534
+ }
535
+
536
+ if (requestParameters['versionId'] == null) {
537
+ throw new runtime.RequiredError(
538
+ 'versionId',
539
+ 'Required parameter "versionId" was null or undefined when calling getLibraryQuizQuestions().'
540
+ );
541
+ }
542
+
543
+ const queryParameters: any = {};
544
+
545
+ const headerParameters: runtime.HTTPHeaders = {};
546
+
547
+
548
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/questions`;
549
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
550
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
551
+
552
+ return {
553
+ path: urlPath,
554
+ method: 'GET',
555
+ headers: headerParameters,
556
+ query: queryParameters,
557
+ };
558
+ }
559
+
560
+ /**
561
+ * Get manual questions or the published criteria pool
562
+ */
563
+ async getLibraryQuizQuestionsRaw(requestParameters: GetLibraryQuizQuestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LibraryQuizQuestion>>> {
564
+ const requestOptions = await this.getLibraryQuizQuestionsRequestOpts(requestParameters);
565
+ const response = await this.request(requestOptions, initOverrides);
566
+
567
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LibraryQuizQuestionFromJSON));
568
+ }
569
+
570
+ /**
571
+ * Get manual questions or the published criteria pool
572
+ */
573
+ async getLibraryQuizQuestions(requestParameters: GetLibraryQuizQuestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LibraryQuizQuestion>> {
574
+ const response = await this.getLibraryQuizQuestionsRaw(requestParameters, initOverrides);
575
+ return await response.value();
576
+ }
577
+
578
+ /**
579
+ * Creates request options for getLibraryQuizSession without sending the request
580
+ */
581
+ async getLibraryQuizSessionRequestOpts(requestParameters: GetLibraryQuizSessionRequest): Promise<runtime.RequestOpts> {
582
+ if (requestParameters['sessionId'] == null) {
583
+ throw new runtime.RequiredError(
584
+ 'sessionId',
585
+ 'Required parameter "sessionId" was null or undefined when calling getLibraryQuizSession().'
586
+ );
587
+ }
588
+
589
+ const queryParameters: any = {};
590
+
591
+ const headerParameters: runtime.HTTPHeaders = {};
592
+
593
+
594
+ let urlPath = `/quiz/sessions/{sessionId}`;
595
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
596
+
597
+ return {
598
+ path: urlPath,
599
+ method: 'GET',
600
+ headers: headerParameters,
601
+ query: queryParameters,
602
+ };
603
+ }
604
+
605
+ /**
606
+ * Get a reusable quiz session
607
+ */
608
+ async getLibraryQuizSessionRaw(requestParameters: GetLibraryQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizSession>> {
609
+ const requestOptions = await this.getLibraryQuizSessionRequestOpts(requestParameters);
610
+ const response = await this.request(requestOptions, initOverrides);
611
+
612
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizSessionFromJSON(jsonValue));
613
+ }
614
+
615
+ /**
616
+ * Get a reusable quiz session
617
+ */
618
+ async getLibraryQuizSession(requestParameters: GetLibraryQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizSession> {
619
+ const response = await this.getLibraryQuizSessionRaw(requestParameters, initOverrides);
620
+ return await response.value();
621
+ }
622
+
623
+ /**
624
+ * Creates request options for getLibraryQuizSessionList without sending the request
625
+ */
626
+ async getLibraryQuizSessionListRequestOpts(requestParameters: GetLibraryQuizSessionListRequest): Promise<runtime.RequestOpts> {
627
+ const queryParameters: any = {};
628
+
629
+ if (requestParameters['userId'] != null) {
630
+ queryParameters['user_id'] = requestParameters['userId'];
631
+ }
632
+
633
+ if (requestParameters['quizId'] != null) {
634
+ queryParameters['quiz_id'] = requestParameters['quizId'];
635
+ }
636
+
637
+ if (requestParameters['quizVersionId'] != null) {
638
+ queryParameters['quiz_version_id'] = requestParameters['quizVersionId'];
639
+ }
640
+
641
+ if (requestParameters['courseId'] != null) {
642
+ queryParameters['course_id'] = requestParameters['courseId'];
643
+ }
644
+
645
+ if (requestParameters['courseVersionId'] != null) {
646
+ queryParameters['course_version_id'] = requestParameters['courseVersionId'];
647
+ }
648
+
649
+ if (requestParameters['itemId'] != null) {
650
+ queryParameters['item_id'] = requestParameters['itemId'];
651
+ }
652
+
653
+ if (requestParameters['environment'] != null) {
654
+ queryParameters['environment'] = requestParameters['environment'];
655
+ }
656
+
657
+ if (requestParameters['status'] != null) {
658
+ queryParameters['status'] = requestParameters['status'];
659
+ }
660
+
661
+ if (requestParameters['page'] != null) {
662
+ queryParameters['page'] = requestParameters['page'];
663
+ }
664
+
665
+ if (requestParameters['pageSize'] != null) {
666
+ queryParameters['pageSize'] = requestParameters['pageSize'];
667
+ }
668
+
669
+ const headerParameters: runtime.HTTPHeaders = {};
670
+
671
+
672
+ let urlPath = `/quiz/sessions`;
673
+
674
+ return {
675
+ path: urlPath,
676
+ method: 'GET',
677
+ headers: headerParameters,
678
+ query: queryParameters,
679
+ };
680
+ }
681
+
682
+ /**
683
+ * List reusable quiz sessions in the selected portal
684
+ */
685
+ async getLibraryQuizSessionListRaw(requestParameters: GetLibraryQuizSessionListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizSessionList>> {
686
+ const requestOptions = await this.getLibraryQuizSessionListRequestOpts(requestParameters);
687
+ const response = await this.request(requestOptions, initOverrides);
688
+
689
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizSessionListFromJSON(jsonValue));
690
+ }
691
+
692
+ /**
693
+ * List reusable quiz sessions in the selected portal
694
+ */
695
+ async getLibraryQuizSessionList(requestParameters: GetLibraryQuizSessionListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizSessionList> {
696
+ const response = await this.getLibraryQuizSessionListRaw(requestParameters, initOverrides);
697
+ return await response.value();
698
+ }
699
+
700
+ /**
701
+ * Creates request options for getLibraryQuizSessionResults without sending the request
702
+ */
703
+ async getLibraryQuizSessionResultsRequestOpts(requestParameters: GetLibraryQuizSessionResultsRequest): Promise<runtime.RequestOpts> {
704
+ if (requestParameters['sessionId'] == null) {
705
+ throw new runtime.RequiredError(
706
+ 'sessionId',
707
+ 'Required parameter "sessionId" was null or undefined when calling getLibraryQuizSessionResults().'
708
+ );
709
+ }
710
+
711
+ const queryParameters: any = {};
712
+
713
+ const headerParameters: runtime.HTTPHeaders = {};
714
+
715
+
716
+ let urlPath = `/quiz/sessions/{sessionId}/results`;
717
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
718
+
719
+ return {
720
+ path: urlPath,
721
+ method: 'GET',
722
+ headers: headerParameters,
723
+ query: queryParameters,
724
+ };
725
+ }
726
+
727
+ /**
728
+ * Get reusable quiz session results
729
+ */
730
+ async getLibraryQuizSessionResultsRaw(requestParameters: GetLibraryQuizSessionResultsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizResult>> {
731
+ const requestOptions = await this.getLibraryQuizSessionResultsRequestOpts(requestParameters);
732
+ const response = await this.request(requestOptions, initOverrides);
733
+
734
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizResultFromJSON(jsonValue));
735
+ }
736
+
737
+ /**
738
+ * Get reusable quiz session results
739
+ */
740
+ async getLibraryQuizSessionResults(requestParameters: GetLibraryQuizSessionResultsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizResult> {
741
+ const response = await this.getLibraryQuizSessionResultsRaw(requestParameters, initOverrides);
742
+ return await response.value();
743
+ }
744
+
745
+ /**
746
+ * Creates request options for getLibraryQuizUsage without sending the request
747
+ */
748
+ async getLibraryQuizUsageRequestOpts(requestParameters: GetLibraryQuizUsageRequest): Promise<runtime.RequestOpts> {
749
+ if (requestParameters['quizId'] == null) {
750
+ throw new runtime.RequiredError(
751
+ 'quizId',
752
+ 'Required parameter "quizId" was null or undefined when calling getLibraryQuizUsage().'
753
+ );
754
+ }
755
+
756
+ const queryParameters: any = {};
757
+
758
+ const headerParameters: runtime.HTTPHeaders = {};
759
+
760
+
761
+ let urlPath = `/content-library/quizzes/{quizId}/usage`;
762
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
763
+
764
+ return {
765
+ path: urlPath,
766
+ method: 'GET',
767
+ headers: headerParameters,
768
+ query: queryParameters,
769
+ };
770
+ }
771
+
772
+ /**
773
+ * Get course and learner usage for a reusable quiz
774
+ */
775
+ async getLibraryQuizUsageRaw(requestParameters: GetLibraryQuizUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizUsage>> {
776
+ const requestOptions = await this.getLibraryQuizUsageRequestOpts(requestParameters);
777
+ const response = await this.request(requestOptions, initOverrides);
778
+
779
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizUsageFromJSON(jsonValue));
780
+ }
781
+
782
+ /**
783
+ * Get course and learner usage for a reusable quiz
784
+ */
785
+ async getLibraryQuizUsage(requestParameters: GetLibraryQuizUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizUsage> {
786
+ const response = await this.getLibraryQuizUsageRaw(requestParameters, initOverrides);
787
+ return await response.value();
788
+ }
789
+
790
+ /**
791
+ * Creates request options for getLibraryQuizVersion without sending the request
792
+ */
793
+ async getLibraryQuizVersionRequestOpts(requestParameters: GetLibraryQuizVersionRequest): Promise<runtime.RequestOpts> {
794
+ if (requestParameters['quizId'] == null) {
795
+ throw new runtime.RequiredError(
796
+ 'quizId',
797
+ 'Required parameter "quizId" was null or undefined when calling getLibraryQuizVersion().'
798
+ );
799
+ }
800
+
801
+ if (requestParameters['versionId'] == null) {
802
+ throw new runtime.RequiredError(
803
+ 'versionId',
804
+ 'Required parameter "versionId" was null or undefined when calling getLibraryQuizVersion().'
805
+ );
806
+ }
807
+
808
+ const queryParameters: any = {};
809
+
810
+ const headerParameters: runtime.HTTPHeaders = {};
811
+
812
+
813
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}`;
814
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
815
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
816
+
817
+ return {
818
+ path: urlPath,
819
+ method: 'GET',
820
+ headers: headerParameters,
821
+ query: queryParameters,
822
+ };
823
+ }
824
+
825
+ /**
826
+ * Get a reusable quiz version
827
+ */
828
+ async getLibraryQuizVersionRaw(requestParameters: GetLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizVersion>> {
829
+ const requestOptions = await this.getLibraryQuizVersionRequestOpts(requestParameters);
830
+ const response = await this.request(requestOptions, initOverrides);
831
+
832
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizVersionFromJSON(jsonValue));
833
+ }
834
+
835
+ /**
836
+ * Get a reusable quiz version
837
+ */
838
+ async getLibraryQuizVersion(requestParameters: GetLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizVersion> {
839
+ const response = await this.getLibraryQuizVersionRaw(requestParameters, initOverrides);
840
+ return await response.value();
841
+ }
842
+
843
+ /**
844
+ * Creates request options for postCourseLibraryQuizSession without sending the request
845
+ */
846
+ async postCourseLibraryQuizSessionRequestOpts(requestParameters: PostCourseLibraryQuizSessionRequest): Promise<runtime.RequestOpts> {
847
+ if (requestParameters['courseId'] == null) {
848
+ throw new runtime.RequiredError(
849
+ 'courseId',
850
+ 'Required parameter "courseId" was null or undefined when calling postCourseLibraryQuizSession().'
851
+ );
852
+ }
853
+
854
+ if (requestParameters['courseVersionId'] == null) {
855
+ throw new runtime.RequiredError(
856
+ 'courseVersionId',
857
+ 'Required parameter "courseVersionId" was null or undefined when calling postCourseLibraryQuizSession().'
858
+ );
859
+ }
860
+
861
+ if (requestParameters['itemId'] == null) {
862
+ throw new runtime.RequiredError(
863
+ 'itemId',
864
+ 'Required parameter "itemId" was null or undefined when calling postCourseLibraryQuizSession().'
865
+ );
866
+ }
867
+
868
+ const queryParameters: any = {};
869
+
870
+ const headerParameters: runtime.HTTPHeaders = {};
871
+
872
+ headerParameters['Content-Type'] = 'application/json';
873
+
874
+
875
+ let urlPath = `/courses/{courseId}/versions/{courseVersionId}/items/{itemId}/quiz-sessions`;
876
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
877
+ urlPath = urlPath.replace('{courseVersionId}', encodeURIComponent(String(requestParameters['courseVersionId'])));
878
+ urlPath = urlPath.replace('{itemId}', encodeURIComponent(String(requestParameters['itemId'])));
879
+
880
+ return {
881
+ path: urlPath,
882
+ method: 'POST',
883
+ headers: headerParameters,
884
+ query: queryParameters,
885
+ body: PostCourseLibraryQuizSessionToJSON(requestParameters['postCourseLibraryQuizSession']),
886
+ };
887
+ }
888
+
889
+ /**
890
+ * Start or resume a live attempt for a course-pinned quiz version
891
+ */
892
+ async postCourseLibraryQuizSessionRaw(requestParameters: PostCourseLibraryQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizSession>> {
893
+ const requestOptions = await this.postCourseLibraryQuizSessionRequestOpts(requestParameters);
894
+ const response = await this.request(requestOptions, initOverrides);
895
+
896
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizSessionFromJSON(jsonValue));
897
+ }
898
+
899
+ /**
900
+ * Start or resume a live attempt for a course-pinned quiz version
901
+ */
902
+ async postCourseLibraryQuizSession(requestParameters: PostCourseLibraryQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizSession> {
903
+ const response = await this.postCourseLibraryQuizSessionRaw(requestParameters, initOverrides);
904
+ return await response.value();
905
+ }
906
+
907
+ /**
908
+ * Creates request options for postLibraryQuiz without sending the request
909
+ */
910
+ async postLibraryQuizRequestOpts(requestParameters: PostLibraryQuizRequest): Promise<runtime.RequestOpts> {
911
+ if (requestParameters['postLibraryQuiz'] == null) {
912
+ throw new runtime.RequiredError(
913
+ 'postLibraryQuiz',
914
+ 'Required parameter "postLibraryQuiz" was null or undefined when calling postLibraryQuiz().'
915
+ );
916
+ }
917
+
918
+ const queryParameters: any = {};
919
+
920
+ const headerParameters: runtime.HTTPHeaders = {};
921
+
922
+ headerParameters['Content-Type'] = 'application/json';
923
+
924
+
925
+ let urlPath = `/content-library/quizzes`;
926
+
927
+ return {
928
+ path: urlPath,
929
+ method: 'POST',
930
+ headers: headerParameters,
931
+ query: queryParameters,
932
+ body: PostLibraryQuizToJSON(requestParameters['postLibraryQuiz']),
933
+ };
934
+ }
935
+
936
+ /**
937
+ * Create a reusable quiz and its first draft version
938
+ */
939
+ async postLibraryQuizRaw(requestParameters: PostLibraryQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuiz>> {
940
+ const requestOptions = await this.postLibraryQuizRequestOpts(requestParameters);
941
+ const response = await this.request(requestOptions, initOverrides);
942
+
943
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizFromJSON(jsonValue));
944
+ }
945
+
946
+ /**
947
+ * Create a reusable quiz and its first draft version
948
+ */
949
+ async postLibraryQuiz(requestParameters: PostLibraryQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuiz> {
950
+ const response = await this.postLibraryQuizRaw(requestParameters, initOverrides);
951
+ return await response.value();
952
+ }
953
+
954
+ /**
955
+ * Creates request options for postLibraryQuizArchive without sending the request
956
+ */
957
+ async postLibraryQuizArchiveRequestOpts(requestParameters: PostLibraryQuizArchiveRequest): Promise<runtime.RequestOpts> {
958
+ if (requestParameters['quizId'] == null) {
959
+ throw new runtime.RequiredError(
960
+ 'quizId',
961
+ 'Required parameter "quizId" was null or undefined when calling postLibraryQuizArchive().'
962
+ );
963
+ }
964
+
965
+ const queryParameters: any = {};
966
+
967
+ const headerParameters: runtime.HTTPHeaders = {};
968
+
969
+
970
+ let urlPath = `/content-library/quizzes/{quizId}/archive`;
971
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
972
+
973
+ return {
974
+ path: urlPath,
975
+ method: 'POST',
976
+ headers: headerParameters,
977
+ query: queryParameters,
978
+ };
979
+ }
980
+
981
+ /**
982
+ * Archive a reusable quiz
983
+ */
984
+ async postLibraryQuizArchiveRaw(requestParameters: PostLibraryQuizArchiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuiz>> {
985
+ const requestOptions = await this.postLibraryQuizArchiveRequestOpts(requestParameters);
986
+ const response = await this.request(requestOptions, initOverrides);
987
+
988
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizFromJSON(jsonValue));
989
+ }
990
+
991
+ /**
992
+ * Archive a reusable quiz
993
+ */
994
+ async postLibraryQuizArchive(requestParameters: PostLibraryQuizArchiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuiz> {
995
+ const response = await this.postLibraryQuizArchiveRaw(requestParameters, initOverrides);
996
+ return await response.value();
997
+ }
998
+
999
+ /**
1000
+ * Creates request options for postLibraryQuizSession without sending the request
1001
+ */
1002
+ async postLibraryQuizSessionRequestOpts(requestParameters: PostLibraryQuizSessionRequest): Promise<runtime.RequestOpts> {
1003
+ if (requestParameters['quizId'] == null) {
1004
+ throw new runtime.RequiredError(
1005
+ 'quizId',
1006
+ 'Required parameter "quizId" was null or undefined when calling postLibraryQuizSession().'
1007
+ );
1008
+ }
1009
+
1010
+ if (requestParameters['versionId'] == null) {
1011
+ throw new runtime.RequiredError(
1012
+ 'versionId',
1013
+ 'Required parameter "versionId" was null or undefined when calling postLibraryQuizSession().'
1014
+ );
1015
+ }
1016
+
1017
+ const queryParameters: any = {};
1018
+
1019
+ const headerParameters: runtime.HTTPHeaders = {};
1020
+
1021
+ headerParameters['Content-Type'] = 'application/json';
1022
+
1023
+
1024
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/sessions`;
1025
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1026
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
1027
+
1028
+ return {
1029
+ path: urlPath,
1030
+ method: 'POST',
1031
+ headers: headerParameters,
1032
+ query: queryParameters,
1033
+ body: PostLibraryQuizSessionToJSON(requestParameters['postLibraryQuizSession']),
1034
+ };
1035
+ }
1036
+
1037
+ /**
1038
+ * Start or resume a sandbox attempt for an exact quiz version
1039
+ */
1040
+ async postLibraryQuizSessionRaw(requestParameters: PostLibraryQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizSession>> {
1041
+ const requestOptions = await this.postLibraryQuizSessionRequestOpts(requestParameters);
1042
+ const response = await this.request(requestOptions, initOverrides);
1043
+
1044
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizSessionFromJSON(jsonValue));
1045
+ }
1046
+
1047
+ /**
1048
+ * Start or resume a sandbox attempt for an exact quiz version
1049
+ */
1050
+ async postLibraryQuizSession(requestParameters: PostLibraryQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizSession> {
1051
+ const response = await this.postLibraryQuizSessionRaw(requestParameters, initOverrides);
1052
+ return await response.value();
1053
+ }
1054
+
1055
+ /**
1056
+ * Creates request options for postLibraryQuizSessionSubmit without sending the request
1057
+ */
1058
+ async postLibraryQuizSessionSubmitRequestOpts(requestParameters: PostLibraryQuizSessionSubmitRequest): Promise<runtime.RequestOpts> {
1059
+ if (requestParameters['sessionId'] == null) {
1060
+ throw new runtime.RequiredError(
1061
+ 'sessionId',
1062
+ 'Required parameter "sessionId" was null or undefined when calling postLibraryQuizSessionSubmit().'
1063
+ );
1064
+ }
1065
+
1066
+ const queryParameters: any = {};
1067
+
1068
+ const headerParameters: runtime.HTTPHeaders = {};
1069
+
1070
+
1071
+ let urlPath = `/quiz/sessions/{sessionId}/submit`;
1072
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
1073
+
1074
+ return {
1075
+ path: urlPath,
1076
+ method: 'POST',
1077
+ headers: headerParameters,
1078
+ query: queryParameters,
1079
+ };
1080
+ }
1081
+
1082
+ /**
1083
+ * Submit and grade a reusable quiz session
1084
+ */
1085
+ async postLibraryQuizSessionSubmitRaw(requestParameters: PostLibraryQuizSessionSubmitRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizResult>> {
1086
+ const requestOptions = await this.postLibraryQuizSessionSubmitRequestOpts(requestParameters);
1087
+ const response = await this.request(requestOptions, initOverrides);
1088
+
1089
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizResultFromJSON(jsonValue));
1090
+ }
1091
+
1092
+ /**
1093
+ * Submit and grade a reusable quiz session
1094
+ */
1095
+ async postLibraryQuizSessionSubmit(requestParameters: PostLibraryQuizSessionSubmitRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizResult> {
1096
+ const response = await this.postLibraryQuizSessionSubmitRaw(requestParameters, initOverrides);
1097
+ return await response.value();
1098
+ }
1099
+
1100
+ /**
1101
+ * Creates request options for postLibraryQuizVersion without sending the request
1102
+ */
1103
+ async postLibraryQuizVersionRequestOpts(requestParameters: PostLibraryQuizVersionRequest): Promise<runtime.RequestOpts> {
1104
+ if (requestParameters['quizId'] == null) {
1105
+ throw new runtime.RequiredError(
1106
+ 'quizId',
1107
+ 'Required parameter "quizId" was null or undefined when calling postLibraryQuizVersion().'
1108
+ );
1109
+ }
1110
+
1111
+ const queryParameters: any = {};
1112
+
1113
+ const headerParameters: runtime.HTTPHeaders = {};
1114
+
1115
+ headerParameters['Content-Type'] = 'application/json';
1116
+
1117
+
1118
+ let urlPath = `/content-library/quizzes/{quizId}/versions`;
1119
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1120
+
1121
+ return {
1122
+ path: urlPath,
1123
+ method: 'POST',
1124
+ headers: headerParameters,
1125
+ query: queryParameters,
1126
+ body: PostLibraryQuizVersionToJSON(requestParameters['postLibraryQuizVersion']),
1127
+ };
1128
+ }
1129
+
1130
+ /**
1131
+ * Create the next draft quiz version
1132
+ */
1133
+ async postLibraryQuizVersionRaw(requestParameters: PostLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizVersion>> {
1134
+ const requestOptions = await this.postLibraryQuizVersionRequestOpts(requestParameters);
1135
+ const response = await this.request(requestOptions, initOverrides);
1136
+
1137
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizVersionFromJSON(jsonValue));
1138
+ }
1139
+
1140
+ /**
1141
+ * Create the next draft quiz version
1142
+ */
1143
+ async postLibraryQuizVersion(requestParameters: PostLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizVersion> {
1144
+ const response = await this.postLibraryQuizVersionRaw(requestParameters, initOverrides);
1145
+ return await response.value();
1146
+ }
1147
+
1148
+ /**
1149
+ * Creates request options for postLibraryQuizVersionArchive without sending the request
1150
+ */
1151
+ async postLibraryQuizVersionArchiveRequestOpts(requestParameters: PostLibraryQuizVersionArchiveRequest): Promise<runtime.RequestOpts> {
1152
+ if (requestParameters['quizId'] == null) {
1153
+ throw new runtime.RequiredError(
1154
+ 'quizId',
1155
+ 'Required parameter "quizId" was null or undefined when calling postLibraryQuizVersionArchive().'
1156
+ );
1157
+ }
1158
+
1159
+ if (requestParameters['versionId'] == null) {
1160
+ throw new runtime.RequiredError(
1161
+ 'versionId',
1162
+ 'Required parameter "versionId" was null or undefined when calling postLibraryQuizVersionArchive().'
1163
+ );
1164
+ }
1165
+
1166
+ const queryParameters: any = {};
1167
+
1168
+ const headerParameters: runtime.HTTPHeaders = {};
1169
+
1170
+
1171
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/archive`;
1172
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1173
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
1174
+
1175
+ return {
1176
+ path: urlPath,
1177
+ method: 'POST',
1178
+ headers: headerParameters,
1179
+ query: queryParameters,
1180
+ };
1181
+ }
1182
+
1183
+ /**
1184
+ * Archive a published reusable quiz version
1185
+ */
1186
+ async postLibraryQuizVersionArchiveRaw(requestParameters: PostLibraryQuizVersionArchiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizVersion>> {
1187
+ const requestOptions = await this.postLibraryQuizVersionArchiveRequestOpts(requestParameters);
1188
+ const response = await this.request(requestOptions, initOverrides);
1189
+
1190
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizVersionFromJSON(jsonValue));
1191
+ }
1192
+
1193
+ /**
1194
+ * Archive a published reusable quiz version
1195
+ */
1196
+ async postLibraryQuizVersionArchive(requestParameters: PostLibraryQuizVersionArchiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizVersion> {
1197
+ const response = await this.postLibraryQuizVersionArchiveRaw(requestParameters, initOverrides);
1198
+ return await response.value();
1199
+ }
1200
+
1201
+ /**
1202
+ * Creates request options for postLibraryQuizVersionPublish without sending the request
1203
+ */
1204
+ async postLibraryQuizVersionPublishRequestOpts(requestParameters: PostLibraryQuizVersionPublishRequest): Promise<runtime.RequestOpts> {
1205
+ if (requestParameters['quizId'] == null) {
1206
+ throw new runtime.RequiredError(
1207
+ 'quizId',
1208
+ 'Required parameter "quizId" was null or undefined when calling postLibraryQuizVersionPublish().'
1209
+ );
1210
+ }
1211
+
1212
+ if (requestParameters['versionId'] == null) {
1213
+ throw new runtime.RequiredError(
1214
+ 'versionId',
1215
+ 'Required parameter "versionId" was null or undefined when calling postLibraryQuizVersionPublish().'
1216
+ );
1217
+ }
1218
+
1219
+ const queryParameters: any = {};
1220
+
1221
+ const headerParameters: runtime.HTTPHeaders = {};
1222
+
1223
+
1224
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/publish`;
1225
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1226
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
1227
+
1228
+ return {
1229
+ path: urlPath,
1230
+ method: 'POST',
1231
+ headers: headerParameters,
1232
+ query: queryParameters,
1233
+ };
1234
+ }
1235
+
1236
+ /**
1237
+ * Publish an immutable reusable quiz version
1238
+ */
1239
+ async postLibraryQuizVersionPublishRaw(requestParameters: PostLibraryQuizVersionPublishRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizVersion>> {
1240
+ const requestOptions = await this.postLibraryQuizVersionPublishRequestOpts(requestParameters);
1241
+ const response = await this.request(requestOptions, initOverrides);
1242
+
1243
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizVersionFromJSON(jsonValue));
1244
+ }
1245
+
1246
+ /**
1247
+ * Publish an immutable reusable quiz version
1248
+ */
1249
+ async postLibraryQuizVersionPublish(requestParameters: PostLibraryQuizVersionPublishRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizVersion> {
1250
+ const response = await this.postLibraryQuizVersionPublishRaw(requestParameters, initOverrides);
1251
+ return await response.value();
1252
+ }
1253
+
1254
+ /**
1255
+ * Creates request options for putLibraryQuiz without sending the request
1256
+ */
1257
+ async putLibraryQuizRequestOpts(requestParameters: PutLibraryQuizRequest): Promise<runtime.RequestOpts> {
1258
+ if (requestParameters['quizId'] == null) {
1259
+ throw new runtime.RequiredError(
1260
+ 'quizId',
1261
+ 'Required parameter "quizId" was null or undefined when calling putLibraryQuiz().'
1262
+ );
1263
+ }
1264
+
1265
+ if (requestParameters['putLibraryQuiz'] == null) {
1266
+ throw new runtime.RequiredError(
1267
+ 'putLibraryQuiz',
1268
+ 'Required parameter "putLibraryQuiz" was null or undefined when calling putLibraryQuiz().'
1269
+ );
1270
+ }
1271
+
1272
+ const queryParameters: any = {};
1273
+
1274
+ const headerParameters: runtime.HTTPHeaders = {};
1275
+
1276
+ headerParameters['Content-Type'] = 'application/json';
1277
+
1278
+
1279
+ let urlPath = `/content-library/quizzes/{quizId}`;
1280
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1281
+
1282
+ return {
1283
+ path: urlPath,
1284
+ method: 'PUT',
1285
+ headers: headerParameters,
1286
+ query: queryParameters,
1287
+ body: PutLibraryQuizToJSON(requestParameters['putLibraryQuiz']),
1288
+ };
1289
+ }
1290
+
1291
+ /**
1292
+ * Update reusable quiz library metadata
1293
+ */
1294
+ async putLibraryQuizRaw(requestParameters: PutLibraryQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuiz>> {
1295
+ const requestOptions = await this.putLibraryQuizRequestOpts(requestParameters);
1296
+ const response = await this.request(requestOptions, initOverrides);
1297
+
1298
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizFromJSON(jsonValue));
1299
+ }
1300
+
1301
+ /**
1302
+ * Update reusable quiz library metadata
1303
+ */
1304
+ async putLibraryQuiz(requestParameters: PutLibraryQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuiz> {
1305
+ const response = await this.putLibraryQuizRaw(requestParameters, initOverrides);
1306
+ return await response.value();
1307
+ }
1308
+
1309
+ /**
1310
+ * Creates request options for putLibraryQuizCriteria without sending the request
1311
+ */
1312
+ async putLibraryQuizCriteriaRequestOpts(requestParameters: PutLibraryQuizCriteriaRequest): Promise<runtime.RequestOpts> {
1313
+ if (requestParameters['quizId'] == null) {
1314
+ throw new runtime.RequiredError(
1315
+ 'quizId',
1316
+ 'Required parameter "quizId" was null or undefined when calling putLibraryQuizCriteria().'
1317
+ );
1318
+ }
1319
+
1320
+ if (requestParameters['versionId'] == null) {
1321
+ throw new runtime.RequiredError(
1322
+ 'versionId',
1323
+ 'Required parameter "versionId" was null or undefined when calling putLibraryQuizCriteria().'
1324
+ );
1325
+ }
1326
+
1327
+ if (requestParameters['putLibraryQuizCriteria'] == null) {
1328
+ throw new runtime.RequiredError(
1329
+ 'putLibraryQuizCriteria',
1330
+ 'Required parameter "putLibraryQuizCriteria" was null or undefined when calling putLibraryQuizCriteria().'
1331
+ );
1332
+ }
1333
+
1334
+ const queryParameters: any = {};
1335
+
1336
+ const headerParameters: runtime.HTTPHeaders = {};
1337
+
1338
+ headerParameters['Content-Type'] = 'application/json';
1339
+
1340
+
1341
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/criteria`;
1342
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1343
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
1344
+
1345
+ return {
1346
+ path: urlPath,
1347
+ method: 'PUT',
1348
+ headers: headerParameters,
1349
+ query: queryParameters,
1350
+ body: PutLibraryQuizCriteriaToJSON(requestParameters['putLibraryQuizCriteria']),
1351
+ };
1352
+ }
1353
+
1354
+ /**
1355
+ * Replace question-selection criteria on a draft quiz version
1356
+ */
1357
+ async putLibraryQuizCriteriaRaw(requestParameters: PutLibraryQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LibraryQuizCriterion>>> {
1358
+ const requestOptions = await this.putLibraryQuizCriteriaRequestOpts(requestParameters);
1359
+ const response = await this.request(requestOptions, initOverrides);
1360
+
1361
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LibraryQuizCriterionFromJSON));
1362
+ }
1363
+
1364
+ /**
1365
+ * Replace question-selection criteria on a draft quiz version
1366
+ */
1367
+ async putLibraryQuizCriteria(requestParameters: PutLibraryQuizCriteriaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LibraryQuizCriterion>> {
1368
+ const response = await this.putLibraryQuizCriteriaRaw(requestParameters, initOverrides);
1369
+ return await response.value();
1370
+ }
1371
+
1372
+ /**
1373
+ * Creates request options for putLibraryQuizQuestions without sending the request
1374
+ */
1375
+ async putLibraryQuizQuestionsRequestOpts(requestParameters: PutLibraryQuizQuestionsRequest): Promise<runtime.RequestOpts> {
1376
+ if (requestParameters['quizId'] == null) {
1377
+ throw new runtime.RequiredError(
1378
+ 'quizId',
1379
+ 'Required parameter "quizId" was null or undefined when calling putLibraryQuizQuestions().'
1380
+ );
1381
+ }
1382
+
1383
+ if (requestParameters['versionId'] == null) {
1384
+ throw new runtime.RequiredError(
1385
+ 'versionId',
1386
+ 'Required parameter "versionId" was null or undefined when calling putLibraryQuizQuestions().'
1387
+ );
1388
+ }
1389
+
1390
+ if (requestParameters['putLibraryQuizQuestions'] == null) {
1391
+ throw new runtime.RequiredError(
1392
+ 'putLibraryQuizQuestions',
1393
+ 'Required parameter "putLibraryQuizQuestions" was null or undefined when calling putLibraryQuizQuestions().'
1394
+ );
1395
+ }
1396
+
1397
+ const queryParameters: any = {};
1398
+
1399
+ const headerParameters: runtime.HTTPHeaders = {};
1400
+
1401
+ headerParameters['Content-Type'] = 'application/json';
1402
+
1403
+
1404
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/questions`;
1405
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1406
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
1407
+
1408
+ return {
1409
+ path: urlPath,
1410
+ method: 'PUT',
1411
+ headers: headerParameters,
1412
+ query: queryParameters,
1413
+ body: PutLibraryQuizQuestionsToJSON(requestParameters['putLibraryQuizQuestions']),
1414
+ };
1415
+ }
1416
+
1417
+ /**
1418
+ * Replace manual questions on a draft quiz version
1419
+ */
1420
+ async putLibraryQuizQuestionsRaw(requestParameters: PutLibraryQuizQuestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LibraryQuizQuestion>>> {
1421
+ const requestOptions = await this.putLibraryQuizQuestionsRequestOpts(requestParameters);
1422
+ const response = await this.request(requestOptions, initOverrides);
1423
+
1424
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LibraryQuizQuestionFromJSON));
1425
+ }
1426
+
1427
+ /**
1428
+ * Replace manual questions on a draft quiz version
1429
+ */
1430
+ async putLibraryQuizQuestions(requestParameters: PutLibraryQuizQuestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LibraryQuizQuestion>> {
1431
+ const response = await this.putLibraryQuizQuestionsRaw(requestParameters, initOverrides);
1432
+ return await response.value();
1433
+ }
1434
+
1435
+ /**
1436
+ * Creates request options for putLibraryQuizSessionAnswer without sending the request
1437
+ */
1438
+ async putLibraryQuizSessionAnswerRequestOpts(requestParameters: PutLibraryQuizSessionAnswerRequest): Promise<runtime.RequestOpts> {
1439
+ if (requestParameters['sessionId'] == null) {
1440
+ throw new runtime.RequiredError(
1441
+ 'sessionId',
1442
+ 'Required parameter "sessionId" was null or undefined when calling putLibraryQuizSessionAnswer().'
1443
+ );
1444
+ }
1445
+
1446
+ if (requestParameters['sessionQuestionId'] == null) {
1447
+ throw new runtime.RequiredError(
1448
+ 'sessionQuestionId',
1449
+ 'Required parameter "sessionQuestionId" was null or undefined when calling putLibraryQuizSessionAnswer().'
1450
+ );
1451
+ }
1452
+
1453
+ if (requestParameters['putLibraryQuizSessionAnswer'] == null) {
1454
+ throw new runtime.RequiredError(
1455
+ 'putLibraryQuizSessionAnswer',
1456
+ 'Required parameter "putLibraryQuizSessionAnswer" was null or undefined when calling putLibraryQuizSessionAnswer().'
1457
+ );
1458
+ }
1459
+
1460
+ const queryParameters: any = {};
1461
+
1462
+ const headerParameters: runtime.HTTPHeaders = {};
1463
+
1464
+ headerParameters['Content-Type'] = 'application/json';
1465
+
1466
+
1467
+ let urlPath = `/quiz/sessions/{sessionId}/answers/{sessionQuestionId}`;
1468
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
1469
+ urlPath = urlPath.replace('{sessionQuestionId}', encodeURIComponent(String(requestParameters['sessionQuestionId'])));
1470
+
1471
+ return {
1472
+ path: urlPath,
1473
+ method: 'PUT',
1474
+ headers: headerParameters,
1475
+ query: queryParameters,
1476
+ body: PutLibraryQuizSessionAnswerToJSON(requestParameters['putLibraryQuizSessionAnswer']),
1477
+ };
1478
+ }
1479
+
1480
+ /**
1481
+ * Save an answer using version-snapshot identifiers
1482
+ */
1483
+ async putLibraryQuizSessionAnswerRaw(requestParameters: PutLibraryQuizSessionAnswerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizSession>> {
1484
+ const requestOptions = await this.putLibraryQuizSessionAnswerRequestOpts(requestParameters);
1485
+ const response = await this.request(requestOptions, initOverrides);
1486
+
1487
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizSessionFromJSON(jsonValue));
1488
+ }
1489
+
1490
+ /**
1491
+ * Save an answer using version-snapshot identifiers
1492
+ */
1493
+ async putLibraryQuizSessionAnswer(requestParameters: PutLibraryQuizSessionAnswerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizSession> {
1494
+ const response = await this.putLibraryQuizSessionAnswerRaw(requestParameters, initOverrides);
1495
+ return await response.value();
1496
+ }
1497
+
1498
+ /**
1499
+ * Creates request options for putLibraryQuizSessionGrade without sending the request
1500
+ */
1501
+ async putLibraryQuizSessionGradeRequestOpts(requestParameters: PutLibraryQuizSessionGradeRequest): Promise<runtime.RequestOpts> {
1502
+ if (requestParameters['sessionId'] == null) {
1503
+ throw new runtime.RequiredError(
1504
+ 'sessionId',
1505
+ 'Required parameter "sessionId" was null or undefined when calling putLibraryQuizSessionGrade().'
1506
+ );
1507
+ }
1508
+
1509
+ if (requestParameters['sessionQuestionId'] == null) {
1510
+ throw new runtime.RequiredError(
1511
+ 'sessionQuestionId',
1512
+ 'Required parameter "sessionQuestionId" was null or undefined when calling putLibraryQuizSessionGrade().'
1513
+ );
1514
+ }
1515
+
1516
+ if (requestParameters['putLibraryQuizSessionGrade'] == null) {
1517
+ throw new runtime.RequiredError(
1518
+ 'putLibraryQuizSessionGrade',
1519
+ 'Required parameter "putLibraryQuizSessionGrade" was null or undefined when calling putLibraryQuizSessionGrade().'
1520
+ );
1521
+ }
1522
+
1523
+ const queryParameters: any = {};
1524
+
1525
+ const headerParameters: runtime.HTTPHeaders = {};
1526
+
1527
+ headerParameters['Content-Type'] = 'application/json';
1528
+
1529
+
1530
+ let urlPath = `/quiz/sessions/{sessionId}/answers/{sessionQuestionId}/grade`;
1531
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
1532
+ urlPath = urlPath.replace('{sessionQuestionId}', encodeURIComponent(String(requestParameters['sessionQuestionId'])));
1533
+
1534
+ return {
1535
+ path: urlPath,
1536
+ method: 'PUT',
1537
+ headers: headerParameters,
1538
+ query: queryParameters,
1539
+ body: PutLibraryQuizSessionGradeToJSON(requestParameters['putLibraryQuizSessionGrade']),
1540
+ };
1541
+ }
1542
+
1543
+ /**
1544
+ * Manually grade a reusable quiz session answer
1545
+ */
1546
+ async putLibraryQuizSessionGradeRaw(requestParameters: PutLibraryQuizSessionGradeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizResult>> {
1547
+ const requestOptions = await this.putLibraryQuizSessionGradeRequestOpts(requestParameters);
1548
+ const response = await this.request(requestOptions, initOverrides);
1549
+
1550
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizResultFromJSON(jsonValue));
1551
+ }
1552
+
1553
+ /**
1554
+ * Manually grade a reusable quiz session answer
1555
+ */
1556
+ async putLibraryQuizSessionGrade(requestParameters: PutLibraryQuizSessionGradeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizResult> {
1557
+ const response = await this.putLibraryQuizSessionGradeRaw(requestParameters, initOverrides);
1558
+ return await response.value();
1559
+ }
1560
+
1561
+ /**
1562
+ * Creates request options for putLibraryQuizVersion without sending the request
1563
+ */
1564
+ async putLibraryQuizVersionRequestOpts(requestParameters: PutLibraryQuizVersionRequest): Promise<runtime.RequestOpts> {
1565
+ if (requestParameters['quizId'] == null) {
1566
+ throw new runtime.RequiredError(
1567
+ 'quizId',
1568
+ 'Required parameter "quizId" was null or undefined when calling putLibraryQuizVersion().'
1569
+ );
1570
+ }
1571
+
1572
+ if (requestParameters['versionId'] == null) {
1573
+ throw new runtime.RequiredError(
1574
+ 'versionId',
1575
+ 'Required parameter "versionId" was null or undefined when calling putLibraryQuizVersion().'
1576
+ );
1577
+ }
1578
+
1579
+ if (requestParameters['putLibraryQuizVersion'] == null) {
1580
+ throw new runtime.RequiredError(
1581
+ 'putLibraryQuizVersion',
1582
+ 'Required parameter "putLibraryQuizVersion" was null or undefined when calling putLibraryQuizVersion().'
1583
+ );
1584
+ }
1585
+
1586
+ const queryParameters: any = {};
1587
+
1588
+ const headerParameters: runtime.HTTPHeaders = {};
1589
+
1590
+ headerParameters['Content-Type'] = 'application/json';
1591
+
1592
+
1593
+ let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}`;
1594
+ urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
1595
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
1596
+
1597
+ return {
1598
+ path: urlPath,
1599
+ method: 'PUT',
1600
+ headers: headerParameters,
1601
+ query: queryParameters,
1602
+ body: PutLibraryQuizVersionToJSON(requestParameters['putLibraryQuizVersion']),
1603
+ };
1604
+ }
1605
+
1606
+ /**
1607
+ * Edit a draft reusable quiz version
1608
+ */
1609
+ async putLibraryQuizVersionRaw(requestParameters: PutLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizVersion>> {
1610
+ const requestOptions = await this.putLibraryQuizVersionRequestOpts(requestParameters);
1611
+ const response = await this.request(requestOptions, initOverrides);
1612
+
1613
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizVersionFromJSON(jsonValue));
1614
+ }
1615
+
1616
+ /**
1617
+ * Edit a draft reusable quiz version
1618
+ */
1619
+ async putLibraryQuizVersion(requestParameters: PutLibraryQuizVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizVersion> {
1620
+ const response = await this.putLibraryQuizVersionRaw(requestParameters, initOverrides);
1621
+ return await response.value();
1622
+ }
1623
+
1624
+ }