@easyedu/js-lsm-api 1.98.0 → 1.100.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 (110) hide show
  1. package/.openapi-generator/FILES +22 -0
  2. package/README.md +21 -2
  3. package/dist/apis/ContentLibraryQuizApi.d.ts +17 -0
  4. package/dist/apis/ContentLibraryQuizApi.js +45 -0
  5. package/dist/apis/CourseApi.d.ts +60 -0
  6. package/dist/apis/CourseApi.js +167 -0
  7. package/dist/apis/PlayerApi.d.ts +74 -0
  8. package/dist/apis/PlayerApi.js +193 -0
  9. package/dist/esm/apis/ContentLibraryQuizApi.d.ts +17 -0
  10. package/dist/esm/apis/ContentLibraryQuizApi.js +45 -0
  11. package/dist/esm/apis/CourseApi.d.ts +60 -0
  12. package/dist/esm/apis/CourseApi.js +167 -0
  13. package/dist/esm/apis/PlayerApi.d.ts +74 -0
  14. package/dist/esm/apis/PlayerApi.js +193 -0
  15. package/dist/esm/models/GetAttemptAllowance.d.ts +80 -0
  16. package/dist/esm/models/GetAttemptAllowance.js +75 -0
  17. package/dist/esm/models/GetCourseVersionItemSession.d.ts +6 -0
  18. package/dist/esm/models/GetCourseVersionItemSession.js +4 -0
  19. package/dist/esm/models/GetLibraryQuizSession.d.ts +6 -0
  20. package/dist/esm/models/GetLibraryQuizSession.js +4 -0
  21. package/dist/esm/models/GetResourceSession.d.ts +6 -0
  22. package/dist/esm/models/GetResourceSession.js +4 -0
  23. package/dist/esm/models/GetResourceSessionActivity.d.ts +125 -0
  24. package/dist/esm/models/GetResourceSessionActivity.js +97 -0
  25. package/dist/esm/models/GetResourceSessionActivityEvent.d.ts +62 -0
  26. package/dist/esm/models/GetResourceSessionActivityEvent.js +61 -0
  27. package/dist/esm/models/GetResourceSessionActivityEventList.d.ts +33 -0
  28. package/dist/esm/models/GetResourceSessionActivityEventList.js +44 -0
  29. package/dist/esm/models/GetResourceSessionActivityList.d.ts +33 -0
  30. package/dist/esm/models/GetResourceSessionActivityList.js +44 -0
  31. package/dist/esm/models/PostClearSessions.d.ts +32 -0
  32. package/dist/esm/models/PostClearSessions.js +43 -0
  33. package/dist/esm/models/PostClearSessionsResponse.d.ts +44 -0
  34. package/dist/esm/models/PostClearSessionsResponse.js +51 -0
  35. package/dist/esm/models/PostResourceSessionActivityEvent.d.ts +62 -0
  36. package/dist/esm/models/PostResourceSessionActivityEvent.js +66 -0
  37. package/dist/esm/models/PutAttemptAllowance.d.ts +38 -0
  38. package/dist/esm/models/PutAttemptAllowance.js +47 -0
  39. package/dist/esm/models/PutLibraryQuizSessionOverride.d.ts +57 -0
  40. package/dist/esm/models/PutLibraryQuizSessionOverride.js +55 -0
  41. package/dist/esm/models/PutResourceSessionOverride.d.ts +69 -0
  42. package/dist/esm/models/PutResourceSessionOverride.js +66 -0
  43. package/dist/esm/models/index.d.ts +11 -0
  44. package/dist/esm/models/index.js +11 -0
  45. package/dist/models/GetAttemptAllowance.d.ts +80 -0
  46. package/dist/models/GetAttemptAllowance.js +82 -0
  47. package/dist/models/GetCourseVersionItemSession.d.ts +6 -0
  48. package/dist/models/GetCourseVersionItemSession.js +4 -0
  49. package/dist/models/GetLibraryQuizSession.d.ts +6 -0
  50. package/dist/models/GetLibraryQuizSession.js +4 -0
  51. package/dist/models/GetResourceSession.d.ts +6 -0
  52. package/dist/models/GetResourceSession.js +4 -0
  53. package/dist/models/GetResourceSessionActivity.d.ts +125 -0
  54. package/dist/models/GetResourceSessionActivity.js +105 -0
  55. package/dist/models/GetResourceSessionActivityEvent.d.ts +62 -0
  56. package/dist/models/GetResourceSessionActivityEvent.js +68 -0
  57. package/dist/models/GetResourceSessionActivityEventList.d.ts +33 -0
  58. package/dist/models/GetResourceSessionActivityEventList.js +51 -0
  59. package/dist/models/GetResourceSessionActivityList.d.ts +33 -0
  60. package/dist/models/GetResourceSessionActivityList.js +51 -0
  61. package/dist/models/PostClearSessions.d.ts +32 -0
  62. package/dist/models/PostClearSessions.js +50 -0
  63. package/dist/models/PostClearSessionsResponse.d.ts +44 -0
  64. package/dist/models/PostClearSessionsResponse.js +58 -0
  65. package/dist/models/PostResourceSessionActivityEvent.d.ts +62 -0
  66. package/dist/models/PostResourceSessionActivityEvent.js +74 -0
  67. package/dist/models/PutAttemptAllowance.d.ts +38 -0
  68. package/dist/models/PutAttemptAllowance.js +54 -0
  69. package/dist/models/PutLibraryQuizSessionOverride.d.ts +57 -0
  70. package/dist/models/PutLibraryQuizSessionOverride.js +63 -0
  71. package/dist/models/PutResourceSessionOverride.d.ts +69 -0
  72. package/dist/models/PutResourceSessionOverride.js +74 -0
  73. package/dist/models/index.d.ts +11 -0
  74. package/dist/models/index.js +11 -0
  75. package/docs/ContentLibraryQuizApi.md +73 -2
  76. package/docs/CourseApi.md +236 -0
  77. package/docs/GetAttemptAllowance.md +51 -0
  78. package/docs/GetCourseVersionItemSession.md +2 -0
  79. package/docs/GetLibraryQuizSession.md +2 -0
  80. package/docs/GetResourceSession.md +2 -0
  81. package/docs/GetResourceSessionActivity.md +63 -0
  82. package/docs/GetResourceSessionActivityEvent.md +45 -0
  83. package/docs/GetResourceSessionActivityEventList.md +35 -0
  84. package/docs/GetResourceSessionActivityList.md +35 -0
  85. package/docs/PlayerApi.md +302 -6
  86. package/docs/PostClearSessions.md +34 -0
  87. package/docs/PostClearSessionsResponse.md +38 -0
  88. package/docs/PostResourceSessionActivityEvent.md +39 -0
  89. package/docs/PutAttemptAllowance.md +36 -0
  90. package/docs/PutLibraryQuizSessionOverride.md +41 -0
  91. package/docs/PutResourceSessionOverride.md +41 -0
  92. package/package.json +1 -1
  93. package/src/apis/ContentLibraryQuizApi.ts +65 -0
  94. package/src/apis/CourseApi.ts +270 -0
  95. package/src/apis/PlayerApi.ts +282 -0
  96. package/src/models/GetAttemptAllowance.ts +138 -0
  97. package/src/models/GetCourseVersionItemSession.ts +9 -0
  98. package/src/models/GetLibraryQuizSession.ts +9 -0
  99. package/src/models/GetResourceSession.ts +9 -0
  100. package/src/models/GetResourceSessionActivity.ts +199 -0
  101. package/src/models/GetResourceSessionActivityEvent.ts +110 -0
  102. package/src/models/GetResourceSessionActivityEventList.ts +74 -0
  103. package/src/models/GetResourceSessionActivityList.ts +74 -0
  104. package/src/models/PostClearSessions.ts +66 -0
  105. package/src/models/PostClearSessionsResponse.ts +84 -0
  106. package/src/models/PostResourceSessionActivityEvent.ts +104 -0
  107. package/src/models/PutAttemptAllowance.ts +75 -0
  108. package/src/models/PutLibraryQuizSessionOverride.ts +100 -0
  109. package/src/models/PutResourceSessionOverride.ts +113 -0
  110. package/src/models/index.ts +11 -0
