@easyedu/js-lsm-api 1.101.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.
- package/.openapi-generator/FILES +14 -0
- package/README.md +11 -2
- package/dist/apis/CourseApi.d.ts +34 -0
- package/dist/apis/CourseApi.js +89 -0
- package/dist/esm/apis/CourseApi.d.ts +34 -0
- package/dist/esm/apis/CourseApi.js +89 -0
- package/dist/esm/models/CourseProgressionMode.d.ts +25 -0
- package/dist/esm/models/CourseProgressionMode.js +43 -0
- package/dist/esm/models/GetCourseVersion.d.ts +7 -0
- package/dist/esm/models/GetCourseVersion.js +5 -0
- package/dist/esm/models/GetCourseVersionItem.d.ts +6 -0
- package/dist/esm/models/GetCourseVersionItem.js +4 -0
- package/dist/esm/models/GetCourseVersionItemProgression.d.ts +105 -0
- package/dist/esm/models/GetCourseVersionItemProgression.js +92 -0
- package/dist/esm/models/GetCourseVersionItemSession.d.ts +37 -1
- package/dist/esm/models/GetCourseVersionItemSession.js +24 -0
- package/dist/esm/models/GetCourseVersionProgression.d.ts +59 -0
- package/dist/esm/models/GetCourseVersionProgression.js +62 -0
- package/dist/esm/models/GetCourseVersionSectionProgression.d.ts +75 -0
- package/dist/esm/models/GetCourseVersionSectionProgression.js +72 -0
- package/dist/esm/models/GetResourceSession.d.ts +36 -0
- package/dist/esm/models/GetResourceSession.js +24 -0
- package/dist/esm/models/PostCourseVersionItem.d.ts +6 -0
- package/dist/esm/models/PostCourseVersionItem.js +2 -0
- package/dist/esm/models/ProgressionGateError.d.ts +76 -0
- package/dist/esm/models/ProgressionGateError.js +74 -0
- package/dist/esm/models/ProgressionLockReason.d.ts +24 -0
- package/dist/esm/models/ProgressionLockReason.js +42 -0
- package/dist/esm/models/PutCourseVersionDraft.d.ts +33 -0
- package/dist/esm/models/PutCourseVersionDraft.js +44 -0
- package/dist/esm/models/PutCourseVersionItem.d.ts +6 -0
- package/dist/esm/models/PutCourseVersionItem.js +2 -0
- package/dist/esm/models/PutResourceSessionOverride.d.ts +6 -0
- package/dist/esm/models/PutResourceSessionOverride.js +2 -0
- package/dist/esm/models/index.d.ts +7 -0
- package/dist/esm/models/index.js +7 -0
- package/dist/models/CourseProgressionMode.d.ts +25 -0
- package/dist/models/CourseProgressionMode.js +51 -0
- package/dist/models/GetCourseVersion.d.ts +7 -0
- package/dist/models/GetCourseVersion.js +5 -0
- package/dist/models/GetCourseVersionItem.d.ts +6 -0
- package/dist/models/GetCourseVersionItem.js +4 -0
- package/dist/models/GetCourseVersionItemProgression.d.ts +105 -0
- package/dist/models/GetCourseVersionItemProgression.js +99 -0
- package/dist/models/GetCourseVersionItemSession.d.ts +37 -1
- package/dist/models/GetCourseVersionItemSession.js +24 -0
- package/dist/models/GetCourseVersionProgression.d.ts +59 -0
- package/dist/models/GetCourseVersionProgression.js +69 -0
- package/dist/models/GetCourseVersionSectionProgression.d.ts +75 -0
- package/dist/models/GetCourseVersionSectionProgression.js +79 -0
- package/dist/models/GetResourceSession.d.ts +36 -0
- package/dist/models/GetResourceSession.js +24 -0
- package/dist/models/PostCourseVersionItem.d.ts +6 -0
- package/dist/models/PostCourseVersionItem.js +2 -0
- package/dist/models/ProgressionGateError.d.ts +76 -0
- package/dist/models/ProgressionGateError.js +82 -0
- package/dist/models/ProgressionLockReason.d.ts +24 -0
- package/dist/models/ProgressionLockReason.js +50 -0
- package/dist/models/PutCourseVersionDraft.d.ts +33 -0
- package/dist/models/PutCourseVersionDraft.js +51 -0
- package/dist/models/PutCourseVersionItem.d.ts +6 -0
- package/dist/models/PutCourseVersionItem.js +2 -0
- package/dist/models/PutResourceSessionOverride.d.ts +6 -0
- package/dist/models/PutResourceSessionOverride.js +2 -0
- package/dist/models/index.d.ts +7 -0
- package/dist/models/index.js +7 -0
- package/docs/CourseApi.md +143 -1
- package/docs/CourseProgressionMode.md +33 -0
- package/docs/GetCourseVersion.md +2 -0
- package/docs/GetCourseVersionItem.md +2 -0
- package/docs/GetCourseVersionItemProgression.md +58 -0
- package/docs/GetCourseVersionItemSession.md +12 -0
- package/docs/GetCourseVersionProgression.md +43 -0
- package/docs/GetCourseVersionSectionProgression.md +48 -0
- package/docs/GetResourceSession.md +12 -0
- package/docs/PlayerApi.md +1 -0
- package/docs/PostCourseVersionItem.md +2 -0
- package/docs/ProgressionGateError.md +47 -0
- package/docs/ProgressionLockReason.md +32 -0
- package/docs/PutCourseVersionDraft.md +34 -0
- package/docs/PutCourseVersionItem.md +2 -0
- package/docs/PutResourceSessionOverride.md +2 -0
- package/package.json +1 -1
- package/src/apis/CourseApi.ts +133 -0
- package/src/apis/PlayerApi.ts +5 -0
- package/src/models/CourseProgressionMode.ts +53 -0
- package/src/models/GetCourseVersion.ts +16 -0
- package/src/models/GetCourseVersionItem.ts +9 -0
- package/src/models/GetCourseVersionItemProgression.ts +184 -0
- package/src/models/GetCourseVersionItemSession.ts +55 -1
- package/src/models/GetCourseVersionProgression.ts +126 -0
- package/src/models/GetCourseVersionSectionProgression.ts +139 -0
- package/src/models/GetResourceSession.ts +54 -0
- package/src/models/PostCourseVersionItem.ts +8 -0
- package/src/models/ProgressionGateError.ts +131 -0
- package/src/models/ProgressionLockReason.ts +52 -0
- package/src/models/PutCourseVersionDraft.ts +76 -0
- package/src/models/PutCourseVersionItem.ts +8 -0
- package/src/models/PutResourceSessionOverride.ts +8 -0
- package/src/models/index.ts +7 -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
|
+
|
package/docs/GetCourseVersion.md
CHANGED
|
@@ -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,
|
|
@@ -10,6 +10,7 @@ Name | Type
|
|
|
10
10
|
`completionStatus` | string
|
|
11
11
|
`gradeStatus` | string
|
|
12
12
|
`scoreRaw` | number
|
|
13
|
+
`waiveMinimumActiveTime` | boolean
|
|
13
14
|
`reason` | string
|
|
14
15
|
|
|
15
16
|
## Example
|
|
@@ -22,6 +23,7 @@ const example = {
|
|
|
22
23
|
"completionStatus": null,
|
|
23
24
|
"gradeStatus": null,
|
|
24
25
|
"scoreRaw": null,
|
|
26
|
+
"waiveMinimumActiveTime": null,
|
|
25
27
|
"reason": null,
|
|
26
28
|
} satisfies PutResourceSessionOverride
|
|
27
29
|
|