@easyedu/js-lsm-api 1.100.0 → 1.102.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 (123) hide show
  1. package/.openapi-generator/FILES +20 -0
  2. package/README.md +14 -2
  3. package/dist/apis/ChangelogApi.d.ts +32 -0
  4. package/dist/apis/ChangelogApi.js +70 -0
  5. package/dist/apis/CourseApi.d.ts +34 -0
  6. package/dist/apis/CourseApi.js +89 -0
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/esm/apis/ChangelogApi.d.ts +32 -0
  10. package/dist/esm/apis/ChangelogApi.js +66 -0
  11. package/dist/esm/apis/CourseApi.d.ts +34 -0
  12. package/dist/esm/apis/CourseApi.js +89 -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/CourseProgressionMode.d.ts +25 -0
  16. package/dist/esm/models/CourseProgressionMode.js +43 -0
  17. package/dist/esm/models/GetChangelogEntry.d.ts +44 -0
  18. package/dist/esm/models/GetChangelogEntry.js +51 -0
  19. package/dist/esm/models/GetChangelogList.d.ts +33 -0
  20. package/dist/esm/models/GetChangelogList.js +44 -0
  21. package/dist/esm/models/GetCourseVersion.d.ts +7 -0
  22. package/dist/esm/models/GetCourseVersion.js +5 -0
  23. package/dist/esm/models/GetCourseVersionItem.d.ts +6 -0
  24. package/dist/esm/models/GetCourseVersionItem.js +4 -0
  25. package/dist/esm/models/GetCourseVersionItemProgression.d.ts +105 -0
  26. package/dist/esm/models/GetCourseVersionItemProgression.js +92 -0
  27. package/dist/esm/models/GetCourseVersionItemSession.d.ts +37 -1
  28. package/dist/esm/models/GetCourseVersionItemSession.js +24 -0
  29. package/dist/esm/models/GetCourseVersionProgression.d.ts +59 -0
  30. package/dist/esm/models/GetCourseVersionProgression.js +62 -0
  31. package/dist/esm/models/GetCourseVersionSectionProgression.d.ts +75 -0
  32. package/dist/esm/models/GetCourseVersionSectionProgression.js +72 -0
  33. package/dist/esm/models/GetResourceSession.d.ts +36 -0
  34. package/dist/esm/models/GetResourceSession.js +24 -0
  35. package/dist/esm/models/PostCourseVersionItem.d.ts +6 -0
  36. package/dist/esm/models/PostCourseVersionItem.js +2 -0
  37. package/dist/esm/models/ProgressionGateError.d.ts +76 -0
  38. package/dist/esm/models/ProgressionGateError.js +74 -0
  39. package/dist/esm/models/ProgressionLockReason.d.ts +24 -0
  40. package/dist/esm/models/ProgressionLockReason.js +42 -0
  41. package/dist/esm/models/PutCourseVersionDraft.d.ts +33 -0
  42. package/dist/esm/models/PutCourseVersionDraft.js +44 -0
  43. package/dist/esm/models/PutCourseVersionItem.d.ts +6 -0
  44. package/dist/esm/models/PutCourseVersionItem.js +2 -0
  45. package/dist/esm/models/PutResourceSessionOverride.d.ts +6 -0
  46. package/dist/esm/models/PutResourceSessionOverride.js +2 -0
  47. package/dist/esm/models/index.d.ts +9 -0
  48. package/dist/esm/models/index.js +9 -0
  49. package/dist/models/CourseProgressionMode.d.ts +25 -0
  50. package/dist/models/CourseProgressionMode.js +51 -0
  51. package/dist/models/GetChangelogEntry.d.ts +44 -0
  52. package/dist/models/GetChangelogEntry.js +58 -0
  53. package/dist/models/GetChangelogList.d.ts +33 -0
  54. package/dist/models/GetChangelogList.js +51 -0
  55. package/dist/models/GetCourseVersion.d.ts +7 -0
  56. package/dist/models/GetCourseVersion.js +5 -0
  57. package/dist/models/GetCourseVersionItem.d.ts +6 -0
  58. package/dist/models/GetCourseVersionItem.js +4 -0
  59. package/dist/models/GetCourseVersionItemProgression.d.ts +105 -0
  60. package/dist/models/GetCourseVersionItemProgression.js +99 -0
  61. package/dist/models/GetCourseVersionItemSession.d.ts +37 -1
  62. package/dist/models/GetCourseVersionItemSession.js +24 -0
  63. package/dist/models/GetCourseVersionProgression.d.ts +59 -0
  64. package/dist/models/GetCourseVersionProgression.js +69 -0
  65. package/dist/models/GetCourseVersionSectionProgression.d.ts +75 -0
  66. package/dist/models/GetCourseVersionSectionProgression.js +79 -0
  67. package/dist/models/GetResourceSession.d.ts +36 -0
  68. package/dist/models/GetResourceSession.js +24 -0
  69. package/dist/models/PostCourseVersionItem.d.ts +6 -0
  70. package/dist/models/PostCourseVersionItem.js +2 -0
  71. package/dist/models/ProgressionGateError.d.ts +76 -0
  72. package/dist/models/ProgressionGateError.js +82 -0
  73. package/dist/models/ProgressionLockReason.d.ts +24 -0
  74. package/dist/models/ProgressionLockReason.js +50 -0
  75. package/dist/models/PutCourseVersionDraft.d.ts +33 -0
  76. package/dist/models/PutCourseVersionDraft.js +51 -0
  77. package/dist/models/PutCourseVersionItem.d.ts +6 -0
  78. package/dist/models/PutCourseVersionItem.js +2 -0
  79. package/dist/models/PutResourceSessionOverride.d.ts +6 -0
  80. package/dist/models/PutResourceSessionOverride.js +2 -0
  81. package/dist/models/index.d.ts +9 -0
  82. package/dist/models/index.js +9 -0
  83. package/docs/ChangelogApi.md +68 -0
  84. package/docs/CourseApi.md +143 -1
  85. package/docs/CourseProgressionMode.md +33 -0
  86. package/docs/GetChangelogEntry.md +39 -0
  87. package/docs/GetChangelogList.md +34 -0
  88. package/docs/GetCourseVersion.md +2 -0
  89. package/docs/GetCourseVersionItem.md +2 -0
  90. package/docs/GetCourseVersionItemProgression.md +58 -0
  91. package/docs/GetCourseVersionItemSession.md +12 -0
  92. package/docs/GetCourseVersionProgression.md +43 -0
  93. package/docs/GetCourseVersionSectionProgression.md +48 -0
  94. package/docs/GetResourceSession.md +12 -0
  95. package/docs/PlayerApi.md +1 -0
  96. package/docs/PostCourseVersionItem.md +2 -0
  97. package/docs/ProgressionGateError.md +47 -0
  98. package/docs/ProgressionLockReason.md +32 -0
  99. package/docs/PutCourseVersionDraft.md +34 -0
  100. package/docs/PutCourseVersionItem.md +2 -0
  101. package/docs/PutResourceSessionOverride.md +2 -0
  102. package/package.json +1 -1
  103. package/src/apis/ChangelogApi.ts +66 -0
  104. package/src/apis/CourseApi.ts +133 -0
  105. package/src/apis/PlayerApi.ts +5 -0
  106. package/src/apis/index.ts +1 -0
  107. package/src/models/CourseProgressionMode.ts +53 -0
  108. package/src/models/GetChangelogEntry.ts +84 -0
  109. package/src/models/GetChangelogList.ts +74 -0
  110. package/src/models/GetCourseVersion.ts +16 -0
  111. package/src/models/GetCourseVersionItem.ts +9 -0
  112. package/src/models/GetCourseVersionItemProgression.ts +184 -0
  113. package/src/models/GetCourseVersionItemSession.ts +55 -1
  114. package/src/models/GetCourseVersionProgression.ts +126 -0
  115. package/src/models/GetCourseVersionSectionProgression.ts +139 -0
  116. package/src/models/GetResourceSession.ts +54 -0
  117. package/src/models/PostCourseVersionItem.ts +8 -0
  118. package/src/models/ProgressionGateError.ts +131 -0
  119. package/src/models/ProgressionLockReason.ts +52 -0
  120. package/src/models/PutCourseVersionDraft.ts +76 -0
  121. package/src/models/PutCourseVersionItem.ts +8 -0
  122. package/src/models/PutResourceSessionOverride.ts +8 -0
  123. package/src/models/index.ts +9 -0
