@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.
Files changed (110) hide show
  1. package/.openapi-generator/FILES +14 -0
  2. package/README.md +12 -3
  3. package/dist/apis/ContentLibraryQuizApi.d.ts +3 -2
  4. package/dist/apis/ContentLibraryQuizApi.js +5 -2
  5. package/dist/apis/CourseApi.d.ts +38 -0
  6. package/dist/apis/CourseApi.js +101 -0
  7. package/dist/esm/apis/ContentLibraryQuizApi.d.ts +3 -2
  8. package/dist/esm/apis/ContentLibraryQuizApi.js +5 -2
  9. package/dist/esm/apis/CourseApi.d.ts +38 -0
  10. package/dist/esm/apis/CourseApi.js +101 -0
  11. package/dist/esm/models/CourseProgressionMode.d.ts +25 -0
  12. package/dist/esm/models/CourseProgressionMode.js +43 -0
  13. package/dist/esm/models/GetCourseVersion.d.ts +7 -0
  14. package/dist/esm/models/GetCourseVersion.js +5 -0
  15. package/dist/esm/models/GetCourseVersionItem.d.ts +6 -0
  16. package/dist/esm/models/GetCourseVersionItem.js +4 -0
  17. package/dist/esm/models/GetCourseVersionItemProgression.d.ts +105 -0
  18. package/dist/esm/models/GetCourseVersionItemProgression.js +92 -0
  19. package/dist/esm/models/GetCourseVersionItemSession.d.ts +37 -1
  20. package/dist/esm/models/GetCourseVersionItemSession.js +24 -0
  21. package/dist/esm/models/GetCourseVersionProgression.d.ts +59 -0
  22. package/dist/esm/models/GetCourseVersionProgression.js +62 -0
  23. package/dist/esm/models/GetCourseVersionSectionProgression.d.ts +75 -0
  24. package/dist/esm/models/GetCourseVersionSectionProgression.js +72 -0
  25. package/dist/esm/models/GetResourceSession.d.ts +36 -0
  26. package/dist/esm/models/GetResourceSession.js +24 -0
  27. package/dist/esm/models/PostCourseVersionItem.d.ts +6 -0
  28. package/dist/esm/models/PostCourseVersionItem.js +2 -0
  29. package/dist/esm/models/PostCourseVersionItemSession.d.ts +1 -1
  30. package/dist/esm/models/ProgressionGateError.d.ts +76 -0
  31. package/dist/esm/models/ProgressionGateError.js +74 -0
  32. package/dist/esm/models/ProgressionLockReason.d.ts +24 -0
  33. package/dist/esm/models/ProgressionLockReason.js +42 -0
  34. package/dist/esm/models/PutCourseVersionDraft.d.ts +33 -0
  35. package/dist/esm/models/PutCourseVersionDraft.js +44 -0
  36. package/dist/esm/models/PutCourseVersionItem.d.ts +6 -0
  37. package/dist/esm/models/PutCourseVersionItem.js +2 -0
  38. package/dist/esm/models/PutResourceSessionOverride.d.ts +6 -0
  39. package/dist/esm/models/PutResourceSessionOverride.js +2 -0
  40. package/dist/esm/models/index.d.ts +7 -0
  41. package/dist/esm/models/index.js +7 -0
  42. package/dist/models/CourseProgressionMode.d.ts +25 -0
  43. package/dist/models/CourseProgressionMode.js +51 -0
  44. package/dist/models/GetCourseVersion.d.ts +7 -0
  45. package/dist/models/GetCourseVersion.js +5 -0
  46. package/dist/models/GetCourseVersionItem.d.ts +6 -0
  47. package/dist/models/GetCourseVersionItem.js +4 -0
  48. package/dist/models/GetCourseVersionItemProgression.d.ts +105 -0
  49. package/dist/models/GetCourseVersionItemProgression.js +99 -0
  50. package/dist/models/GetCourseVersionItemSession.d.ts +37 -1
  51. package/dist/models/GetCourseVersionItemSession.js +24 -0
  52. package/dist/models/GetCourseVersionProgression.d.ts +59 -0
  53. package/dist/models/GetCourseVersionProgression.js +69 -0
  54. package/dist/models/GetCourseVersionSectionProgression.d.ts +75 -0
  55. package/dist/models/GetCourseVersionSectionProgression.js +79 -0
  56. package/dist/models/GetResourceSession.d.ts +36 -0
  57. package/dist/models/GetResourceSession.js +24 -0
  58. package/dist/models/PostCourseVersionItem.d.ts +6 -0
  59. package/dist/models/PostCourseVersionItem.js +2 -0
  60. package/dist/models/PostCourseVersionItemSession.d.ts +1 -1
  61. package/dist/models/ProgressionGateError.d.ts +76 -0
  62. package/dist/models/ProgressionGateError.js +82 -0
  63. package/dist/models/ProgressionLockReason.d.ts +24 -0
  64. package/dist/models/ProgressionLockReason.js +50 -0
  65. package/dist/models/PutCourseVersionDraft.d.ts +33 -0
  66. package/dist/models/PutCourseVersionDraft.js +51 -0
  67. package/dist/models/PutCourseVersionItem.d.ts +6 -0
  68. package/dist/models/PutCourseVersionItem.js +2 -0
  69. package/dist/models/PutResourceSessionOverride.d.ts +6 -0
  70. package/dist/models/PutResourceSessionOverride.js +2 -0
  71. package/dist/models/index.d.ts +7 -0
  72. package/dist/models/index.js +7 -0
  73. package/docs/ContentLibraryQuizApi.md +7 -4
  74. package/docs/CourseApi.md +158 -4
  75. package/docs/CourseProgressionMode.md +33 -0
  76. package/docs/GetCourseVersion.md +2 -0
  77. package/docs/GetCourseVersionItem.md +2 -0
  78. package/docs/GetCourseVersionItemProgression.md +58 -0
  79. package/docs/GetCourseVersionItemSession.md +12 -0
  80. package/docs/GetCourseVersionProgression.md +43 -0
  81. package/docs/GetCourseVersionSectionProgression.md +48 -0
  82. package/docs/GetResourceSession.md +12 -0
  83. package/docs/PlayerApi.md +1 -0
  84. package/docs/PostCourseVersionItem.md +2 -0
  85. package/docs/PostCourseVersionItemSession.md +1 -1
  86. package/docs/ProgressionGateError.md +47 -0
  87. package/docs/ProgressionLockReason.md +32 -0
  88. package/docs/PutCourseVersionDraft.md +34 -0
  89. package/docs/PutCourseVersionItem.md +2 -0
  90. package/docs/PutResourceSessionOverride.md +2 -0
  91. package/package.json +1 -1
  92. package/src/apis/ContentLibraryQuizApi.ts +7 -2
  93. package/src/apis/CourseApi.ts +153 -0
  94. package/src/apis/PlayerApi.ts +5 -0
  95. package/src/models/CourseProgressionMode.ts +53 -0
  96. package/src/models/GetCourseVersion.ts +16 -0
  97. package/src/models/GetCourseVersionItem.ts +9 -0
  98. package/src/models/GetCourseVersionItemProgression.ts +184 -0
  99. package/src/models/GetCourseVersionItemSession.ts +55 -1
  100. package/src/models/GetCourseVersionProgression.ts +126 -0
  101. package/src/models/GetCourseVersionSectionProgression.ts +139 -0
  102. package/src/models/GetResourceSession.ts +54 -0
  103. package/src/models/PostCourseVersionItem.ts +8 -0
  104. package/src/models/PostCourseVersionItemSession.ts +1 -1
  105. package/src/models/ProgressionGateError.ts +131 -0
  106. package/src/models/ProgressionLockReason.ts +52 -0
  107. package/src/models/PutCourseVersionDraft.ts +76 -0
  108. package/src/models/PutCourseVersionItem.ts +8 -0
  109. package/src/models/PutResourceSessionOverride.ts +8 -0
  110. 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
  }
@@ -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';
@@ -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
+
@@ -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
+