@@ -0,0 +1,41 @@
1
+
2
+ # PutResourceSessionOverride
3
+
4
+ Instructor-entered progress values for an existing live resource session.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `completionStatus` | string
11
+ `gradeStatus` | string
12
+ `scoreRaw` | number
13
+ `reason` | string
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { PutResourceSessionOverride } from '@easyedu/js-lsm-api'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "completionStatus": null,
23
+ "gradeStatus": null,
24
+ "scoreRaw": null,
25
+ "reason": null,
26
+ } satisfies PutResourceSessionOverride
27
+
28
+ console.log(example)
29
+
30
+ // Convert the instance to a JSON string
31
+ const exampleJSON: string = JSON.stringify(example)
32
+ console.log(exampleJSON)
33
+
34
+ // Parse the JSON string back to an object
35
+ const exampleParsed = JSON.parse(exampleJSON) as PutResourceSessionOverride
36
+ console.log(exampleParsed)
37
+ ```
38
+
39
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
40
+
41
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.98.0",
3
+ "version": "1.100.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -113,6 +113,11 @@ import {
113
113
  PutLibraryQuizSessionGradeFromJSON,
114
114
  PutLibraryQuizSessionGradeToJSON,
115
115
  } from '../models/PutLibraryQuizSessionGrade';
116
+ import {
117
+ type PutLibraryQuizSessionOverride,
118
+ PutLibraryQuizSessionOverrideFromJSON,
119
+ PutLibraryQuizSessionOverrideToJSON,
120
+ } from '../models/PutLibraryQuizSessionOverride';
116
121
  import {
117
122
  type PutLibraryQuizVersion,
118
123
  PutLibraryQuizVersionFromJSON,
@@ -262,6 +267,11 @@ export interface PutLibraryQuizSessionGradeRequest {
262
267
  putLibraryQuizSessionGrade: PutLibraryQuizSessionGrade;
263
268
  }
264
269
 
270
+ export interface PutLibraryQuizSessionOverrideRequest {
271
+ sessionId: string;
272
+ putLibraryQuizSessionOverride: PutLibraryQuizSessionOverride;
273
+ }
274
+
265
275
  export interface PutLibraryQuizVersionRequest {
266
276
  quizId: string;
267
277
  versionId: string;
@@ -1632,6 +1642,61 @@ export class ContentLibraryQuizApi extends runtime.BaseAPI {
1632
1642
  return await response.value();
1633
1643
  }
1634
1644
 
1645
+ /**
1646
+ * Creates request options for putLibraryQuizSessionOverride without sending the request
1647
+ */
1648
+ async putLibraryQuizSessionOverrideRequestOpts(requestParameters: PutLibraryQuizSessionOverrideRequest): Promise<runtime.RequestOpts> {
1649
+ if (requestParameters['sessionId'] == null) {
1650
+ throw new runtime.RequiredError(
1651
+ 'sessionId',
1652
+ 'Required parameter "sessionId" was null or undefined when calling putLibraryQuizSessionOverride().'
1653
+ );
1654
+ }
1655
+
1656
+ if (requestParameters['putLibraryQuizSessionOverride'] == null) {
1657
+ throw new runtime.RequiredError(
1658
+ 'putLibraryQuizSessionOverride',
1659
+ 'Required parameter "putLibraryQuizSessionOverride" was null or undefined when calling putLibraryQuizSessionOverride().'
1660
+ );
1661
+ }
1662
+
1663
+ const queryParameters: any = {};
1664
+
1665
+ const headerParameters: runtime.HTTPHeaders = {};
1666
+
1667
+ headerParameters['Content-Type'] = 'application/json';
1668
+
1669
+
1670
+ let urlPath = `/quiz/sessions/{sessionId}/override`;
1671
+ urlPath = urlPath.replace('{sessionId}', encodeURIComponent(String(requestParameters['sessionId'])));
1672
+
1673
+ return {
1674
+ path: urlPath,
1675
+ method: 'PUT',
1676
+ headers: headerParameters,
1677
+ query: queryParameters,
1678
+ body: PutLibraryQuizSessionOverrideToJSON(requestParameters['putLibraryQuizSessionOverride']),
1679
+ };
1680
+ }
1681
+
1682
+ /**
1683
+ * Override a learner\'s live quiz-session progress
1684
+ */
1685
+ async putLibraryQuizSessionOverrideRaw(requestParameters: PutLibraryQuizSessionOverrideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizSession>> {
1686
+ const requestOptions = await this.putLibraryQuizSessionOverrideRequestOpts(requestParameters);
1687
+ const response = await this.request(requestOptions, initOverrides);
1688
+
1689
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizSessionFromJSON(jsonValue));
1690
+ }
1691
+
1692
+ /**
1693
+ * Override a learner\'s live quiz-session progress
1694
+ */
1695
+ async putLibraryQuizSessionOverride(requestParameters: PutLibraryQuizSessionOverrideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizSession> {
1696
+ const response = await this.putLibraryQuizSessionOverrideRaw(requestParameters, initOverrides);
1697
+ return await response.value();
1698
+ }
1699
+
1635
1700
  /**
1636
1701
  * Creates request options for putLibraryQuizVersion without sending the request
1637
1702
  */
@@ -13,6 +13,11 @@
13
13
  */
14
14
 
15
15
  import * as runtime from '../runtime';
16
+ import {
17
+ type GetAttemptAllowance,
18
+ GetAttemptAllowanceFromJSON,
19
+ GetAttemptAllowanceToJSON,
20
+ } from '../models/GetAttemptAllowance';
16
21
  import {
17
22
  type GetCourse,
18
23
  GetCourseFromJSON,
@@ -78,6 +83,16 @@ import {
78
83
  GetCourseVersionSectionFromJSON,
79
84
  GetCourseVersionSectionToJSON,
80
85
  } from '../models/GetCourseVersionSection';
86
+ import {
87
+ type PostClearSessions,
88
+ PostClearSessionsFromJSON,
89
+ PostClearSessionsToJSON,
90
+ } from '../models/PostClearSessions';
91
+ import {
92
+ type PostClearSessionsResponse,
93
+ PostClearSessionsResponseFromJSON,
94
+ PostClearSessionsResponseToJSON,
95
+ } from '../models/PostClearSessionsResponse';
81
96
  import {
82
97
  type PostCourse,
83
98
  PostCourseFromJSON,
@@ -133,6 +148,11 @@ import {
133
148
  PostDuplicateFromJSON,
134
149
  PostDuplicateToJSON,
135
150
  } from '../models/PostDuplicate';
151
+ import {
152
+ type PutAttemptAllowance,
153
+ PutAttemptAllowanceFromJSON,
154
+ PutAttemptAllowanceToJSON,
155
+ } from '../models/PutAttemptAllowance';
136
156
  import {
137
157
  type PutCourse,
138
158
  PutCourseFromJSON,
@@ -226,6 +246,13 @@ export interface GetCourseExportsRequest {
226
246
  pageSize?: number;
227
247
  }
228
248
 
249
+ export interface GetCourseItemLearnerAttemptAllowanceRequest {
250
+ courseId: string;
251
+ courseVersionId: string;
252
+ itemId: string;
253
+ userId: string;
254
+ }
255
+
229
256
  export interface GetCourseListRequest {
230
257
  page?: number;
231
258
  pageSize?: number;
@@ -282,6 +309,14 @@ export interface PostCourseImageUploadRequest {
282
309
  file: Blob;
283
310
  }
284
311
 
312
+ export interface PostCourseItemLearnerSessionsClearRequest {
313
+ courseId: string;
314
+ courseVersionId: string;
315
+ itemId: string;
316
+ userId: string;
317
+ postClearSessions: PostClearSessions;
318
+ }
319
+
285
320
  export interface PostCourseResumeRequest {
286
321
  courseId: string;
287
322
  }
@@ -327,6 +362,14 @@ export interface PutCourseEnrollmentRequest {
327
362
  putCourseEnrollment: PutCourseEnrollment;
328
363
  }
329
364
 
365
+ export interface PutCourseItemLearnerAttemptAllowanceRequest {
366
+ courseId: string;
367
+ courseVersionId: string;
368
+ itemId: string;
369
+ userId: string;
370
+ putAttemptAllowance: PutAttemptAllowance;
371
+ }
372
+
330
373
  export interface PutCourseVersionItemRequest {
331
374
  courseId: string;
332
375
  sectionId: string;
@@ -1023,6 +1066,75 @@ export class CourseApi extends runtime.BaseAPI {
1023
1066
  return await response.value();
1024
1067
  }
1025
1068
 
1069
+ /**
1070
+ * Creates request options for getCourseItemLearnerAttemptAllowance without sending the request
1071
+ */
1072
+ async getCourseItemLearnerAttemptAllowanceRequestOpts(requestParameters: GetCourseItemLearnerAttemptAllowanceRequest): Promise<runtime.RequestOpts> {
1073
+ if (requestParameters['courseId'] == null) {
1074
+ throw new runtime.RequiredError(
1075
+ 'courseId',
1076
+ 'Required parameter "courseId" was null or undefined when calling getCourseItemLearnerAttemptAllowance().'
1077
+ );
1078
+ }
1079
+
1080
+ if (requestParameters['courseVersionId'] == null) {
1081
+ throw new runtime.RequiredError(
1082
+ 'courseVersionId',
1083
+ 'Required parameter "courseVersionId" was null or undefined when calling getCourseItemLearnerAttemptAllowance().'
1084
+ );
1085
+ }
1086
+
1087
+ if (requestParameters['itemId'] == null) {
1088
+ throw new runtime.RequiredError(
1089
+ 'itemId',
1090
+ 'Required parameter "itemId" was null or undefined when calling getCourseItemLearnerAttemptAllowance().'
1091
+ );
1092
+ }
1093
+
1094
+ if (requestParameters['userId'] == null) {
1095
+ throw new runtime.RequiredError(
1096
+ 'userId',
1097
+ 'Required parameter "userId" was null or undefined when calling getCourseItemLearnerAttemptAllowance().'
1098
+ );
1099
+ }
1100
+
1101
+ const queryParameters: any = {};
1102
+
1103
+ const headerParameters: runtime.HTTPHeaders = {};
1104
+
1105
+
1106
+ let urlPath = `/courses/{courseId}/versions/{courseVersionId}/items/{itemId}/learners/{userId}/attempt-allowance`;
1107
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
1108
+ urlPath = urlPath.replace('{courseVersionId}', encodeURIComponent(String(requestParameters['courseVersionId'])));
1109
+ urlPath = urlPath.replace('{itemId}', encodeURIComponent(String(requestParameters['itemId'])));
1110
+ urlPath = urlPath.replace('{userId}', encodeURIComponent(String(requestParameters['userId'])));
1111
+
1112
+ return {
1113
+ path: urlPath,
1114
+ method: 'GET',
1115
+ headers: headerParameters,
1116
+ query: queryParameters,
1117
+ };
1118
+ }
1119
+
1120
+ /**
1121
+ * Get a learner\'s effective attempt limit for a course item
1122
+ */
1123
+ async getCourseItemLearnerAttemptAllowanceRaw(requestParameters: GetCourseItemLearnerAttemptAllowanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetAttemptAllowance>> {
1124
+ const requestOptions = await this.getCourseItemLearnerAttemptAllowanceRequestOpts(requestParameters);
1125
+ const response = await this.request(requestOptions, initOverrides);
1126
+
1127
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetAttemptAllowanceFromJSON(jsonValue));
1128
+ }
1129
+
1130
+ /**
1131
+ * Get a learner\'s effective attempt limit for a course item
1132
+ */
1133
+ async getCourseItemLearnerAttemptAllowance(requestParameters: GetCourseItemLearnerAttemptAllowanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetAttemptAllowance> {
1134
+ const response = await this.getCourseItemLearnerAttemptAllowanceRaw(requestParameters, initOverrides);
1135
+ return await response.value();
1136
+ }
1137
+
1026
1138
  /**
1027
1139
  * Creates request options for getCourseList without sending the request
1028
1140
  */
@@ -1614,6 +1726,85 @@ export class CourseApi extends runtime.BaseAPI {
1614
1726
  return await response.value();
1615
1727
  }
1616
1728
 
1729
+ /**
1730
+ * Creates request options for postCourseItemLearnerSessionsClear without sending the request
1731
+ */
1732
+ async postCourseItemLearnerSessionsClearRequestOpts(requestParameters: PostCourseItemLearnerSessionsClearRequest): Promise<runtime.RequestOpts> {
1733
+ if (requestParameters['courseId'] == null) {
1734
+ throw new runtime.RequiredError(
1735
+ 'courseId',
1736
+ 'Required parameter "courseId" was null or undefined when calling postCourseItemLearnerSessionsClear().'
1737
+ );
1738
+ }
1739
+
1740
+ if (requestParameters['courseVersionId'] == null) {
1741
+ throw new runtime.RequiredError(
1742
+ 'courseVersionId',
1743
+ 'Required parameter "courseVersionId" was null or undefined when calling postCourseItemLearnerSessionsClear().'
1744
+ );
1745
+ }
1746
+
1747
+ if (requestParameters['itemId'] == null) {
1748
+ throw new runtime.RequiredError(
1749
+ 'itemId',
1750
+ 'Required parameter "itemId" was null or undefined when calling postCourseItemLearnerSessionsClear().'
1751
+ );
1752
+ }
1753
+
1754
+ if (requestParameters['userId'] == null) {
1755
+ throw new runtime.RequiredError(
1756
+ 'userId',
1757
+ 'Required parameter "userId" was null or undefined when calling postCourseItemLearnerSessionsClear().'
1758
+ );
1759
+ }
1760
+
1761
+ if (requestParameters['postClearSessions'] == null) {
1762
+ throw new runtime.RequiredError(
1763
+ 'postClearSessions',
1764
+ 'Required parameter "postClearSessions" was null or undefined when calling postCourseItemLearnerSessionsClear().'
1765
+ );
1766
+ }
1767
+
1768
+ const queryParameters: any = {};
1769
+
1770
+ const headerParameters: runtime.HTTPHeaders = {};
1771
+
1772
+ headerParameters['Content-Type'] = 'application/json';
1773
+
1774
+
1775
+ let urlPath = `/courses/{courseId}/versions/{courseVersionId}/items/{itemId}/learners/{userId}/sessions/clear`;
1776
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
1777
+ urlPath = urlPath.replace('{courseVersionId}', encodeURIComponent(String(requestParameters['courseVersionId'])));
1778
+ urlPath = urlPath.replace('{itemId}', encodeURIComponent(String(requestParameters['itemId'])));
1779
+ urlPath = urlPath.replace('{userId}', encodeURIComponent(String(requestParameters['userId'])));
1780
+
1781
+ return {
1782
+ path: urlPath,
1783
+ method: 'POST',
1784
+ headers: headerParameters,
1785
+ query: queryParameters,
1786
+ body: PostClearSessionsToJSON(requestParameters['postClearSessions']),
1787
+ };
1788
+ }
1789
+
1790
+ /**
1791
+ * Clear all live sessions for a learner and course item
1792
+ */
1793
+ async postCourseItemLearnerSessionsClearRaw(requestParameters: PostCourseItemLearnerSessionsClearRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostClearSessionsResponse>> {
1794
+ const requestOptions = await this.postCourseItemLearnerSessionsClearRequestOpts(requestParameters);
1795
+ const response = await this.request(requestOptions, initOverrides);
1796
+
1797
+ return new runtime.JSONApiResponse(response, (jsonValue) => PostClearSessionsResponseFromJSON(jsonValue));
1798
+ }
1799
+
1800
+ /**
1801
+ * Clear all live sessions for a learner and course item
1802
+ */
1803
+ async postCourseItemLearnerSessionsClear(requestParameters: PostCourseItemLearnerSessionsClearRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostClearSessionsResponse> {
1804
+ const response = await this.postCourseItemLearnerSessionsClearRaw(requestParameters, initOverrides);
1805
+ return await response.value();
1806
+ }
1807
+
1617
1808
  /**
1618
1809
  * Creates request options for postCourseResume without sending the request
1619
1810
  */
@@ -2080,6 +2271,85 @@ export class CourseApi extends runtime.BaseAPI {
2080
2271
  return await response.value();
2081
2272
  }
2082
2273
 
2274
+ /**
2275
+ * Creates request options for putCourseItemLearnerAttemptAllowance without sending the request
2276
+ */
2277
+ async putCourseItemLearnerAttemptAllowanceRequestOpts(requestParameters: PutCourseItemLearnerAttemptAllowanceRequest): Promise<runtime.RequestOpts> {
2278
+ if (requestParameters['courseId'] == null) {
2279
+ throw new runtime.RequiredError(
2280
+ 'courseId',
2281
+ 'Required parameter "courseId" was null or undefined when calling putCourseItemLearnerAttemptAllowance().'
2282
+ );
2283
+ }
2284
+
2285
+ if (requestParameters['courseVersionId'] == null) {
2286
+ throw new runtime.RequiredError(
2287
+ 'courseVersionId',
2288
+ 'Required parameter "courseVersionId" was null or undefined when calling putCourseItemLearnerAttemptAllowance().'
2289
+ );
2290
+ }
2291
+
2292
+ if (requestParameters['itemId'] == null) {
2293
+ throw new runtime.RequiredError(
2294
+ 'itemId',
2295
+ 'Required parameter "itemId" was null or undefined when calling putCourseItemLearnerAttemptAllowance().'
2296
+ );
2297
+ }
2298
+
2299
+ if (requestParameters['userId'] == null) {
2300
+ throw new runtime.RequiredError(
2301
+ 'userId',
2302
+ 'Required parameter "userId" was null or undefined when calling putCourseItemLearnerAttemptAllowance().'
2303
+ );
2304
+ }
2305
+
2306
+ if (requestParameters['putAttemptAllowance'] == null) {
2307
+ throw new runtime.RequiredError(
2308
+ 'putAttemptAllowance',
2309
+ 'Required parameter "putAttemptAllowance" was null or undefined when calling putCourseItemLearnerAttemptAllowance().'
2310
+ );
2311
+ }
2312
+
2313
+ const queryParameters: any = {};
2314
+
2315
+ const headerParameters: runtime.HTTPHeaders = {};
2316
+
2317
+ headerParameters['Content-Type'] = 'application/json';
2318
+
2319
+
2320
+ let urlPath = `/courses/{courseId}/versions/{courseVersionId}/items/{itemId}/learners/{userId}/attempt-allowance`;
2321
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
2322
+ urlPath = urlPath.replace('{courseVersionId}', encodeURIComponent(String(requestParameters['courseVersionId'])));
2323
+ urlPath = urlPath.replace('{itemId}', encodeURIComponent(String(requestParameters['itemId'])));
2324
+ urlPath = urlPath.replace('{userId}', encodeURIComponent(String(requestParameters['userId'])));
2325
+
2326
+ return {
2327
+ path: urlPath,
2328
+ method: 'PUT',
2329
+ headers: headerParameters,
2330
+ query: queryParameters,
2331
+ body: PutAttemptAllowanceToJSON(requestParameters['putAttemptAllowance']),
2332
+ };
2333
+ }
2334
+
2335
+ /**
2336
+ * Set extra attempts for a learner on a course item
2337
+ */
2338
+ async putCourseItemLearnerAttemptAllowanceRaw(requestParameters: PutCourseItemLearnerAttemptAllowanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetAttemptAllowance>> {
2339
+ const requestOptions = await this.putCourseItemLearnerAttemptAllowanceRequestOpts(requestParameters);
2340
+ const response = await this.request(requestOptions, initOverrides);
2341
+
2342
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetAttemptAllowanceFromJSON(jsonValue));
2343
+ }
2344
+
2345
+ /**
2346
+ * Set extra attempts for a learner on a course item
2347
+ */
2348
+ async putCourseItemLearnerAttemptAllowance(requestParameters: PutCourseItemLearnerAttemptAllowanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetAttemptAllowance> {
2349
+ const response = await this.putCourseItemLearnerAttemptAllowanceRaw(requestParameters, initOverrides);
2350
+ return await response.value();
2351
+ }
2352
+
2083
2353
  /**
2084
2354
  * Creates request options for putCourseVersionItem without sending the request
2085
2355
  */