package/docs/CourseApi.md CHANGED
@@ -22,6 +22,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
22
22
  | [**getCourseVersion**](CourseApi.md#getcourseversion) | **GET** /courses/{courseId}/versions/{courseVersionId} | Get one immutable course version or preview the owned draft |
23
23
  | [**getCourseVersionItemLaunch**](CourseApi.md#getcourseversionitemlaunch) | **GET** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/launch | Resolve the exact immutable resource launch selected by a course version |
24
24
  | [**getCourseVersionList**](CourseApi.md#getcourseversionlist) | **GET** /courses/{courseId}/versions | List immutable course versions and the current draft |
25
+ | [**getCourseVersionProgression**](CourseApi.md#getcourseversionprogression) | **GET** /courses/{courseId}/versions/{courseVersionId}/progression | Get learner-specific completion and section lock state |
25
26
  | [**postCourse**](CourseApi.md#postcourse) | **POST** /courses | Post a new course |
26
27
  | [**postCourseDraft**](CourseApi.md#postcoursedraft) | **POST** /courses/{courseId}/draft | Create or return the single editable course draft |
27
28
  | [**postCourseDraftResourceUpdateAll**](CourseApi.md#postcoursedraftresourceupdateall) | **POST** /courses/{courseId}/draft/resources/update-all | Update all draft resource placements to their latest published versions |
@@ -39,6 +40,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
39
40
  | [**putCourse**](CourseApi.md#putcourse) | **PUT** /courses/{courseId} | Update a course by id |
40
41
  | [**putCourseEnrollment**](CourseApi.md#putcourseenrollment) | **PUT** /courses/{courseId}/enrollments/{enrollmentId} | Update a course enrollment |
41
42
  | [**putCourseItemLearnerAttemptAllowance**](CourseApi.md#putcourseitemlearnerattemptallowance) | **PUT** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/learners/{userId}/attempt-allowance | Set extra attempts for a learner on a course item |
43
+ | [**putCourseVersionDraft**](CourseApi.md#putcourseversiondraft) | **PUT** /courses/{courseId}/draft | Update progression settings on the editable course draft |
42
44
  | [**putCourseVersionItem**](CourseApi.md#putcourseversionitem) | **PUT** /courses/{courseId}/draft/sections/{sectionId}/items/{itemId} | Update a draft placement; use the outline move endpoint to change its parent or position |
43
45
  | [**putCourseVersionOutlineEntryMove**](CourseApi.md#putcourseversionoutlineentrymove) | **PUT** /courses/{courseId}/draft/outline/move | Move a section or item to a new parent and sibling position |
44
46
  | [**putCourseVersionSection**](CourseApi.md#putcourseversionsection) | **PUT** /courses/{courseId}/draft/sections/{sectionId} | Update a draft section |
@@ -1240,6 +1242,7 @@ No authorization required
1240
1242
  |-------------|-------------|------------------|
1241
1243
  | **200** | Pinned resource launch descriptor | - |
1242
1244
  | **403** | Learner is not assigned to this course version | - |
1245
+ | **409** | The item\'s top-level section is locked | - |
1243
1246
 
1244
1247
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1245
1248
 
@@ -1309,6 +1312,76 @@ No authorization required
1309
1312
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1310
1313
 
1311
1314
 
1315
+ ## getCourseVersionProgression
1316
+
1317
+ > GetCourseVersionProgression getCourseVersionProgression(courseId, courseVersionId)
1318
+
1319
+ Get learner-specific completion and section lock state
1320
+
1321
+ ### Example
1322
+
1323
+ ```ts
1324
+ import {
1325
+ Configuration,
1326
+ CourseApi,
1327
+ } from '@easyedu/js-lsm-api';
1328
+ import type { GetCourseVersionProgressionRequest } from '@easyedu/js-lsm-api';
1329
+
1330
+ async function example() {
1331
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1332
+ const api = new CourseApi();
1333
+
1334
+ const body = {
1335
+ // string
1336
+ courseId: courseId_example,
1337
+ // string
1338
+ courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1339
+ } satisfies GetCourseVersionProgressionRequest;
1340
+
1341
+ try {
1342
+ const data = await api.getCourseVersionProgression(body);
1343
+ console.log(data);
1344
+ } catch (error) {
1345
+ console.error(error);
1346
+ }
1347
+ }
1348
+
1349
+ // Run the test
1350
+ example().catch(console.error);
1351
+ ```
1352
+
1353
+ ### Parameters
1354
+
1355
+
1356
+ | Name | Type | Description | Notes |
1357
+ |------------- | ------------- | ------------- | -------------|
1358
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1359
+ | **courseVersionId** | `string` | | [Defaults to `undefined`] |
1360
+
1361
+ ### Return type
1362
+
1363
+ [**GetCourseVersionProgression**](GetCourseVersionProgression.md)
1364
+
1365
+ ### Authorization
1366
+
1367
+ No authorization required
1368
+
1369
+ ### HTTP request headers
1370
+
1371
+ - **Content-Type**: Not defined
1372
+ - **Accept**: `application/json`
1373
+
1374
+
1375
+ ### HTTP response details
1376
+ | Status code | Description | Response headers |
1377
+ |-------------|-------------|------------------|
1378
+ | **200** | Learner progression state | - |
1379
+ | **403** | Learner is not assigned to this course version | - |
1380
+ | **404** | Course version not found | - |
1381
+
1382
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1383
+
1384
+
1312
1385
  ## postCourse
1313
1386
 
1314
1387
  > GetCourse postCourse(postCourse)
@@ -2081,7 +2154,7 @@ No authorization required
2081
2154
  |-------------|-------------|------------------|
2082
2155
  | **200** | Existing current attempt or a newly created attempt | - |
2083
2156
  | **403** | Learner is not assigned to this course version | - |
2084
- | **409** | Maximum attempts reached | - |
2157
+ | **409** | Maximum attempts reached or the item\'s top-level section is locked | - |
2085
2158
 
2086
2159
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
2087
2160
 
@@ -2515,6 +2588,75 @@ No authorization required
2515
2588
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
2516
2589
 
2517
2590
 
2591
+ ## putCourseVersionDraft
2592
+
2593
+ > GetCourseVersion putCourseVersionDraft(courseId, putCourseVersionDraft)
2594
+
2595
+ Update progression settings on the editable course draft
2596
+
2597
+ ### Example
2598
+
2599
+ ```ts
2600
+ import {
2601
+ Configuration,
2602
+ CourseApi,
2603
+ } from '@easyedu/js-lsm-api';
2604
+ import type { PutCourseVersionDraftRequest } from '@easyedu/js-lsm-api';
2605
+
2606
+ async function example() {
2607
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
2608
+ const api = new CourseApi();
2609
+
2610
+ const body = {
2611
+ // string
2612
+ courseId: courseId_example,
2613
+ // PutCourseVersionDraft
2614
+ putCourseVersionDraft: ...,
2615
+ } satisfies PutCourseVersionDraftRequest;
2616
+
2617
+ try {
2618
+ const data = await api.putCourseVersionDraft(body);
2619
+ console.log(data);
2620
+ } catch (error) {
2621
+ console.error(error);
2622
+ }
2623
+ }
2624
+
2625
+ // Run the test
2626
+ example().catch(console.error);
2627
+ ```
2628
+
2629
+ ### Parameters
2630
+
2631
+
2632
+ | Name | Type | Description | Notes |
2633
+ |------------- | ------------- | ------------- | -------------|
2634
+ | **courseId** | `string` | | [Defaults to `undefined`] |
2635
+ | **putCourseVersionDraft** | [PutCourseVersionDraft](PutCourseVersionDraft.md) | | |
2636
+
2637
+ ### Return type
2638
+
2639
+ [**GetCourseVersion**](GetCourseVersion.md)
2640
+
2641
+ ### Authorization
2642
+
2643
+ No authorization required
2644
+
2645
+ ### HTTP request headers
2646
+
2647
+ - **Content-Type**: `application/json`
2648
+ - **Accept**: `application/json`
2649
+
2650
+
2651
+ ### HTTP response details
2652
+ | Status code | Description | Response headers |
2653
+ |-------------|-------------|------------------|
2654
+ | **200** | Updated course draft | - |
2655
+ | **404** | No draft exists | - |
2656
+
2657
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
2658
+
2659
+
2518
2660
  ## putCourseVersionItem
2519
2661
 
2520
2662
  > GetCourseVersionItem putCourseVersionItem(courseId, sectionId, itemId, putCourseVersionItem)
@@ -0,0 +1,33 @@
1
+
2
+ # CourseProgressionMode
3
+
4
+ Controls whether top-level course sections unlock freely or in completion order.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import type { CourseProgressionMode } from '@easyedu/js-lsm-api'
15
+
16
+ // TODO: Update the object below with actual values
17
+ const example = {
18
+ } satisfies CourseProgressionMode
19
+
20
+ console.log(example)
21
+
22
+ // Convert the instance to a JSON string
23
+ const exampleJSON: string = JSON.stringify(example)
24
+ console.log(exampleJSON)
25
+
26
+ // Parse the JSON string back to an object
27
+ const exampleParsed = JSON.parse(exampleJSON) as CourseProgressionMode
28
+ console.log(exampleParsed)
29
+ ```
30
+
31
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
32
+
33
+
@@ -0,0 +1,39 @@
1
+
2
+ # GetChangelogEntry
3
+
4
+ A user-facing summary of product changes published on one date.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `title` | string
11
+ `desc` | string
12
+ `date` | Date
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import type { GetChangelogEntry } from '@easyedu/js-lsm-api'
18
+
19
+ // TODO: Update the object below with actual values
20
+ const example = {
21
+ "title": null,
22
+ "desc": null,
23
+ "date": null,
24
+ } satisfies GetChangelogEntry
25
+
26
+ console.log(example)
27
+
28
+ // Convert the instance to a JSON string
29
+ const exampleJSON: string = JSON.stringify(example)
30
+ console.log(exampleJSON)
31
+
32
+ // Parse the JSON string back to an object
33
+ const exampleParsed = JSON.parse(exampleJSON) as GetChangelogEntry
34
+ console.log(exampleParsed)
35
+ ```
36
+
37
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
38
+
39
+
@@ -0,0 +1,34 @@
1
+
2
+ # GetChangelogList
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `items` | [Array<GetChangelogEntry>](GetChangelogEntry.md)
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import type { GetChangelogList } from '@easyedu/js-lsm-api'
15
+
16
+ // TODO: Update the object below with actual values
17
+ const example = {
18
+ "items": null,
19
+ } satisfies GetChangelogList
20
+
21
+ console.log(example)
22
+
23
+ // Convert the instance to a JSON string
24
+ const exampleJSON: string = JSON.stringify(example)
25
+ console.log(exampleJSON)
26
+
27
+ // Parse the JSON string back to an object
28
+ const exampleParsed = JSON.parse(exampleJSON) as GetChangelogList
29
+ console.log(exampleParsed)
30
+ ```
31
+
32
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
33
+
34
+
@@ -14,6 +14,7 @@ Name | Type
14
14
  `description` | string
15
15
  `descriptionRich` | [RichTextDocument](RichTextDocument.md)
16
16
  `changeNotes` | string
17
+ `progressionMode` | [CourseProgressionMode](CourseProgressionMode.md)
17
18
  `sections` | [Array<GetCourseVersionSection>](GetCourseVersionSection.md)
18
19
  `createdAt` | number
19
20
  `updatedAt` | number
@@ -34,6 +35,7 @@ const example = {
34
35
  "description": null,
35
36
  "descriptionRich": null,
36
37
  "changeNotes": null,
38
+ "progressionMode": null,
37
39
  "sections": null,
38
40
  "createdAt": null,
39
41
  "updatedAt": null,
@@ -18,6 +18,7 @@ Name | Type
18
18
  `displayOrder` | number
19
19
  `isVisible` | boolean
20
20
  `isRequired` | boolean
21
+ `minimumActiveSeconds` | number
21
22
  `launchMode` | [ContentLaunchMode](ContentLaunchMode.md)
22
23
  `maxAttempts` | number
23
24
  `scoreRollupStrategy` | string
@@ -42,6 +43,7 @@ const example = {
42
43
  "displayOrder": null,
43
44
  "isVisible": null,
44
45
  "isRequired": null,
46
+ "minimumActiveSeconds": null,
45
47
  "launchMode": null,
46
48
  "maxAttempts": null,
47
49
  "scoreRollupStrategy": null,
@@ -0,0 +1,58 @@
1
+
2
+ # GetCourseVersionItemProgression
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `itemId` | string
10
+ `rootSectionId` | string
11
+ `isRequired` | boolean
12
+ `isLocked` | boolean
13
+ `lockReason` | [ProgressionLockReason](ProgressionLockReason.md)
14
+ `blockingSectionId` | string
15
+ `nativeCompleted` | boolean
16
+ `effectiveCompleted` | boolean
17
+ `activeSeconds` | number
18
+ `minimumActiveSeconds` | number
19
+ `remainingActiveSeconds` | number
20
+ `timeRequirementMet` | boolean
21
+ `timeRequirementWaived` | boolean
22
+
23
+ ## Example
24
+
25
+ ```typescript
26
+ import type { GetCourseVersionItemProgression } from '@easyedu/js-lsm-api'
27
+
28
+ // TODO: Update the object below with actual values
29
+ const example = {
30
+ "itemId": null,
31
+ "rootSectionId": null,
32
+ "isRequired": null,
33
+ "isLocked": null,
34
+ "lockReason": null,
35
+ "blockingSectionId": null,
36
+ "nativeCompleted": null,
37
+ "effectiveCompleted": null,
38
+ "activeSeconds": null,
39
+ "minimumActiveSeconds": null,
40
+ "remainingActiveSeconds": null,
41
+ "timeRequirementMet": null,
42
+ "timeRequirementWaived": null,
43
+ } satisfies GetCourseVersionItemProgression
44
+
45
+ console.log(example)
46
+
47
+ // Convert the instance to a JSON string
48
+ const exampleJSON: string = JSON.stringify(example)
49
+ console.log(exampleJSON)
50
+
51
+ // Parse the JSON string back to an object
52
+ const exampleParsed = JSON.parse(exampleJSON) as GetCourseVersionItemProgression
53
+ console.log(exampleParsed)
54
+ ```
55
+
56
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
57
+
58
+
@@ -22,6 +22,12 @@ Name | Type
22
22
  `gradeStatus` | string
23
23
  `scoreRaw` | number
24
24
  `durationSeconds` | number
25
+ `minimumActiveSeconds` | number
26
+ `accumulatedActiveSeconds` | number
27
+ `remainingActiveSeconds` | number
28
+ `timeRequirementMet` | boolean
29
+ `timeRequirementWaived` | boolean
30
+ `effectiveCompletionMet` | boolean
25
31
  `createdAt` | number
26
32
  `updatedAt` | number
27
33
  `completedAt` | number
@@ -48,6 +54,12 @@ const example = {
48
54
  "gradeStatus": null,
49
55
  "scoreRaw": null,
50
56
  "durationSeconds": null,
57
+ "minimumActiveSeconds": null,
58
+ "accumulatedActiveSeconds": null,
59
+ "remainingActiveSeconds": null,
60
+ "timeRequirementMet": null,
61
+ "timeRequirementWaived": null,
62
+ "effectiveCompletionMet": null,
51
63
  "createdAt": null,
52
64
  "updatedAt": null,
53
65
  "completedAt": null,
@@ -0,0 +1,43 @@
1
+
2
+ # GetCourseVersionProgression
3
+
4
+ Learner-specific completion and lock state for an enrollment-pinned course version.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `courseId` | string
11
+ `courseVersionId` | string
12
+ `progressionMode` | [CourseProgressionMode](CourseProgressionMode.md)
13
+ `sections` | [Array<GetCourseVersionSectionProgression>](GetCourseVersionSectionProgression.md)
14
+ `items` | [Array<GetCourseVersionItemProgression>](GetCourseVersionItemProgression.md)
15
+
16
+ ## Example
17
+
18
+ ```typescript
19
+ import type { GetCourseVersionProgression } from '@easyedu/js-lsm-api'
20
+
21
+ // TODO: Update the object below with actual values
22
+ const example = {
23
+ "courseId": null,
24
+ "courseVersionId": null,
25
+ "progressionMode": null,
26
+ "sections": null,
27
+ "items": null,
28
+ } satisfies GetCourseVersionProgression
29
+
30
+ console.log(example)
31
+
32
+ // Convert the instance to a JSON string
33
+ const exampleJSON: string = JSON.stringify(example)
34
+ console.log(exampleJSON)
35
+
36
+ // Parse the JSON string back to an object
37
+ const exampleParsed = JSON.parse(exampleJSON) as GetCourseVersionProgression
38
+ console.log(exampleParsed)
39
+ ```
40
+
41
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
42
+
43
+
@@ -0,0 +1,48 @@
1
+
2
+ # GetCourseVersionSectionProgression
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `sectionId` | string
10
+ `rootSectionId` | string
11
+ `isRootSection` | boolean
12
+ `isComplete` | boolean
13
+ `isLocked` | boolean
14
+ `lockReason` | [ProgressionLockReason](ProgressionLockReason.md)
15
+ `blockingSectionId` | string
16
+ `blockingItemIds` | Array<string>
17
+
18
+ ## Example
19
+
20
+ ```typescript
21
+ import type { GetCourseVersionSectionProgression } from '@easyedu/js-lsm-api'
22
+
23
+ // TODO: Update the object below with actual values
24
+ const example = {
25
+ "sectionId": null,
26
+ "rootSectionId": null,
27
+ "isRootSection": null,
28
+ "isComplete": null,
29
+ "isLocked": null,
30
+ "lockReason": null,
31
+ "blockingSectionId": null,
32
+ "blockingItemIds": null,
33
+ } satisfies GetCourseVersionSectionProgression
34
+
35
+ console.log(example)
36
+
37
+ // Convert the instance to a JSON string
38
+ const exampleJSON: string = JSON.stringify(example)
39
+ console.log(exampleJSON)
40
+
41
+ // Parse the JSON string back to an object
42
+ const exampleParsed = JSON.parse(exampleJSON) as GetCourseVersionSectionProgression
43
+ console.log(exampleParsed)
44
+ ```
45
+
46
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
47
+
48
+
@@ -30,6 +30,12 @@ Name | Type
30
30
  `gradeStatus` | string
31
31
  `scoreRaw` | number
32
32
  `durationSeconds` | number
33
+ `minimumActiveSeconds` | number
34
+ `accumulatedActiveSeconds` | number
35
+ `remainingActiveSeconds` | number
36
+ `timeRequirementMet` | boolean
37
+ `timeRequirementWaived` | boolean
38
+ `effectiveCompletionMet` | boolean
33
39
  `initializedAt` | number
34
40
  `terminatedAt` | number
35
41
  `createdAt` | number
@@ -66,6 +72,12 @@ const example = {
66
72
  "gradeStatus": null,
67
73
  "scoreRaw": null,
68
74
  "durationSeconds": null,
75
+ "minimumActiveSeconds": null,
76
+ "accumulatedActiveSeconds": null,
77
+ "remainingActiveSeconds": null,
78
+ "timeRequirementMet": null,
79
+ "timeRequirementWaived": null,
80
+ "effectiveCompletionMet": null,
69
81
  "initializedAt": null,
70
82
  "terminatedAt": null,
71
83
  "createdAt": null,
package/docs/PlayerApi.md CHANGED
@@ -1181,6 +1181,7 @@ No authorization required
1181
1181
  |-------------|-------------|------------------|
1182
1182
  | **200** | Completed resource session | - |
1183
1183
  | **400** | SCORM sessions complete through their runtime | - |
1184
+ | **409** | Minimum active time has not elapsed | - |
1184
1185
 
1185
1186
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1186
1187
 
@@ -12,6 +12,7 @@ Name | Type
12
12
  `position` | number
13
13
  `isVisible` | boolean
14
14
  `isRequired` | boolean
15
+ `minimumActiveSeconds` | number
15
16
  `launchMode` | [ContentLaunchMode](ContentLaunchMode.md)
16
17
  `maxAttempts` | number
17
18
  `scoreRollupStrategy` | string
@@ -30,6 +31,7 @@ const example = {
30
31
  "position": null,
31
32
  "isVisible": null,
32
33
  "isRequired": null,
34
+ "minimumActiveSeconds": null,
33
35
  "launchMode": null,
34
36
  "maxAttempts": null,
35
37
  "scoreRollupStrategy": null,
@@ -0,0 +1,47 @@
1
+
2
+ # ProgressionGateError
3
+
4
+ Structured detail explaining why learner progression is currently blocked.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `code` | string
11
+ `message` | string
12
+ `blockingSectionId` | string
13
+ `blockingItemIds` | Array<string>
14
+ `minimumActiveSeconds` | number
15
+ `activeSeconds` | number
16
+ `remainingActiveSeconds` | number
17
+
18
+ ## Example
19
+
20
+ ```typescript
21
+ import type { ProgressionGateError } from '@easyedu/js-lsm-api'
22
+
23
+ // TODO: Update the object below with actual values
24
+ const example = {
25
+ "code": null,
26
+ "message": null,
27
+ "blockingSectionId": null,
28
+ "blockingItemIds": null,
29
+ "minimumActiveSeconds": null,
30
+ "activeSeconds": null,
31
+ "remainingActiveSeconds": null,
32
+ } satisfies ProgressionGateError
33
+
34
+ console.log(example)
35
+
36
+ // Convert the instance to a JSON string
37
+ const exampleJSON: string = JSON.stringify(example)
38
+ console.log(exampleJSON)
39
+
40
+ // Parse the JSON string back to an object
41
+ const exampleParsed = JSON.parse(exampleJSON) as ProgressionGateError
42
+ console.log(exampleParsed)
43
+ ```
44
+
45
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
46
+
47
+
@@ -0,0 +1,32 @@
1
+
2
+ # ProgressionLockReason
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+
10
+ ## Example
11
+
12
+ ```typescript
13
+ import type { ProgressionLockReason } from '@easyedu/js-lsm-api'
14
+
15
+ // TODO: Update the object below with actual values
16
+ const example = {
17
+ } satisfies ProgressionLockReason
18
+
19
+ console.log(example)
20
+
21
+ // Convert the instance to a JSON string
22
+ const exampleJSON: string = JSON.stringify(example)
23
+ console.log(exampleJSON)
24
+
25
+ // Parse the JSON string back to an object
26
+ const exampleParsed = JSON.parse(exampleJSON) as ProgressionLockReason
27
+ console.log(exampleParsed)
28
+ ```
29
+
30
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
31
+
32
+
@@ -0,0 +1,34 @@
1
+
2
+ # PutCourseVersionDraft
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `progressionMode` | [CourseProgressionMode](CourseProgressionMode.md)
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import type { PutCourseVersionDraft } from '@easyedu/js-lsm-api'
15
+
16
+ // TODO: Update the object below with actual values
17
+ const example = {
18
+ "progressionMode": null,
19
+ } satisfies PutCourseVersionDraft
20
+
21
+ console.log(example)
22
+
23
+ // Convert the instance to a JSON string
24
+ const exampleJSON: string = JSON.stringify(example)
25
+ console.log(exampleJSON)
26
+
27
+ // Parse the JSON string back to an object
28
+ const exampleParsed = JSON.parse(exampleJSON) as PutCourseVersionDraft
29
+ console.log(exampleParsed)
30
+ ```
31
+
32
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
33
+
34
+
@@ -12,6 +12,7 @@ Name | Type
12
12
  `position` | number
13
13
  `isVisible` | boolean
14
14
  `isRequired` | boolean
15
+ `minimumActiveSeconds` | number
15
16
  `launchMode` | [ContentLaunchMode](ContentLaunchMode.md)
16
17
  `maxAttempts` | number
17
18
  `scoreRollupStrategy` | string
@@ -30,6 +31,7 @@ const example = {
30
31
  "position": null,
31
32
  "isVisible": null,
32
33
  "isRequired": null,
34
+ "minimumActiveSeconds": null,
33
35
  "launchMode": null,
34
36
  "maxAttempts": null,
35
37
  "scoreRollupStrategy": null,