@easyedu/js-lsm-api 1.101.0 → 1.103.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 +12 -3
- package/dist/apis/ContentLibraryQuizApi.d.ts +3 -2
- package/dist/apis/ContentLibraryQuizApi.js +5 -2
- package/dist/apis/CourseApi.d.ts +38 -0
- package/dist/apis/CourseApi.js +101 -0
- package/dist/esm/apis/ContentLibraryQuizApi.d.ts +3 -2
- package/dist/esm/apis/ContentLibraryQuizApi.js +5 -2
- package/dist/esm/apis/CourseApi.d.ts +38 -0
- package/dist/esm/apis/CourseApi.js +101 -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/PostCourseVersionItemSession.d.ts +1 -1
- 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/PostCourseVersionItemSession.d.ts +1 -1
- 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/ContentLibraryQuizApi.md +7 -4
- package/docs/CourseApi.md +158 -4
- 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/PostCourseVersionItemSession.md +1 -1
- 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/ContentLibraryQuizApi.ts +7 -2
- package/src/apis/CourseApi.ts +153 -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/PostCourseVersionItemSession.ts +1 -1
- 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
|
@@ -52,6 +52,12 @@ export interface PutCourseVersionItem {
|
|
|
52
52
|
* @memberof PutCourseVersionItem
|
|
53
53
|
*/
|
|
54
54
|
isRequired?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Resource placements only. Set null to disable the timer.
|
|
57
|
+
* @type {number}
|
|
58
|
+
* @memberof PutCourseVersionItem
|
|
59
|
+
*/
|
|
60
|
+
minimumActiveSeconds?: number | null;
|
|
55
61
|
/**
|
|
56
62
|
*
|
|
57
63
|
* @type {ContentLaunchMode}
|
|
@@ -47,6 +47,7 @@ function PutCourseVersionItemFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
47
47
|
'position': json['position'] == null ? undefined : json['position'],
|
|
48
48
|
'isVisible': json['is_visible'] == null ? undefined : json['is_visible'],
|
|
49
49
|
'isRequired': json['is_required'] == null ? undefined : json['is_required'],
|
|
50
|
+
'minimumActiveSeconds': json['minimum_active_seconds'] == null ? undefined : json['minimum_active_seconds'],
|
|
50
51
|
'launchMode': json['launch_mode'] == null ? undefined : (0, ContentLaunchMode_1.ContentLaunchModeFromJSON)(json['launch_mode']),
|
|
51
52
|
'maxAttempts': json['max_attempts'] == null ? undefined : json['max_attempts'],
|
|
52
53
|
'scoreRollupStrategy': json['score_rollup_strategy'] == null ? undefined : json['score_rollup_strategy'],
|
|
@@ -67,6 +68,7 @@ function PutCourseVersionItemToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
67
68
|
'position': value['position'],
|
|
68
69
|
'is_visible': value['isVisible'],
|
|
69
70
|
'is_required': value['isRequired'],
|
|
71
|
+
'minimum_active_seconds': value['minimumActiveSeconds'],
|
|
70
72
|
'launch_mode': (0, ContentLaunchMode_1.ContentLaunchModeToJSON)(value['launchMode']),
|
|
71
73
|
'max_attempts': value['maxAttempts'],
|
|
72
74
|
'score_rollup_strategy': value['scoreRollupStrategy'],
|
|
@@ -33,6 +33,12 @@ export interface PutResourceSessionOverride {
|
|
|
33
33
|
* @memberof PutResourceSessionOverride
|
|
34
34
|
*/
|
|
35
35
|
scoreRaw?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Permanently waive the placement's minimum active-time requirement for this learner.
|
|
38
|
+
* @type {boolean}
|
|
39
|
+
* @memberof PutResourceSessionOverride
|
|
40
|
+
*/
|
|
41
|
+
waiveMinimumActiveTime?: boolean;
|
|
36
42
|
/**
|
|
37
43
|
*
|
|
38
44
|
* @type {string}
|
|
@@ -55,6 +55,7 @@ function PutResourceSessionOverrideFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
55
55
|
'completionStatus': json['completion_status'] == null ? undefined : json['completion_status'],
|
|
56
56
|
'gradeStatus': json['grade_status'] == null ? undefined : json['grade_status'],
|
|
57
57
|
'scoreRaw': json['score_raw'] == null ? undefined : json['score_raw'],
|
|
58
|
+
'waiveMinimumActiveTime': json['waive_minimum_active_time'] == null ? undefined : json['waive_minimum_active_time'],
|
|
58
59
|
'reason': json['reason'],
|
|
59
60
|
};
|
|
60
61
|
}
|
|
@@ -69,6 +70,7 @@ function PutResourceSessionOverrideToJSONTyped(value, ignoreDiscriminator = fals
|
|
|
69
70
|
'completion_status': value['completionStatus'],
|
|
70
71
|
'grade_status': value['gradeStatus'],
|
|
71
72
|
'score_raw': value['scoreRaw'],
|
|
73
|
+
'waive_minimum_active_time': value['waiveMinimumActiveTime'],
|
|
72
74
|
'reason': value['reason'],
|
|
73
75
|
};
|
|
74
76
|
}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export * from './CertificateTemplateVersion';
|
|
|
23
23
|
export * from './ContentLaunchMode';
|
|
24
24
|
export * from './ContentLibraryVersionStatus';
|
|
25
25
|
export * from './CourseCatalog';
|
|
26
|
+
export * from './CourseProgressionMode';
|
|
26
27
|
export * from './CourseShare';
|
|
27
28
|
export * from './EffectiveCertificateConfig';
|
|
28
29
|
export * from './EmailTemplateDefinition';
|
|
@@ -52,12 +53,15 @@ export * from './GetCourseList';
|
|
|
52
53
|
export * from './GetCourseVersion';
|
|
53
54
|
export * from './GetCourseVersionItem';
|
|
54
55
|
export * from './GetCourseVersionItemLaunch';
|
|
56
|
+
export * from './GetCourseVersionItemProgression';
|
|
55
57
|
export * from './GetCourseVersionItemReporting';
|
|
56
58
|
export * from './GetCourseVersionItemSession';
|
|
57
59
|
export * from './GetCourseVersionList';
|
|
60
|
+
export * from './GetCourseVersionProgression';
|
|
58
61
|
export * from './GetCourseVersionReporting';
|
|
59
62
|
export * from './GetCourseVersionSection';
|
|
60
63
|
export * from './GetCourseVersionSectionChild';
|
|
64
|
+
export * from './GetCourseVersionSectionProgression';
|
|
61
65
|
export * from './GetCourseVersionSectionReporting';
|
|
62
66
|
export * from './GetEmailAssetUpload';
|
|
63
67
|
export * from './GetEmailDelivery';
|
|
@@ -207,6 +211,8 @@ export * from './PostSignupRequest';
|
|
|
207
211
|
export * from './PostSignupRequestResponse';
|
|
208
212
|
export * from './PostSupportTicket';
|
|
209
213
|
export * from './PostSupportTicketComment';
|
|
214
|
+
export * from './ProgressionGateError';
|
|
215
|
+
export * from './ProgressionLockReason';
|
|
210
216
|
export * from './PutAttemptAllowance';
|
|
211
217
|
export * from './PutBadgeIssuer';
|
|
212
218
|
export * from './PutCertificateConfig';
|
|
@@ -215,6 +221,7 @@ export * from './PutCertificateTemplateDraft';
|
|
|
215
221
|
export * from './PutCourse';
|
|
216
222
|
export * from './PutCourseCatalog';
|
|
217
223
|
export * from './PutCourseEnrollment';
|
|
224
|
+
export * from './PutCourseVersionDraft';
|
|
218
225
|
export * from './PutCourseVersionItem';
|
|
219
226
|
export * from './PutCourseVersionOutlineEntryMove';
|
|
220
227
|
export * from './PutCourseVersionSection';
|
package/dist/models/index.js
CHANGED
|
@@ -41,6 +41,7 @@ __exportStar(require("./CertificateTemplateVersion"), exports);
|
|
|
41
41
|
__exportStar(require("./ContentLaunchMode"), exports);
|
|
42
42
|
__exportStar(require("./ContentLibraryVersionStatus"), exports);
|
|
43
43
|
__exportStar(require("./CourseCatalog"), exports);
|
|
44
|
+
__exportStar(require("./CourseProgressionMode"), exports);
|
|
44
45
|
__exportStar(require("./CourseShare"), exports);
|
|
45
46
|
__exportStar(require("./EffectiveCertificateConfig"), exports);
|
|
46
47
|
__exportStar(require("./EmailTemplateDefinition"), exports);
|
|
@@ -70,12 +71,15 @@ __exportStar(require("./GetCourseList"), exports);
|
|
|
70
71
|
__exportStar(require("./GetCourseVersion"), exports);
|
|
71
72
|
__exportStar(require("./GetCourseVersionItem"), exports);
|
|
72
73
|
__exportStar(require("./GetCourseVersionItemLaunch"), exports);
|
|
74
|
+
__exportStar(require("./GetCourseVersionItemProgression"), exports);
|
|
73
75
|
__exportStar(require("./GetCourseVersionItemReporting"), exports);
|
|
74
76
|
__exportStar(require("./GetCourseVersionItemSession"), exports);
|
|
75
77
|
__exportStar(require("./GetCourseVersionList"), exports);
|
|
78
|
+
__exportStar(require("./GetCourseVersionProgression"), exports);
|
|
76
79
|
__exportStar(require("./GetCourseVersionReporting"), exports);
|
|
77
80
|
__exportStar(require("./GetCourseVersionSection"), exports);
|
|
78
81
|
__exportStar(require("./GetCourseVersionSectionChild"), exports);
|
|
82
|
+
__exportStar(require("./GetCourseVersionSectionProgression"), exports);
|
|
79
83
|
__exportStar(require("./GetCourseVersionSectionReporting"), exports);
|
|
80
84
|
__exportStar(require("./GetEmailAssetUpload"), exports);
|
|
81
85
|
__exportStar(require("./GetEmailDelivery"), exports);
|
|
@@ -225,6 +229,8 @@ __exportStar(require("./PostSignupRequest"), exports);
|
|
|
225
229
|
__exportStar(require("./PostSignupRequestResponse"), exports);
|
|
226
230
|
__exportStar(require("./PostSupportTicket"), exports);
|
|
227
231
|
__exportStar(require("./PostSupportTicketComment"), exports);
|
|
232
|
+
__exportStar(require("./ProgressionGateError"), exports);
|
|
233
|
+
__exportStar(require("./ProgressionLockReason"), exports);
|
|
228
234
|
__exportStar(require("./PutAttemptAllowance"), exports);
|
|
229
235
|
__exportStar(require("./PutBadgeIssuer"), exports);
|
|
230
236
|
__exportStar(require("./PutCertificateConfig"), exports);
|
|
@@ -233,6 +239,7 @@ __exportStar(require("./PutCertificateTemplateDraft"), exports);
|
|
|
233
239
|
__exportStar(require("./PutCourse"), exports);
|
|
234
240
|
__exportStar(require("./PutCourseCatalog"), exports);
|
|
235
241
|
__exportStar(require("./PutCourseEnrollment"), exports);
|
|
242
|
+
__exportStar(require("./PutCourseVersionDraft"), exports);
|
|
236
243
|
__exportStar(require("./PutCourseVersionItem"), exports);
|
|
237
244
|
__exportStar(require("./PutCourseVersionOutlineEntryMove"), exports);
|
|
238
245
|
__exportStar(require("./PutCourseVersionSection"), exports);
|
|
@@ -15,7 +15,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
|
|
|
15
15
|
| [**getLibraryQuizSessionResults**](ContentLibraryQuizApi.md#getlibraryquizsessionresults) | **GET** /quiz/sessions/{sessionId}/results | Get reusable quiz session results |
|
|
16
16
|
| [**getLibraryQuizUsage**](ContentLibraryQuizApi.md#getlibraryquizusage) | **GET** /content-library/quizzes/{quizId}/usage | Get course and learner usage for a reusable quiz |
|
|
17
17
|
| [**getLibraryQuizVersion**](ContentLibraryQuizApi.md#getlibraryquizversion) | **GET** /content-library/quizzes/{quizId}/versions/{versionId} | Get a reusable quiz version |
|
|
18
|
-
| [**postCourseLibraryQuizSession**](ContentLibraryQuizApi.md#postcourselibraryquizsession) | **POST** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/quiz-sessions | Start or resume a live attempt for a course-pinned quiz version |
|
|
18
|
+
| [**postCourseLibraryQuizSession**](ContentLibraryQuizApi.md#postcourselibraryquizsession) | **POST** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/quiz-sessions | Start or resume a live or sandbox-preview attempt for a course-pinned quiz version |
|
|
19
19
|
| [**postLibraryQuiz**](ContentLibraryQuizApi.md#postlibraryquiz) | **POST** /content-library/quizzes | Create a reusable quiz and its first draft version |
|
|
20
20
|
| [**postLibraryQuizArchive**](ContentLibraryQuizApi.md#postlibraryquizarchive) | **POST** /content-library/quizzes/{quizId}/archive | Archive a reusable quiz |
|
|
21
21
|
| [**postLibraryQuizCriteriaPreview**](ContentLibraryQuizApi.md#postlibraryquizcriteriapreview) | **POST** /content-library/quizzes/{quizId}/versions/{versionId}/criteria/preview | Preview questions matching unsaved quiz-selection criteria |
|
|
@@ -810,9 +810,9 @@ No authorization required
|
|
|
810
810
|
|
|
811
811
|
## postCourseLibraryQuizSession
|
|
812
812
|
|
|
813
|
-
> GetLibraryQuizSession postCourseLibraryQuizSession(courseId, courseVersionId, itemId, postCourseLibraryQuizSession)
|
|
813
|
+
> GetLibraryQuizSession postCourseLibraryQuizSession(courseId, courseVersionId, itemId, preview, postCourseLibraryQuizSession)
|
|
814
814
|
|
|
815
|
-
Start or resume a live attempt for a course-pinned quiz version
|
|
815
|
+
Start or resume a live or sandbox-preview attempt for a course-pinned quiz version
|
|
816
816
|
|
|
817
817
|
### Example
|
|
818
818
|
|
|
@@ -834,6 +834,8 @@ async function example() {
|
|
|
834
834
|
courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
835
835
|
// string
|
|
836
836
|
itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
837
|
+
// boolean | Start or resume an isolated sandbox quiz attempt for course preview. (optional)
|
|
838
|
+
preview: true,
|
|
837
839
|
// PostCourseLibraryQuizSession (optional)
|
|
838
840
|
postCourseLibraryQuizSession: ...,
|
|
839
841
|
} satisfies PostCourseLibraryQuizSessionRequest;
|
|
@@ -858,6 +860,7 @@ example().catch(console.error);
|
|
|
858
860
|
| **courseId** | `string` | | [Defaults to `undefined`] |
|
|
859
861
|
| **courseVersionId** | `string` | | [Defaults to `undefined`] |
|
|
860
862
|
| **itemId** | `string` | | [Defaults to `undefined`] |
|
|
863
|
+
| **preview** | `boolean` | Start or resume an isolated sandbox quiz attempt for course preview. | [Optional] [Defaults to `false`] |
|
|
861
864
|
| **postCourseLibraryQuizSession** | [PostCourseLibraryQuizSession](PostCourseLibraryQuizSession.md) | | [Optional] |
|
|
862
865
|
|
|
863
866
|
### Return type
|
|
@@ -877,7 +880,7 @@ No authorization required
|
|
|
877
880
|
### HTTP response details
|
|
878
881
|
| Status code | Description | Response headers |
|
|
879
882
|
|-------------|-------------|------------------|
|
|
880
|
-
| **200** | Current or newly created live quiz session | - |
|
|
883
|
+
| **200** | Current or newly created live or sandbox-preview quiz session | - |
|
|
881
884
|
| **403** | Learner is not assigned to the pinned course version | - |
|
|
882
885
|
| **409** | Maximum attempts reached | - |
|
|
883
886
|
|
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 |
|
|
@@ -1105,7 +1107,7 @@ No authorization required
|
|
|
1105
1107
|
|
|
1106
1108
|
## getCourseVersion
|
|
1107
1109
|
|
|
1108
|
-
> GetCourseVersion getCourseVersion(courseId, courseVersionId)
|
|
1110
|
+
> GetCourseVersion getCourseVersion(courseId, courseVersionId, preview)
|
|
1109
1111
|
|
|
1110
1112
|
Get one immutable course version or preview the owned draft
|
|
1111
1113
|
|
|
@@ -1127,6 +1129,8 @@ async function example() {
|
|
|
1127
1129
|
courseId: courseId_example,
|
|
1128
1130
|
// string
|
|
1129
1131
|
courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1132
|
+
// boolean | Return the owning portal\'s draft or historical version with student visibility rules applied. (optional)
|
|
1133
|
+
preview: true,
|
|
1130
1134
|
} satisfies GetCourseVersionRequest;
|
|
1131
1135
|
|
|
1132
1136
|
try {
|
|
@@ -1148,6 +1152,7 @@ example().catch(console.error);
|
|
|
1148
1152
|
|------------- | ------------- | ------------- | -------------|
|
|
1149
1153
|
| **courseId** | `string` | | [Defaults to `undefined`] |
|
|
1150
1154
|
| **courseVersionId** | `string` | | [Defaults to `undefined`] |
|
|
1155
|
+
| **preview** | `boolean` | Return the owning portal\'s draft or historical version with student visibility rules applied. | [Optional] [Defaults to `false`] |
|
|
1151
1156
|
|
|
1152
1157
|
### Return type
|
|
1153
1158
|
|
|
@@ -1174,7 +1179,7 @@ No authorization required
|
|
|
1174
1179
|
|
|
1175
1180
|
## getCourseVersionItemLaunch
|
|
1176
1181
|
|
|
1177
|
-
> GetCourseVersionItemLaunch getCourseVersionItemLaunch(courseId, courseVersionId, itemId)
|
|
1182
|
+
> GetCourseVersionItemLaunch getCourseVersionItemLaunch(courseId, courseVersionId, itemId, preview)
|
|
1178
1183
|
|
|
1179
1184
|
Resolve the exact immutable resource launch selected by a course version
|
|
1180
1185
|
|
|
@@ -1198,6 +1203,8 @@ async function example() {
|
|
|
1198
1203
|
courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1199
1204
|
// string
|
|
1200
1205
|
itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1206
|
+
// boolean | Resolve this placement in isolated student-view preview mode. (optional)
|
|
1207
|
+
preview: true,
|
|
1201
1208
|
} satisfies GetCourseVersionItemLaunchRequest;
|
|
1202
1209
|
|
|
1203
1210
|
try {
|
|
@@ -1220,6 +1227,7 @@ example().catch(console.error);
|
|
|
1220
1227
|
| **courseId** | `string` | | [Defaults to `undefined`] |
|
|
1221
1228
|
| **courseVersionId** | `string` | | [Defaults to `undefined`] |
|
|
1222
1229
|
| **itemId** | `string` | | [Defaults to `undefined`] |
|
|
1230
|
+
| **preview** | `boolean` | Resolve this placement in isolated student-view preview mode. | [Optional] [Defaults to `false`] |
|
|
1223
1231
|
|
|
1224
1232
|
### Return type
|
|
1225
1233
|
|
|
@@ -1240,6 +1248,7 @@ No authorization required
|
|
|
1240
1248
|
|-------------|-------------|------------------|
|
|
1241
1249
|
| **200** | Pinned resource launch descriptor | - |
|
|
1242
1250
|
| **403** | Learner is not assigned to this course version | - |
|
|
1251
|
+
| **409** | The item\'s top-level section is locked | - |
|
|
1243
1252
|
|
|
1244
1253
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1245
1254
|
|
|
@@ -1309,6 +1318,79 @@ No authorization required
|
|
|
1309
1318
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1310
1319
|
|
|
1311
1320
|
|
|
1321
|
+
## getCourseVersionProgression
|
|
1322
|
+
|
|
1323
|
+
> GetCourseVersionProgression getCourseVersionProgression(courseId, courseVersionId, preview)
|
|
1324
|
+
|
|
1325
|
+
Get learner-specific completion and section lock state
|
|
1326
|
+
|
|
1327
|
+
### Example
|
|
1328
|
+
|
|
1329
|
+
```ts
|
|
1330
|
+
import {
|
|
1331
|
+
Configuration,
|
|
1332
|
+
CourseApi,
|
|
1333
|
+
} from '@easyedu/js-lsm-api';
|
|
1334
|
+
import type { GetCourseVersionProgressionRequest } from '@easyedu/js-lsm-api';
|
|
1335
|
+
|
|
1336
|
+
async function example() {
|
|
1337
|
+
console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
|
|
1338
|
+
const api = new CourseApi();
|
|
1339
|
+
|
|
1340
|
+
const body = {
|
|
1341
|
+
// string
|
|
1342
|
+
courseId: courseId_example,
|
|
1343
|
+
// string
|
|
1344
|
+
courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1345
|
+
// boolean | Read isolated sandbox progress while previewing an owned draft or historical version. (optional)
|
|
1346
|
+
preview: true,
|
|
1347
|
+
} satisfies GetCourseVersionProgressionRequest;
|
|
1348
|
+
|
|
1349
|
+
try {
|
|
1350
|
+
const data = await api.getCourseVersionProgression(body);
|
|
1351
|
+
console.log(data);
|
|
1352
|
+
} catch (error) {
|
|
1353
|
+
console.error(error);
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
// Run the test
|
|
1358
|
+
example().catch(console.error);
|
|
1359
|
+
```
|
|
1360
|
+
|
|
1361
|
+
### Parameters
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
| Name | Type | Description | Notes |
|
|
1365
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1366
|
+
| **courseId** | `string` | | [Defaults to `undefined`] |
|
|
1367
|
+
| **courseVersionId** | `string` | | [Defaults to `undefined`] |
|
|
1368
|
+
| **preview** | `boolean` | Read isolated sandbox progress while previewing an owned draft or historical version. | [Optional] [Defaults to `false`] |
|
|
1369
|
+
|
|
1370
|
+
### Return type
|
|
1371
|
+
|
|
1372
|
+
[**GetCourseVersionProgression**](GetCourseVersionProgression.md)
|
|
1373
|
+
|
|
1374
|
+
### Authorization
|
|
1375
|
+
|
|
1376
|
+
No authorization required
|
|
1377
|
+
|
|
1378
|
+
### HTTP request headers
|
|
1379
|
+
|
|
1380
|
+
- **Content-Type**: Not defined
|
|
1381
|
+
- **Accept**: `application/json`
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
### HTTP response details
|
|
1385
|
+
| Status code | Description | Response headers |
|
|
1386
|
+
|-------------|-------------|------------------|
|
|
1387
|
+
| **200** | Learner progression state | - |
|
|
1388
|
+
| **403** | Learner is not assigned to this course version | - |
|
|
1389
|
+
| **404** | Course version not found | - |
|
|
1390
|
+
|
|
1391
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1392
|
+
|
|
1393
|
+
|
|
1312
1394
|
## postCourse
|
|
1313
1395
|
|
|
1314
1396
|
> GetCourse postCourse(postCourse)
|
|
@@ -2012,7 +2094,7 @@ No authorization required
|
|
|
2012
2094
|
|
|
2013
2095
|
## postCourseVersionItemSession
|
|
2014
2096
|
|
|
2015
|
-
> GetCourseVersionItemSession postCourseVersionItemSession(courseId, courseVersionId, itemId, postCourseVersionItemSession)
|
|
2097
|
+
> GetCourseVersionItemSession postCourseVersionItemSession(courseId, courseVersionId, itemId, preview, postCourseVersionItemSession)
|
|
2016
2098
|
|
|
2017
2099
|
Start or resume a version-pinned resource attempt
|
|
2018
2100
|
|
|
@@ -2036,6 +2118,8 @@ async function example() {
|
|
|
2036
2118
|
courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
2037
2119
|
// string
|
|
2038
2120
|
itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
2121
|
+
// boolean | Start or resume an isolated sandbox attempt for course preview. (optional)
|
|
2122
|
+
preview: true,
|
|
2039
2123
|
// PostCourseVersionItemSession (optional)
|
|
2040
2124
|
postCourseVersionItemSession: ...,
|
|
2041
2125
|
} satisfies PostCourseVersionItemSessionRequest;
|
|
@@ -2060,6 +2144,7 @@ example().catch(console.error);
|
|
|
2060
2144
|
| **courseId** | `string` | | [Defaults to `undefined`] |
|
|
2061
2145
|
| **courseVersionId** | `string` | | [Defaults to `undefined`] |
|
|
2062
2146
|
| **itemId** | `string` | | [Defaults to `undefined`] |
|
|
2147
|
+
| **preview** | `boolean` | Start or resume an isolated sandbox attempt for course preview. | [Optional] [Defaults to `false`] |
|
|
2063
2148
|
| **postCourseVersionItemSession** | [PostCourseVersionItemSession](PostCourseVersionItemSession.md) | | [Optional] |
|
|
2064
2149
|
|
|
2065
2150
|
### Return type
|
|
@@ -2081,7 +2166,7 @@ No authorization required
|
|
|
2081
2166
|
|-------------|-------------|------------------|
|
|
2082
2167
|
| **200** | Existing current attempt or a newly created attempt | - |
|
|
2083
2168
|
| **403** | Learner is not assigned to this course version | - |
|
|
2084
|
-
| **409** | Maximum attempts reached | - |
|
|
2169
|
+
| **409** | Maximum attempts reached or the item\'s top-level section is locked | - |
|
|
2085
2170
|
|
|
2086
2171
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2087
2172
|
|
|
@@ -2515,6 +2600,75 @@ No authorization required
|
|
|
2515
2600
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2516
2601
|
|
|
2517
2602
|
|
|
2603
|
+
## putCourseVersionDraft
|
|
2604
|
+
|
|
2605
|
+
> GetCourseVersion putCourseVersionDraft(courseId, putCourseVersionDraft)
|
|
2606
|
+
|
|
2607
|
+
Update progression settings on the editable course draft
|
|
2608
|
+
|
|
2609
|
+
### Example
|
|
2610
|
+
|
|
2611
|
+
```ts
|
|
2612
|
+
import {
|
|
2613
|
+
Configuration,
|
|
2614
|
+
CourseApi,
|
|
2615
|
+
} from '@easyedu/js-lsm-api';
|
|
2616
|
+
import type { PutCourseVersionDraftRequest } from '@easyedu/js-lsm-api';
|
|
2617
|
+
|
|
2618
|
+
async function example() {
|
|
2619
|
+
console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
|
|
2620
|
+
const api = new CourseApi();
|
|
2621
|
+
|
|
2622
|
+
const body = {
|
|
2623
|
+
// string
|
|
2624
|
+
courseId: courseId_example,
|
|
2625
|
+
// PutCourseVersionDraft
|
|
2626
|
+
putCourseVersionDraft: ...,
|
|
2627
|
+
} satisfies PutCourseVersionDraftRequest;
|
|
2628
|
+
|
|
2629
|
+
try {
|
|
2630
|
+
const data = await api.putCourseVersionDraft(body);
|
|
2631
|
+
console.log(data);
|
|
2632
|
+
} catch (error) {
|
|
2633
|
+
console.error(error);
|
|
2634
|
+
}
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
// Run the test
|
|
2638
|
+
example().catch(console.error);
|
|
2639
|
+
```
|
|
2640
|
+
|
|
2641
|
+
### Parameters
|
|
2642
|
+
|
|
2643
|
+
|
|
2644
|
+
| Name | Type | Description | Notes |
|
|
2645
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2646
|
+
| **courseId** | `string` | | [Defaults to `undefined`] |
|
|
2647
|
+
| **putCourseVersionDraft** | [PutCourseVersionDraft](PutCourseVersionDraft.md) | | |
|
|
2648
|
+
|
|
2649
|
+
### Return type
|
|
2650
|
+
|
|
2651
|
+
[**GetCourseVersion**](GetCourseVersion.md)
|
|
2652
|
+
|
|
2653
|
+
### Authorization
|
|
2654
|
+
|
|
2655
|
+
No authorization required
|
|
2656
|
+
|
|
2657
|
+
### HTTP request headers
|
|
2658
|
+
|
|
2659
|
+
- **Content-Type**: `application/json`
|
|
2660
|
+
- **Accept**: `application/json`
|
|
2661
|
+
|
|
2662
|
+
|
|
2663
|
+
### HTTP response details
|
|
2664
|
+
| Status code | Description | Response headers |
|
|
2665
|
+
|-------------|-------------|------------------|
|
|
2666
|
+
| **200** | Updated course draft | - |
|
|
2667
|
+
| **404** | No draft exists | - |
|
|
2668
|
+
|
|
2669
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2670
|
+
|
|
2671
|
+
|
|
2518
2672
|
## putCourseVersionItem
|
|
2519
2673
|
|
|
2520
2674
|
> 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 live completion state, or isolated sandbox completion state during an authorized course preview.
|
|
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
|
+
|