@easyedu/js-lsm-api 1.83.0 → 1.85.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 (277) hide show
  1. package/.openapi-generator/FILES +84 -0
  2. package/README.md +106 -2
  3. package/dist/apis/ContentLibraryApi.d.ts +290 -0
  4. package/dist/apis/ContentLibraryApi.js +744 -0
  5. package/dist/apis/CourseApi.d.ts +172 -0
  6. package/dist/apis/CourseApi.js +443 -0
  7. package/dist/apis/EmailTemplateApi.d.ts +504 -0
  8. package/dist/apis/EmailTemplateApi.js +1299 -0
  9. package/dist/apis/PlayerApi.d.ts +112 -0
  10. package/dist/apis/PlayerApi.js +297 -0
  11. package/dist/apis/index.d.ts +2 -0
  12. package/dist/apis/index.js +2 -0
  13. package/dist/esm/apis/ContentLibraryApi.d.ts +290 -0
  14. package/dist/esm/apis/ContentLibraryApi.js +740 -0
  15. package/dist/esm/apis/CourseApi.d.ts +172 -0
  16. package/dist/esm/apis/CourseApi.js +443 -0
  17. package/dist/esm/apis/EmailTemplateApi.d.ts +504 -0
  18. package/dist/esm/apis/EmailTemplateApi.js +1295 -0
  19. package/dist/esm/apis/PlayerApi.d.ts +112 -0
  20. package/dist/esm/apis/PlayerApi.js +297 -0
  21. package/dist/esm/apis/index.d.ts +2 -0
  22. package/dist/esm/apis/index.js +2 -0
  23. package/dist/esm/models/ContentLibraryVersionStatus.d.ts +26 -0
  24. package/dist/esm/models/ContentLibraryVersionStatus.js +44 -0
  25. package/dist/esm/models/EmailTemplateDefinition.d.ts +64 -0
  26. package/dist/esm/models/EmailTemplateDefinition.js +65 -0
  27. package/dist/esm/models/EmailTemplateScope.d.ts +25 -0
  28. package/dist/esm/models/EmailTemplateScope.js +43 -0
  29. package/dist/esm/models/EmailTemplateVariable.d.ts +59 -0
  30. package/dist/esm/models/EmailTemplateVariable.js +63 -0
  31. package/dist/esm/models/EmailTemplateVersion.d.ts +110 -0
  32. package/dist/esm/models/EmailTemplateVersion.js +86 -0
  33. package/dist/esm/models/GetContentLibraryVersion.d.ts +126 -0
  34. package/dist/esm/models/GetContentLibraryVersion.js +87 -0
  35. package/dist/esm/models/GetCourseVersion.d.ts +101 -0
  36. package/dist/esm/models/GetCourseVersion.js +86 -0
  37. package/dist/esm/models/GetCourseVersionItem.d.ts +135 -0
  38. package/dist/esm/models/GetCourseVersionItem.js +104 -0
  39. package/dist/esm/models/GetCourseVersionItemLaunch.d.ts +103 -0
  40. package/dist/esm/models/GetCourseVersionItemLaunch.js +82 -0
  41. package/dist/esm/models/GetCourseVersionItemSession.d.ts +124 -0
  42. package/dist/esm/models/GetCourseVersionItemSession.js +101 -0
  43. package/dist/esm/models/GetCourseVersionList.d.ts +33 -0
  44. package/dist/esm/models/GetCourseVersionList.js +44 -0
  45. package/dist/esm/models/GetCourseVersionModule.d.ts +64 -0
  46. package/dist/esm/models/GetCourseVersionModule.js +65 -0
  47. package/dist/esm/models/GetEmailAssetUpload.d.ts +50 -0
  48. package/dist/esm/models/GetEmailAssetUpload.js +55 -0
  49. package/dist/esm/models/GetEmailDelivery.d.ts +123 -0
  50. package/dist/esm/models/GetEmailDelivery.js +93 -0
  51. package/dist/esm/models/GetEmailDeliveryList.d.ts +51 -0
  52. package/dist/esm/models/GetEmailDeliveryList.js +56 -0
  53. package/dist/esm/models/GetEmailTemplate.d.ts +74 -0
  54. package/dist/esm/models/GetEmailTemplate.js +70 -0
  55. package/dist/esm/models/GetEmailTemplateList.d.ts +33 -0
  56. package/dist/esm/models/GetEmailTemplateList.js +44 -0
  57. package/dist/esm/models/GetEmailTemplatePreview.d.ts +44 -0
  58. package/dist/esm/models/GetEmailTemplatePreview.js +51 -0
  59. package/dist/esm/models/GetResource.d.ts +118 -0
  60. package/dist/esm/models/GetResource.js +95 -0
  61. package/dist/esm/models/GetResourceList.d.ts +57 -0
  62. package/dist/esm/models/GetResourceList.js +60 -0
  63. package/dist/esm/models/GetResourceUsage.d.ts +63 -0
  64. package/dist/esm/models/GetResourceUsage.js +64 -0
  65. package/dist/esm/models/GetResourceUsageCoursesInner.d.ts +63 -0
  66. package/dist/esm/models/GetResourceUsageCoursesInner.js +64 -0
  67. package/dist/esm/models/GetResourceVersionUpload.d.ts +38 -0
  68. package/dist/esm/models/GetResourceVersionUpload.js +47 -0
  69. package/dist/esm/models/PostCourseDraft.d.ts +32 -0
  70. package/dist/esm/models/PostCourseDraft.js +41 -0
  71. package/dist/esm/models/PostCourseVersionItem.d.ts +97 -0
  72. package/dist/esm/models/PostCourseVersionItem.js +71 -0
  73. package/dist/esm/models/PostCourseVersionItemSession.d.ts +32 -0
  74. package/dist/esm/models/PostCourseVersionItemSession.js +41 -0
  75. package/dist/esm/models/PostCourseVersionPublish.d.ts +32 -0
  76. package/dist/esm/models/PostCourseVersionPublish.js +41 -0
  77. package/dist/esm/models/PostEmailAssetComplete.d.ts +32 -0
  78. package/dist/esm/models/PostEmailAssetComplete.js +43 -0
  79. package/dist/esm/models/PostEmailAssetUpload.d.ts +54 -0
  80. package/dist/esm/models/PostEmailAssetUpload.js +60 -0
  81. package/dist/esm/models/PostEmailTemplatePreview.d.ts +64 -0
  82. package/dist/esm/models/PostEmailTemplatePreview.js +55 -0
  83. package/dist/esm/models/PostEmailTemplateTestSend.d.ts +32 -0
  84. package/dist/esm/models/PostEmailTemplateTestSend.js +43 -0
  85. package/dist/esm/models/PostResource.d.ts +58 -0
  86. package/dist/esm/models/PostResource.js +55 -0
  87. package/dist/esm/models/PostResourceVersion.d.ts +45 -0
  88. package/dist/esm/models/PostResourceVersion.js +46 -0
  89. package/dist/esm/models/PostResourceVersionComplete.d.ts +32 -0
  90. package/dist/esm/models/PostResourceVersionComplete.js +43 -0
  91. package/dist/esm/models/PostResourceVersionUpload.d.ts +50 -0
  92. package/dist/esm/models/PostResourceVersionUpload.js +55 -0
  93. package/dist/esm/models/PutCourseVersionItem.d.ts +85 -0
  94. package/dist/esm/models/PutCourseVersionItem.js +63 -0
  95. package/dist/esm/models/PutEmailTemplateDraft.d.ts +64 -0
  96. package/dist/esm/models/PutEmailTemplateDraft.js +55 -0
  97. package/dist/esm/models/PutResource.d.ts +38 -0
  98. package/dist/esm/models/PutResource.js +43 -0
  99. package/dist/esm/models/PutResourceVersion.d.ts +53 -0
  100. package/dist/esm/models/PutResourceVersion.js +48 -0
  101. package/dist/esm/models/ResourceType.d.ts +32 -0
  102. package/dist/esm/models/ResourceType.js +50 -0
  103. package/dist/esm/models/index.d.ts +40 -0
  104. package/dist/esm/models/index.js +40 -0
  105. package/dist/models/ContentLibraryVersionStatus.d.ts +26 -0
  106. package/dist/models/ContentLibraryVersionStatus.js +52 -0
  107. package/dist/models/EmailTemplateDefinition.d.ts +64 -0
  108. package/dist/models/EmailTemplateDefinition.js +72 -0
  109. package/dist/models/EmailTemplateScope.d.ts +25 -0
  110. package/dist/models/EmailTemplateScope.js +51 -0
  111. package/dist/models/EmailTemplateVariable.d.ts +59 -0
  112. package/dist/models/EmailTemplateVariable.js +71 -0
  113. package/dist/models/EmailTemplateVersion.d.ts +110 -0
  114. package/dist/models/EmailTemplateVersion.js +94 -0
  115. package/dist/models/GetContentLibraryVersion.d.ts +126 -0
  116. package/dist/models/GetContentLibraryVersion.js +94 -0
  117. package/dist/models/GetCourseVersion.d.ts +101 -0
  118. package/dist/models/GetCourseVersion.js +93 -0
  119. package/dist/models/GetCourseVersionItem.d.ts +135 -0
  120. package/dist/models/GetCourseVersionItem.js +112 -0
  121. package/dist/models/GetCourseVersionItemLaunch.d.ts +103 -0
  122. package/dist/models/GetCourseVersionItemLaunch.js +89 -0
  123. package/dist/models/GetCourseVersionItemSession.d.ts +124 -0
  124. package/dist/models/GetCourseVersionItemSession.js +108 -0
  125. package/dist/models/GetCourseVersionList.d.ts +33 -0
  126. package/dist/models/GetCourseVersionList.js +51 -0
  127. package/dist/models/GetCourseVersionModule.d.ts +64 -0
  128. package/dist/models/GetCourseVersionModule.js +72 -0
  129. package/dist/models/GetEmailAssetUpload.d.ts +50 -0
  130. package/dist/models/GetEmailAssetUpload.js +62 -0
  131. package/dist/models/GetEmailDelivery.d.ts +123 -0
  132. package/dist/models/GetEmailDelivery.js +101 -0
  133. package/dist/models/GetEmailDeliveryList.d.ts +51 -0
  134. package/dist/models/GetEmailDeliveryList.js +63 -0
  135. package/dist/models/GetEmailTemplate.d.ts +74 -0
  136. package/dist/models/GetEmailTemplate.js +78 -0
  137. package/dist/models/GetEmailTemplateList.d.ts +33 -0
  138. package/dist/models/GetEmailTemplateList.js +51 -0
  139. package/dist/models/GetEmailTemplatePreview.d.ts +44 -0
  140. package/dist/models/GetEmailTemplatePreview.js +58 -0
  141. package/dist/models/GetResource.d.ts +118 -0
  142. package/dist/models/GetResource.js +102 -0
  143. package/dist/models/GetResourceList.d.ts +57 -0
  144. package/dist/models/GetResourceList.js +67 -0
  145. package/dist/models/GetResourceUsage.d.ts +63 -0
  146. package/dist/models/GetResourceUsage.js +71 -0
  147. package/dist/models/GetResourceUsageCoursesInner.d.ts +63 -0
  148. package/dist/models/GetResourceUsageCoursesInner.js +71 -0
  149. package/dist/models/GetResourceVersionUpload.d.ts +38 -0
  150. package/dist/models/GetResourceVersionUpload.js +54 -0
  151. package/dist/models/PostCourseDraft.d.ts +32 -0
  152. package/dist/models/PostCourseDraft.js +48 -0
  153. package/dist/models/PostCourseVersionItem.d.ts +97 -0
  154. package/dist/models/PostCourseVersionItem.js +79 -0
  155. package/dist/models/PostCourseVersionItemSession.d.ts +32 -0
  156. package/dist/models/PostCourseVersionItemSession.js +48 -0
  157. package/dist/models/PostCourseVersionPublish.d.ts +32 -0
  158. package/dist/models/PostCourseVersionPublish.js +48 -0
  159. package/dist/models/PostEmailAssetComplete.d.ts +32 -0
  160. package/dist/models/PostEmailAssetComplete.js +50 -0
  161. package/dist/models/PostEmailAssetUpload.d.ts +54 -0
  162. package/dist/models/PostEmailAssetUpload.js +68 -0
  163. package/dist/models/PostEmailTemplatePreview.d.ts +64 -0
  164. package/dist/models/PostEmailTemplatePreview.js +62 -0
  165. package/dist/models/PostEmailTemplateTestSend.d.ts +32 -0
  166. package/dist/models/PostEmailTemplateTestSend.js +50 -0
  167. package/dist/models/PostResource.d.ts +58 -0
  168. package/dist/models/PostResource.js +62 -0
  169. package/dist/models/PostResourceVersion.d.ts +45 -0
  170. package/dist/models/PostResourceVersion.js +53 -0
  171. package/dist/models/PostResourceVersionComplete.d.ts +32 -0
  172. package/dist/models/PostResourceVersionComplete.js +50 -0
  173. package/dist/models/PostResourceVersionUpload.d.ts +50 -0
  174. package/dist/models/PostResourceVersionUpload.js +62 -0
  175. package/dist/models/PutCourseVersionItem.d.ts +85 -0
  176. package/dist/models/PutCourseVersionItem.js +71 -0
  177. package/dist/models/PutEmailTemplateDraft.d.ts +64 -0
  178. package/dist/models/PutEmailTemplateDraft.js +62 -0
  179. package/dist/models/PutResource.d.ts +38 -0
  180. package/dist/models/PutResource.js +50 -0
  181. package/dist/models/PutResourceVersion.d.ts +53 -0
  182. package/dist/models/PutResourceVersion.js +55 -0
  183. package/dist/models/ResourceType.d.ts +32 -0
  184. package/dist/models/ResourceType.js +58 -0
  185. package/dist/models/index.d.ts +40 -0
  186. package/dist/models/index.js +40 -0
  187. package/docs/ContentLibraryApi.md +1132 -0
  188. package/docs/ContentLibraryVersionStatus.md +33 -0
  189. package/docs/CourseApi.md +797 -96
  190. package/docs/EmailTemplateApi.md +2097 -0
  191. package/docs/EmailTemplateDefinition.md +44 -0
  192. package/docs/EmailTemplateScope.md +32 -0
  193. package/docs/EmailTemplateVariable.md +40 -0
  194. package/docs/EmailTemplateVersion.md +56 -0
  195. package/docs/GetContentLibraryVersion.md +64 -0
  196. package/docs/GetCourseVersion.md +56 -0
  197. package/docs/GetCourseVersionItem.md +62 -0
  198. package/docs/GetCourseVersionItemLaunch.md +56 -0
  199. package/docs/GetCourseVersionItemSession.md +65 -0
  200. package/docs/GetCourseVersionList.md +34 -0
  201. package/docs/GetCourseVersionModule.md +44 -0
  202. package/docs/GetEmailAssetUpload.md +40 -0
  203. package/docs/GetEmailDelivery.md +60 -0
  204. package/docs/GetEmailDeliveryList.md +40 -0
  205. package/docs/GetEmailTemplate.md +44 -0
  206. package/docs/GetEmailTemplateList.md +34 -0
  207. package/docs/GetEmailTemplatePreview.md +38 -0
  208. package/docs/GetResource.md +62 -0
  209. package/docs/GetResourceList.md +42 -0
  210. package/docs/GetResourceUsage.md +44 -0
  211. package/docs/GetResourceUsageCoursesInner.md +44 -0
  212. package/docs/GetResourceVersionUpload.md +36 -0
  213. package/docs/PlayerApi.md +480 -0
  214. package/docs/PostCourseDraft.md +34 -0
  215. package/docs/PostCourseVersionItem.md +52 -0
  216. package/docs/PostCourseVersionItemSession.md +35 -0
  217. package/docs/PostCourseVersionPublish.md +34 -0
  218. package/docs/PostEmailAssetComplete.md +34 -0
  219. package/docs/PostEmailAssetUpload.md +38 -0
  220. package/docs/PostEmailTemplatePreview.md +44 -0
  221. package/docs/PostEmailTemplateTestSend.md +34 -0
  222. package/docs/PostResource.md +42 -0
  223. package/docs/PostResourceVersion.md +38 -0
  224. package/docs/PostResourceVersionComplete.md +34 -0
  225. package/docs/PostResourceVersionUpload.md +40 -0
  226. package/docs/PutCourseVersionItem.md +48 -0
  227. package/docs/PutEmailTemplateDraft.md +44 -0
  228. package/docs/PutResource.md +36 -0
  229. package/docs/PutResourceVersion.md +40 -0
  230. package/docs/ResourceType.md +33 -0
  231. package/package.json +1 -1
  232. package/src/apis/ContentLibraryApi.ts +1024 -0
  233. package/src/apis/CourseApi.ts +636 -0
  234. package/src/apis/EmailTemplateApi.ts +1702 -0
  235. package/src/apis/PlayerApi.ts +400 -0
  236. package/src/apis/index.ts +2 -0
  237. package/src/models/ContentLibraryVersionStatus.ts +54 -0
  238. package/src/models/EmailTemplateDefinition.ts +128 -0
  239. package/src/models/EmailTemplateScope.ts +53 -0
  240. package/src/models/EmailTemplateVariable.ts +105 -0
  241. package/src/models/EmailTemplateVersion.ts +173 -0
  242. package/src/models/GetContentLibraryVersion.ts +209 -0
  243. package/src/models/GetCourseVersion.ts +187 -0
  244. package/src/models/GetCourseVersionItem.ts +215 -0
  245. package/src/models/GetCourseVersionItemLaunch.ts +185 -0
  246. package/src/models/GetCourseVersionItemSession.ts +216 -0
  247. package/src/models/GetCourseVersionList.ts +74 -0
  248. package/src/models/GetCourseVersionModule.ts +126 -0
  249. package/src/models/GetEmailAssetUpload.ts +93 -0
  250. package/src/models/GetEmailDelivery.ts +192 -0
  251. package/src/models/GetEmailDeliveryList.ts +101 -0
  252. package/src/models/GetEmailTemplate.ts +137 -0
  253. package/src/models/GetEmailTemplateList.ts +74 -0
  254. package/src/models/GetEmailTemplatePreview.ts +84 -0
  255. package/src/models/GetResource.ts +206 -0
  256. package/src/models/GetResourceList.ts +110 -0
  257. package/src/models/GetResourceUsage.ts +119 -0
  258. package/src/models/GetResourceUsageCoursesInner.ts +121 -0
  259. package/src/models/GetResourceVersionUpload.ts +75 -0
  260. package/src/models/PostCourseDraft.ts +65 -0
  261. package/src/models/PostCourseVersionItem.ts +158 -0
  262. package/src/models/PostCourseVersionItemSession.ts +65 -0
  263. package/src/models/PostCourseVersionPublish.ts +65 -0
  264. package/src/models/PostEmailAssetComplete.ts +66 -0
  265. package/src/models/PostEmailAssetUpload.ts +97 -0
  266. package/src/models/PostEmailTemplatePreview.ts +107 -0
  267. package/src/models/PostEmailTemplateTestSend.ts +66 -0
  268. package/src/models/PostResource.ts +116 -0
  269. package/src/models/PostResourceVersion.ts +89 -0
  270. package/src/models/PostResourceVersionComplete.ts +66 -0
  271. package/src/models/PostResourceVersionUpload.ts +93 -0
  272. package/src/models/PutCourseVersionItem.ts +140 -0
  273. package/src/models/PutEmailTemplateDraft.ts +107 -0
  274. package/src/models/PutResource.ts +73 -0
  275. package/src/models/PutResourceVersion.ts +97 -0
  276. package/src/models/ResourceType.ts +60 -0
  277. package/src/models/index.ts +40 -0
package/docs/CourseApi.md CHANGED
@@ -8,22 +8,32 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
8
8
  | [**deleteCourseEnrollment**](CourseApi.md#deletecourseenrollment) | **DELETE** /courses/{courseId}/enrollments/{enrollmentId} | Remove a course enrollment |
9
9
  | [**deleteCourseExport**](CourseApi.md#deletecourseexport) | **DELETE** /courses/{courseId}/exports/{exportId} | Delete a course export |
10
10
  | [**deleteCourseImage**](CourseApi.md#deletecourseimage) | **DELETE** /courses/{courseId}/image | Remove the course image |
11
+ | [**deleteCourseVersionItem**](CourseApi.md#deletecourseversionitem) | **DELETE** /courses/{courseId}/draft/items/{itemId} | Remove a placement from the course draft |
11
12
  | [**downloadCourseExport**](CourseApi.md#downloadcourseexport) | **GET** /courses/{courseId}/exports/{exportId}/download | Download a completed course export |
12
13
  | [**getCourse**](CourseApi.md#getcourse) | **GET** /courses/{courseId} | get course |
14
+ | [**getCourseDraft**](CourseApi.md#getcoursedraft) | **GET** /courses/{courseId}/draft | Get the current course draft |
13
15
  | [**getCourseEnrollment**](CourseApi.md#getcourseenrollment) | **GET** /courses/{courseId}/enrollments/{enrollmentId} | Get a specific course enrollment |
14
16
  | [**getCourseEnrollments**](CourseApi.md#getcourseenrollments) | **GET** /courses/{courseId}/enrollments | Get course enrollments |
15
17
  | [**getCourseExport**](CourseApi.md#getcourseexport) | **GET** /courses/{courseId}/exports/{exportId} | Get details of a specific SCORM export |
16
18
  | [**getCourseExports**](CourseApi.md#getcourseexports) | **GET** /courses/{courseId}/exports | List all SCORM exports for a course |
17
19
  | [**getCourseList**](CourseApi.md#getcourselist) | **GET** /courses | get course list |
18
20
  | [**getCourseReportingBasic**](CourseApi.md#getcoursereportingbasic) | **GET** /courses/{courseId}/reporting/basic | Get basic course reporting data |
21
+ | [**getCourseVersionItemLaunch**](CourseApi.md#getcourseversionitemlaunch) | **GET** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/launch | Resolve the exact immutable resource launch selected by a course version |
22
+ | [**getCourseVersionList**](CourseApi.md#getcourseversionlist) | **GET** /courses/{courseId}/versions | List immutable course versions and the current draft |
19
23
  | [**postCourse**](CourseApi.md#postcourse) | **POST** /courses | Post a new course |
24
+ | [**postCourseDraft**](CourseApi.md#postcoursedraft) | **POST** /courses/{courseId}/draft | Create or return the single editable course draft |
25
+ | [**postCourseDraftResourceUpdateAll**](CourseApi.md#postcoursedraftresourceupdateall) | **POST** /courses/{courseId}/draft/resources/update-all | Update all draft resource placements to their latest published versions |
20
26
  | [**postCourseDuplicate**](CourseApi.md#postcourseduplicate) | **POST** /courses/{courseId}/duplicate | Duplicate a course |
21
27
  | [**postCourseEnrollment**](CourseApi.md#postcourseenrollment) | **POST** /courses/{courseId}/enrollments | Create a new course enrollment |
22
28
  | [**postCourseExport**](CourseApi.md#postcourseexport) | **POST** /courses/{courseId}/exports | Create a new SCORM export for a course |
23
29
  | [**postCourseImageUpload**](CourseApi.md#postcourseimageupload) | **POST** /courses/{courseId}/image | Upload a course image |
24
30
  | [**postCourseResume**](CourseApi.md#postcourseresume) | **POST** /courses/{courseId}/resume | Resume the current learner\'s progress in a course |
31
+ | [**postCourseVersionItem**](CourseApi.md#postcourseversionitem) | **POST** /courses/{courseId}/draft/items | Add a specific Content Library version to the course draft |
32
+ | [**postCourseVersionItemSession**](CourseApi.md#postcourseversionitemsession) | **POST** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/sessions | Start or resume a version-pinned resource attempt |
33
+ | [**postCourseVersionPublish**](CourseApi.md#postcourseversionpublish) | **POST** /courses/{courseId}/versions/{courseVersionId}/publish | Publish an immutable course version |
25
34
  | [**putCourse**](CourseApi.md#putcourse) | **PUT** /courses/{courseId} | Update a course by id |
26
35
  | [**putCourseEnrollment**](CourseApi.md#putcourseenrollment) | **PUT** /courses/{courseId}/enrollments/{enrollmentId} | Update a course enrollment |
36
+ | [**putCourseVersionItem**](CourseApi.md#putcourseversionitem) | **PUT** /courses/{courseId}/draft/items/{itemId} | Change draft placement settings or selected version |
27
37
 
28
38
 
29
39
 
@@ -301,6 +311,74 @@ No authorization required
301
311
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
302
312
 
303
313
 
314
+ ## deleteCourseVersionItem
315
+
316
+ > deleteCourseVersionItem(courseId, itemId)
317
+
318
+ Remove a placement from the course draft
319
+
320
+ ### Example
321
+
322
+ ```ts
323
+ import {
324
+ Configuration,
325
+ CourseApi,
326
+ } from '@easyedu/js-lsm-api';
327
+ import type { DeleteCourseVersionItemRequest } from '@easyedu/js-lsm-api';
328
+
329
+ async function example() {
330
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
331
+ const api = new CourseApi();
332
+
333
+ const body = {
334
+ // string
335
+ courseId: courseId_example,
336
+ // string
337
+ itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
338
+ } satisfies DeleteCourseVersionItemRequest;
339
+
340
+ try {
341
+ const data = await api.deleteCourseVersionItem(body);
342
+ console.log(data);
343
+ } catch (error) {
344
+ console.error(error);
345
+ }
346
+ }
347
+
348
+ // Run the test
349
+ example().catch(console.error);
350
+ ```
351
+
352
+ ### Parameters
353
+
354
+
355
+ | Name | Type | Description | Notes |
356
+ |------------- | ------------- | ------------- | -------------|
357
+ | **courseId** | `string` | | [Defaults to `undefined`] |
358
+ | **itemId** | `string` | | [Defaults to `undefined`] |
359
+
360
+ ### Return type
361
+
362
+ `void` (Empty response body)
363
+
364
+ ### Authorization
365
+
366
+ No authorization required
367
+
368
+ ### HTTP request headers
369
+
370
+ - **Content-Type**: Not defined
371
+ - **Accept**: Not defined
372
+
373
+
374
+ ### HTTP response details
375
+ | Status code | Description | Response headers |
376
+ |-------------|-------------|------------------|
377
+ | **204** | Placement removed | - |
378
+
379
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
380
+
381
+
304
382
  ## downloadCourseExport
305
383
 
306
384
  > Blob downloadCourseExport(courseId, exportId)
@@ -437,6 +515,72 @@ No authorization required
437
515
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
438
516
 
439
517
 
518
+ ## getCourseDraft
519
+
520
+ > GetCourseVersion getCourseDraft(courseId)
521
+
522
+ Get the current course draft
523
+
524
+ ### Example
525
+
526
+ ```ts
527
+ import {
528
+ Configuration,
529
+ CourseApi,
530
+ } from '@easyedu/js-lsm-api';
531
+ import type { GetCourseDraftRequest } from '@easyedu/js-lsm-api';
532
+
533
+ async function example() {
534
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
535
+ const api = new CourseApi();
536
+
537
+ const body = {
538
+ // string
539
+ courseId: courseId_example,
540
+ } satisfies GetCourseDraftRequest;
541
+
542
+ try {
543
+ const data = await api.getCourseDraft(body);
544
+ console.log(data);
545
+ } catch (error) {
546
+ console.error(error);
547
+ }
548
+ }
549
+
550
+ // Run the test
551
+ example().catch(console.error);
552
+ ```
553
+
554
+ ### Parameters
555
+
556
+
557
+ | Name | Type | Description | Notes |
558
+ |------------- | ------------- | ------------- | -------------|
559
+ | **courseId** | `string` | | [Defaults to `undefined`] |
560
+
561
+ ### Return type
562
+
563
+ [**GetCourseVersion**](GetCourseVersion.md)
564
+
565
+ ### Authorization
566
+
567
+ No authorization required
568
+
569
+ ### HTTP request headers
570
+
571
+ - **Content-Type**: Not defined
572
+ - **Accept**: `application/json`
573
+
574
+
575
+ ### HTTP response details
576
+ | Status code | Description | Response headers |
577
+ |-------------|-------------|------------------|
578
+ | **200** | Current course draft | - |
579
+ | **404** | No draft exists | - |
580
+
581
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
582
+
583
+
440
584
  ## getCourseEnrollment
441
585
 
442
586
  > GetCourseEnrollment getCourseEnrollment(courseId, enrollmentId)
@@ -870,11 +1014,11 @@ No authorization required
870
1014
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
871
1015
 
872
1016
 
873
- ## postCourse
1017
+ ## getCourseVersionItemLaunch
874
1018
 
875
- > GetCourse postCourse(postCourse)
1019
+ > GetCourseVersionItemLaunch getCourseVersionItemLaunch(courseId, courseVersionId, itemId)
876
1020
 
877
- Post a new course
1021
+ Resolve the exact immutable resource launch selected by a course version
878
1022
 
879
1023
  ### Example
880
1024
 
@@ -883,19 +1027,23 @@ import {
883
1027
  Configuration,
884
1028
  CourseApi,
885
1029
  } from '@easyedu/js-lsm-api';
886
- import type { PostCourseRequest } from '@easyedu/js-lsm-api';
1030
+ import type { GetCourseVersionItemLaunchRequest } from '@easyedu/js-lsm-api';
887
1031
 
888
1032
  async function example() {
889
1033
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
890
1034
  const api = new CourseApi();
891
1035
 
892
1036
  const body = {
893
- // PostCourse | Course object that needs to be added
894
- postCourse: ...,
895
- } satisfies PostCourseRequest;
1037
+ // string
1038
+ courseId: courseId_example,
1039
+ // string
1040
+ courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1041
+ // string
1042
+ itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1043
+ } satisfies GetCourseVersionItemLaunchRequest;
896
1044
 
897
1045
  try {
898
- const data = await api.postCourse(body);
1046
+ const data = await api.getCourseVersionItemLaunch(body);
899
1047
  console.log(data);
900
1048
  } catch (error) {
901
1049
  console.error(error);
@@ -911,11 +1059,13 @@ example().catch(console.error);
911
1059
 
912
1060
  | Name | Type | Description | Notes |
913
1061
  |------------- | ------------- | ------------- | -------------|
914
- | **postCourse** | [PostCourse](PostCourse.md) | Course object that needs to be added | |
1062
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1063
+ | **courseVersionId** | `string` | | [Defaults to `undefined`] |
1064
+ | **itemId** | `string` | | [Defaults to `undefined`] |
915
1065
 
916
1066
  ### Return type
917
1067
 
918
- [**GetCourse**](GetCourse.md)
1068
+ [**GetCourseVersionItemLaunch**](GetCourseVersionItemLaunch.md)
919
1069
 
920
1070
  ### Authorization
921
1071
 
@@ -923,25 +1073,24 @@ No authorization required
923
1073
 
924
1074
  ### HTTP request headers
925
1075
 
926
- - **Content-Type**: `application/json`
1076
+ - **Content-Type**: Not defined
927
1077
  - **Accept**: `application/json`
928
1078
 
929
1079
 
930
1080
  ### HTTP response details
931
1081
  | Status code | Description | Response headers |
932
1082
  |-------------|-------------|------------------|
933
- | **200** | post course response OK | - |
1083
+ | **200** | Pinned resource launch descriptor | - |
1084
+ | **403** | Learner is not assigned to this course version | - |
934
1085
 
935
1086
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
936
1087
 
937
1088
 
938
- ## postCourseDuplicate
939
-
940
- > GetCourse postCourseDuplicate(courseId, postDuplicate)
1089
+ ## getCourseVersionList
941
1090
 
942
- Duplicate a course
1091
+ > GetCourseVersionList getCourseVersionList(courseId)
943
1092
 
944
- Deep-clones a course including all modules, content, versions, SCORM hierarchy, and quiz configuration within the caller\'s portal.
1093
+ List immutable course versions and the current draft
945
1094
 
946
1095
  ### Example
947
1096
 
@@ -950,7 +1099,7 @@ import {
950
1099
  Configuration,
951
1100
  CourseApi,
952
1101
  } from '@easyedu/js-lsm-api';
953
- import type { PostCourseDuplicateRequest } from '@easyedu/js-lsm-api';
1102
+ import type { GetCourseVersionListRequest } from '@easyedu/js-lsm-api';
954
1103
 
955
1104
  async function example() {
956
1105
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
@@ -959,12 +1108,10 @@ async function example() {
959
1108
  const body = {
960
1109
  // string
961
1110
  courseId: courseId_example,
962
- // PostDuplicate (optional)
963
- postDuplicate: ...,
964
- } satisfies PostCourseDuplicateRequest;
1111
+ } satisfies GetCourseVersionListRequest;
965
1112
 
966
1113
  try {
967
- const data = await api.postCourseDuplicate(body);
1114
+ const data = await api.getCourseVersionList(body);
968
1115
  console.log(data);
969
1116
  } catch (error) {
970
1117
  console.error(error);
@@ -981,11 +1128,10 @@ example().catch(console.error);
981
1128
  | Name | Type | Description | Notes |
982
1129
  |------------- | ------------- | ------------- | -------------|
983
1130
  | **courseId** | `string` | | [Defaults to `undefined`] |
984
- | **postDuplicate** | [PostDuplicate](PostDuplicate.md) | | [Optional] |
985
1131
 
986
1132
  ### Return type
987
1133
 
988
- [**GetCourse**](GetCourse.md)
1134
+ [**GetCourseVersionList**](GetCourseVersionList.md)
989
1135
 
990
1136
  ### Authorization
991
1137
 
@@ -993,24 +1139,23 @@ No authorization required
993
1139
 
994
1140
  ### HTTP request headers
995
1141
 
996
- - **Content-Type**: `application/json`
1142
+ - **Content-Type**: Not defined
997
1143
  - **Accept**: `application/json`
998
1144
 
999
1145
 
1000
1146
  ### HTTP response details
1001
1147
  | Status code | Description | Response headers |
1002
1148
  |-------------|-------------|------------------|
1003
- | **201** | Course duplicated successfully | - |
1004
- | **404** | Course not found | - |
1149
+ | **200** | Course versions | - |
1005
1150
 
1006
1151
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1007
1152
 
1008
1153
 
1009
- ## postCourseEnrollment
1154
+ ## postCourse
1010
1155
 
1011
- > GetCourseEnrollment postCourseEnrollment(courseId, postCourseEnrollment)
1156
+ > GetCourse postCourse(postCourse)
1012
1157
 
1013
- Create a new course enrollment
1158
+ Post a new course
1014
1159
 
1015
1160
  ### Example
1016
1161
 
@@ -1019,21 +1164,19 @@ import {
1019
1164
  Configuration,
1020
1165
  CourseApi,
1021
1166
  } from '@easyedu/js-lsm-api';
1022
- import type { PostCourseEnrollmentRequest } from '@easyedu/js-lsm-api';
1167
+ import type { PostCourseRequest } from '@easyedu/js-lsm-api';
1023
1168
 
1024
1169
  async function example() {
1025
1170
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1026
1171
  const api = new CourseApi();
1027
1172
 
1028
1173
  const body = {
1029
- // string
1030
- courseId: courseId_example,
1031
- // PostCourseEnrollment | Course enrollment object that needs to be added
1032
- postCourseEnrollment: ...,
1033
- } satisfies PostCourseEnrollmentRequest;
1174
+ // PostCourse | Course object that needs to be added
1175
+ postCourse: ...,
1176
+ } satisfies PostCourseRequest;
1034
1177
 
1035
1178
  try {
1036
- const data = await api.postCourseEnrollment(body);
1179
+ const data = await api.postCourse(body);
1037
1180
  console.log(data);
1038
1181
  } catch (error) {
1039
1182
  console.error(error);
@@ -1049,12 +1192,11 @@ example().catch(console.error);
1049
1192
 
1050
1193
  | Name | Type | Description | Notes |
1051
1194
  |------------- | ------------- | ------------- | -------------|
1052
- | **courseId** | `string` | | [Defaults to `undefined`] |
1053
- | **postCourseEnrollment** | [PostCourseEnrollment](PostCourseEnrollment.md) | Course enrollment object that needs to be added | |
1195
+ | **postCourse** | [PostCourse](PostCourse.md) | Course object that needs to be added | |
1054
1196
 
1055
1197
  ### Return type
1056
1198
 
1057
- [**GetCourseEnrollment**](GetCourseEnrollment.md)
1199
+ [**GetCourse**](GetCourse.md)
1058
1200
 
1059
1201
  ### Authorization
1060
1202
 
@@ -1069,18 +1211,16 @@ No authorization required
1069
1211
  ### HTTP response details
1070
1212
  | Status code | Description | Response headers |
1071
1213
  |-------------|-------------|------------------|
1072
- | **200** | post course enrollment response OK | - |
1214
+ | **200** | post course response OK | - |
1073
1215
 
1074
1216
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1075
1217
 
1076
1218
 
1077
- ## postCourseExport
1078
-
1079
- > GetCourseExport postCourseExport(courseId, postCourseExport)
1219
+ ## postCourseDraft
1080
1220
 
1081
- Create a new SCORM export for a course
1221
+ > GetCourseVersion postCourseDraft(courseId, postCourseDraft)
1082
1222
 
1083
- Enqueues a job to generate a SCORM export package for the course. Returns immediately with PENDING status. **NOTES:** - This endpoint enqueues a background job to generate the SCORM package - Actual SCORM package generation is not yet implemented (TODO) - Export metadata should be persisted to a database table (TODO) - Poll GET /courses/{courseId}/exports/{exportId} to check status - Download URL will be available when status becomes COMPLETED
1223
+ Create or return the single editable course draft
1084
1224
 
1085
1225
  ### Example
1086
1226
 
@@ -1089,7 +1229,7 @@ import {
1089
1229
  Configuration,
1090
1230
  CourseApi,
1091
1231
  } from '@easyedu/js-lsm-api';
1092
- import type { PostCourseExportRequest } from '@easyedu/js-lsm-api';
1232
+ import type { PostCourseDraftRequest } from '@easyedu/js-lsm-api';
1093
1233
 
1094
1234
  async function example() {
1095
1235
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
@@ -1098,12 +1238,12 @@ async function example() {
1098
1238
  const body = {
1099
1239
  // string
1100
1240
  courseId: courseId_example,
1101
- // PostCourseExport | SCORM export request
1102
- postCourseExport: ...,
1103
- } satisfies PostCourseExportRequest;
1241
+ // PostCourseDraft (optional)
1242
+ postCourseDraft: ...,
1243
+ } satisfies PostCourseDraftRequest;
1104
1244
 
1105
1245
  try {
1106
- const data = await api.postCourseExport(body);
1246
+ const data = await api.postCourseDraft(body);
1107
1247
  console.log(data);
1108
1248
  } catch (error) {
1109
1249
  console.error(error);
@@ -1120,11 +1260,11 @@ example().catch(console.error);
1120
1260
  | Name | Type | Description | Notes |
1121
1261
  |------------- | ------------- | ------------- | -------------|
1122
1262
  | **courseId** | `string` | | [Defaults to `undefined`] |
1123
- | **postCourseExport** | [PostCourseExport](PostCourseExport.md) | SCORM export request | |
1263
+ | **postCourseDraft** | [PostCourseDraft](PostCourseDraft.md) | | [Optional] |
1124
1264
 
1125
1265
  ### Return type
1126
1266
 
1127
- [**GetCourseExport**](GetCourseExport.md)
1267
+ [**GetCourseVersion**](GetCourseVersion.md)
1128
1268
 
1129
1269
  ### Authorization
1130
1270
 
@@ -1139,19 +1279,16 @@ No authorization required
1139
1279
  ### HTTP response details
1140
1280
  | Status code | Description | Response headers |
1141
1281
  |-------------|-------------|------------------|
1142
- | **202** | Export job created successfully | - |
1143
- | **400** | Invalid request | - |
1144
- | **401** | Unauthorized | - |
1145
- | **404** | Course not found | - |
1282
+ | **200** | Existing or newly created course draft | - |
1146
1283
 
1147
1284
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1148
1285
 
1149
1286
 
1150
- ## postCourseImageUpload
1287
+ ## postCourseDraftResourceUpdateAll
1151
1288
 
1152
- > GetCourseImageUpload postCourseImageUpload(courseId, file)
1289
+ > GetCourseVersion postCourseDraftResourceUpdateAll(courseId)
1153
1290
 
1154
- Upload a course image
1291
+ Update all draft resource placements to their latest published versions
1155
1292
 
1156
1293
  ### Example
1157
1294
 
@@ -1160,7 +1297,7 @@ import {
1160
1297
  Configuration,
1161
1298
  CourseApi,
1162
1299
  } from '@easyedu/js-lsm-api';
1163
- import type { PostCourseImageUploadRequest } from '@easyedu/js-lsm-api';
1300
+ import type { PostCourseDraftResourceUpdateAllRequest } from '@easyedu/js-lsm-api';
1164
1301
 
1165
1302
  async function example() {
1166
1303
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
@@ -1169,12 +1306,10 @@ async function example() {
1169
1306
  const body = {
1170
1307
  // string
1171
1308
  courseId: courseId_example,
1172
- // Blob | Course image file (PNG, JPEG, or SVG). Max 5MB.
1173
- file: BINARY_DATA_HERE,
1174
- } satisfies PostCourseImageUploadRequest;
1309
+ } satisfies PostCourseDraftResourceUpdateAllRequest;
1175
1310
 
1176
1311
  try {
1177
- const data = await api.postCourseImageUpload(body);
1312
+ const data = await api.postCourseDraftResourceUpdateAll(body);
1178
1313
  console.log(data);
1179
1314
  } catch (error) {
1180
1315
  console.error(error);
@@ -1191,11 +1326,10 @@ example().catch(console.error);
1191
1326
  | Name | Type | Description | Notes |
1192
1327
  |------------- | ------------- | ------------- | -------------|
1193
1328
  | **courseId** | `string` | | [Defaults to `undefined`] |
1194
- | **file** | `Blob` | Course image file (PNG, JPEG, or SVG). Max 5MB. | [Defaults to `undefined`] |
1195
1329
 
1196
1330
  ### Return type
1197
1331
 
1198
- [**GetCourseImageUpload**](GetCourseImageUpload.md)
1332
+ [**GetCourseVersion**](GetCourseVersion.md)
1199
1333
 
1200
1334
  ### Authorization
1201
1335
 
@@ -1203,27 +1337,25 @@ No authorization required
1203
1337
 
1204
1338
  ### HTTP request headers
1205
1339
 
1206
- - **Content-Type**: `multipart/form-data`
1340
+ - **Content-Type**: Not defined
1207
1341
  - **Accept**: `application/json`
1208
1342
 
1209
1343
 
1210
1344
  ### HTTP response details
1211
1345
  | Status code | Description | Response headers |
1212
1346
  |-------------|-------------|------------------|
1213
- | **200** | Image uploaded successfully | - |
1214
- | **400** | Invalid file type or file too large | - |
1215
- | **404** | Course not found | - |
1347
+ | **200** | Updated course draft | - |
1216
1348
 
1217
1349
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1218
1350
 
1219
1351
 
1220
- ## postCourseResume
1352
+ ## postCourseDuplicate
1221
1353
 
1222
- > PostCourseResume postCourseResume(courseId)
1354
+ > GetCourse postCourseDuplicate(courseId, postDuplicate)
1223
1355
 
1224
- Resume the current learner\'s progress in a course
1356
+ Duplicate a course
1225
1357
 
1226
- Selects the first incomplete published content item in course order, creates or reuses the current live content session, and returns a launch-ready response.
1358
+ Deep-clones a course including all modules, content, versions, SCORM hierarchy, and quiz configuration within the caller\'s portal.
1227
1359
 
1228
1360
  ### Example
1229
1361
 
@@ -1232,7 +1364,7 @@ import {
1232
1364
  Configuration,
1233
1365
  CourseApi,
1234
1366
  } from '@easyedu/js-lsm-api';
1235
- import type { PostCourseResumeRequest } from '@easyedu/js-lsm-api';
1367
+ import type { PostCourseDuplicateRequest } from '@easyedu/js-lsm-api';
1236
1368
 
1237
1369
  async function example() {
1238
1370
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
@@ -1241,10 +1373,12 @@ async function example() {
1241
1373
  const body = {
1242
1374
  // string
1243
1375
  courseId: courseId_example,
1244
- } satisfies PostCourseResumeRequest;
1376
+ // PostDuplicate (optional)
1377
+ postDuplicate: ...,
1378
+ } satisfies PostCourseDuplicateRequest;
1245
1379
 
1246
1380
  try {
1247
- const data = await api.postCourseResume(body);
1381
+ const data = await api.postCourseDuplicate(body);
1248
1382
  console.log(data);
1249
1383
  } catch (error) {
1250
1384
  console.error(error);
@@ -1261,10 +1395,11 @@ example().catch(console.error);
1261
1395
  | Name | Type | Description | Notes |
1262
1396
  |------------- | ------------- | ------------- | -------------|
1263
1397
  | **courseId** | `string` | | [Defaults to `undefined`] |
1398
+ | **postDuplicate** | [PostDuplicate](PostDuplicate.md) | | [Optional] |
1264
1399
 
1265
1400
  ### Return type
1266
1401
 
1267
- [**PostCourseResume**](PostCourseResume.md)
1402
+ [**GetCourse**](GetCourse.md)
1268
1403
 
1269
1404
  ### Authorization
1270
1405
 
@@ -1272,27 +1407,24 @@ No authorization required
1272
1407
 
1273
1408
  ### HTTP request headers
1274
1409
 
1275
- - **Content-Type**: Not defined
1410
+ - **Content-Type**: `application/json`
1276
1411
  - **Accept**: `application/json`
1277
1412
 
1278
1413
 
1279
1414
  ### HTTP response details
1280
1415
  | Status code | Description | Response headers |
1281
1416
  |-------------|-------------|------------------|
1282
- | **200** | Launch-ready course resume target | - |
1283
- | **204** | No incomplete published content remains in the course | - |
1284
- | **401** | Unauthorized | - |
1285
- | **403** | Forbidden | - |
1417
+ | **201** | Course duplicated successfully | - |
1286
1418
  | **404** | Course not found | - |
1287
1419
 
1288
1420
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1289
1421
 
1290
1422
 
1291
- ## putCourse
1423
+ ## postCourseEnrollment
1292
1424
 
1293
- > GetCourse putCourse(courseId, putCourse)
1425
+ > GetCourseEnrollment postCourseEnrollment(courseId, postCourseEnrollment)
1294
1426
 
1295
- Update a course by id
1427
+ Create a new course enrollment
1296
1428
 
1297
1429
  ### Example
1298
1430
 
@@ -1301,7 +1433,7 @@ import {
1301
1433
  Configuration,
1302
1434
  CourseApi,
1303
1435
  } from '@easyedu/js-lsm-api';
1304
- import type { PutCourseRequest } from '@easyedu/js-lsm-api';
1436
+ import type { PostCourseEnrollmentRequest } from '@easyedu/js-lsm-api';
1305
1437
 
1306
1438
  async function example() {
1307
1439
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
@@ -1310,12 +1442,12 @@ async function example() {
1310
1442
  const body = {
1311
1443
  // string
1312
1444
  courseId: courseId_example,
1313
- // PutCourse | Course object that needs to be updated
1314
- putCourse: ...,
1315
- } satisfies PutCourseRequest;
1445
+ // PostCourseEnrollment | Course enrollment object that needs to be added
1446
+ postCourseEnrollment: ...,
1447
+ } satisfies PostCourseEnrollmentRequest;
1316
1448
 
1317
1449
  try {
1318
- const data = await api.putCourse(body);
1450
+ const data = await api.postCourseEnrollment(body);
1319
1451
  console.log(data);
1320
1452
  } catch (error) {
1321
1453
  console.error(error);
@@ -1332,11 +1464,11 @@ example().catch(console.error);
1332
1464
  | Name | Type | Description | Notes |
1333
1465
  |------------- | ------------- | ------------- | -------------|
1334
1466
  | **courseId** | `string` | | [Defaults to `undefined`] |
1335
- | **putCourse** | [PutCourse](PutCourse.md) | Course object that needs to be updated | |
1467
+ | **postCourseEnrollment** | [PostCourseEnrollment](PostCourseEnrollment.md) | Course enrollment object that needs to be added | |
1336
1468
 
1337
1469
  ### Return type
1338
1470
 
1339
- [**GetCourse**](GetCourse.md)
1471
+ [**GetCourseEnrollment**](GetCourseEnrollment.md)
1340
1472
 
1341
1473
  ### Authorization
1342
1474
 
@@ -1351,12 +1483,510 @@ No authorization required
1351
1483
  ### HTTP response details
1352
1484
  | Status code | Description | Response headers |
1353
1485
  |-------------|-------------|------------------|
1354
- | **200** | put course response OK | - |
1486
+ | **200** | post course enrollment response OK | - |
1355
1487
 
1356
1488
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1357
1489
 
1358
1490
 
1359
- ## putCourseEnrollment
1491
+ ## postCourseExport
1492
+
1493
+ > GetCourseExport postCourseExport(courseId, postCourseExport)
1494
+
1495
+ Create a new SCORM export for a course
1496
+
1497
+ Enqueues a job to generate a SCORM export package for the course. Returns immediately with PENDING status. **NOTES:** - This endpoint enqueues a background job to generate the SCORM package - Actual SCORM package generation is not yet implemented (TODO) - Export metadata should be persisted to a database table (TODO) - Poll GET /courses/{courseId}/exports/{exportId} to check status - Download URL will be available when status becomes COMPLETED
1498
+
1499
+ ### Example
1500
+
1501
+ ```ts
1502
+ import {
1503
+ Configuration,
1504
+ CourseApi,
1505
+ } from '@easyedu/js-lsm-api';
1506
+ import type { PostCourseExportRequest } from '@easyedu/js-lsm-api';
1507
+
1508
+ async function example() {
1509
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1510
+ const api = new CourseApi();
1511
+
1512
+ const body = {
1513
+ // string
1514
+ courseId: courseId_example,
1515
+ // PostCourseExport | SCORM export request
1516
+ postCourseExport: ...,
1517
+ } satisfies PostCourseExportRequest;
1518
+
1519
+ try {
1520
+ const data = await api.postCourseExport(body);
1521
+ console.log(data);
1522
+ } catch (error) {
1523
+ console.error(error);
1524
+ }
1525
+ }
1526
+
1527
+ // Run the test
1528
+ example().catch(console.error);
1529
+ ```
1530
+
1531
+ ### Parameters
1532
+
1533
+
1534
+ | Name | Type | Description | Notes |
1535
+ |------------- | ------------- | ------------- | -------------|
1536
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1537
+ | **postCourseExport** | [PostCourseExport](PostCourseExport.md) | SCORM export request | |
1538
+
1539
+ ### Return type
1540
+
1541
+ [**GetCourseExport**](GetCourseExport.md)
1542
+
1543
+ ### Authorization
1544
+
1545
+ No authorization required
1546
+
1547
+ ### HTTP request headers
1548
+
1549
+ - **Content-Type**: `application/json`
1550
+ - **Accept**: `application/json`
1551
+
1552
+
1553
+ ### HTTP response details
1554
+ | Status code | Description | Response headers |
1555
+ |-------------|-------------|------------------|
1556
+ | **202** | Export job created successfully | - |
1557
+ | **400** | Invalid request | - |
1558
+ | **401** | Unauthorized | - |
1559
+ | **404** | Course not found | - |
1560
+
1561
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1562
+
1563
+
1564
+ ## postCourseImageUpload
1565
+
1566
+ > GetCourseImageUpload postCourseImageUpload(courseId, file)
1567
+
1568
+ Upload a course image
1569
+
1570
+ ### Example
1571
+
1572
+ ```ts
1573
+ import {
1574
+ Configuration,
1575
+ CourseApi,
1576
+ } from '@easyedu/js-lsm-api';
1577
+ import type { PostCourseImageUploadRequest } from '@easyedu/js-lsm-api';
1578
+
1579
+ async function example() {
1580
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1581
+ const api = new CourseApi();
1582
+
1583
+ const body = {
1584
+ // string
1585
+ courseId: courseId_example,
1586
+ // Blob | Course image file (PNG, JPEG, or SVG). Max 5MB.
1587
+ file: BINARY_DATA_HERE,
1588
+ } satisfies PostCourseImageUploadRequest;
1589
+
1590
+ try {
1591
+ const data = await api.postCourseImageUpload(body);
1592
+ console.log(data);
1593
+ } catch (error) {
1594
+ console.error(error);
1595
+ }
1596
+ }
1597
+
1598
+ // Run the test
1599
+ example().catch(console.error);
1600
+ ```
1601
+
1602
+ ### Parameters
1603
+
1604
+
1605
+ | Name | Type | Description | Notes |
1606
+ |------------- | ------------- | ------------- | -------------|
1607
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1608
+ | **file** | `Blob` | Course image file (PNG, JPEG, or SVG). Max 5MB. | [Defaults to `undefined`] |
1609
+
1610
+ ### Return type
1611
+
1612
+ [**GetCourseImageUpload**](GetCourseImageUpload.md)
1613
+
1614
+ ### Authorization
1615
+
1616
+ No authorization required
1617
+
1618
+ ### HTTP request headers
1619
+
1620
+ - **Content-Type**: `multipart/form-data`
1621
+ - **Accept**: `application/json`
1622
+
1623
+
1624
+ ### HTTP response details
1625
+ | Status code | Description | Response headers |
1626
+ |-------------|-------------|------------------|
1627
+ | **200** | Image uploaded successfully | - |
1628
+ | **400** | Invalid file type or file too large | - |
1629
+ | **404** | Course not found | - |
1630
+
1631
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1632
+
1633
+
1634
+ ## postCourseResume
1635
+
1636
+ > PostCourseResume postCourseResume(courseId)
1637
+
1638
+ Resume the current learner\'s progress in a course
1639
+
1640
+ Selects the first incomplete published content item in course order, creates or reuses the current live content session, and returns a launch-ready response.
1641
+
1642
+ ### Example
1643
+
1644
+ ```ts
1645
+ import {
1646
+ Configuration,
1647
+ CourseApi,
1648
+ } from '@easyedu/js-lsm-api';
1649
+ import type { PostCourseResumeRequest } from '@easyedu/js-lsm-api';
1650
+
1651
+ async function example() {
1652
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1653
+ const api = new CourseApi();
1654
+
1655
+ const body = {
1656
+ // string
1657
+ courseId: courseId_example,
1658
+ } satisfies PostCourseResumeRequest;
1659
+
1660
+ try {
1661
+ const data = await api.postCourseResume(body);
1662
+ console.log(data);
1663
+ } catch (error) {
1664
+ console.error(error);
1665
+ }
1666
+ }
1667
+
1668
+ // Run the test
1669
+ example().catch(console.error);
1670
+ ```
1671
+
1672
+ ### Parameters
1673
+
1674
+
1675
+ | Name | Type | Description | Notes |
1676
+ |------------- | ------------- | ------------- | -------------|
1677
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1678
+
1679
+ ### Return type
1680
+
1681
+ [**PostCourseResume**](PostCourseResume.md)
1682
+
1683
+ ### Authorization
1684
+
1685
+ No authorization required
1686
+
1687
+ ### HTTP request headers
1688
+
1689
+ - **Content-Type**: Not defined
1690
+ - **Accept**: `application/json`
1691
+
1692
+
1693
+ ### HTTP response details
1694
+ | Status code | Description | Response headers |
1695
+ |-------------|-------------|------------------|
1696
+ | **200** | Launch-ready course resume target | - |
1697
+ | **204** | No incomplete published content remains in the course | - |
1698
+ | **401** | Unauthorized | - |
1699
+ | **403** | Forbidden | - |
1700
+ | **404** | Course not found | - |
1701
+
1702
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1703
+
1704
+
1705
+ ## postCourseVersionItem
1706
+
1707
+ > GetCourseVersionItem postCourseVersionItem(courseId, postCourseVersionItem)
1708
+
1709
+ Add a specific Content Library version to the course draft
1710
+
1711
+ ### Example
1712
+
1713
+ ```ts
1714
+ import {
1715
+ Configuration,
1716
+ CourseApi,
1717
+ } from '@easyedu/js-lsm-api';
1718
+ import type { PostCourseVersionItemRequest } from '@easyedu/js-lsm-api';
1719
+
1720
+ async function example() {
1721
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1722
+ const api = new CourseApi();
1723
+
1724
+ const body = {
1725
+ // string
1726
+ courseId: courseId_example,
1727
+ // PostCourseVersionItem
1728
+ postCourseVersionItem: ...,
1729
+ } satisfies PostCourseVersionItemRequest;
1730
+
1731
+ try {
1732
+ const data = await api.postCourseVersionItem(body);
1733
+ console.log(data);
1734
+ } catch (error) {
1735
+ console.error(error);
1736
+ }
1737
+ }
1738
+
1739
+ // Run the test
1740
+ example().catch(console.error);
1741
+ ```
1742
+
1743
+ ### Parameters
1744
+
1745
+
1746
+ | Name | Type | Description | Notes |
1747
+ |------------- | ------------- | ------------- | -------------|
1748
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1749
+ | **postCourseVersionItem** | [PostCourseVersionItem](PostCourseVersionItem.md) | | |
1750
+
1751
+ ### Return type
1752
+
1753
+ [**GetCourseVersionItem**](GetCourseVersionItem.md)
1754
+
1755
+ ### Authorization
1756
+
1757
+ No authorization required
1758
+
1759
+ ### HTTP request headers
1760
+
1761
+ - **Content-Type**: `application/json`
1762
+ - **Accept**: `application/json`
1763
+
1764
+
1765
+ ### HTTP response details
1766
+ | Status code | Description | Response headers |
1767
+ |-------------|-------------|------------------|
1768
+ | **201** | Draft placement created | - |
1769
+
1770
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1771
+
1772
+
1773
+ ## postCourseVersionItemSession
1774
+
1775
+ > GetCourseVersionItemSession postCourseVersionItemSession(courseId, courseVersionId, itemId, postCourseVersionItemSession)
1776
+
1777
+ Start or resume a version-pinned resource attempt
1778
+
1779
+ ### Example
1780
+
1781
+ ```ts
1782
+ import {
1783
+ Configuration,
1784
+ CourseApi,
1785
+ } from '@easyedu/js-lsm-api';
1786
+ import type { PostCourseVersionItemSessionRequest } from '@easyedu/js-lsm-api';
1787
+
1788
+ async function example() {
1789
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1790
+ const api = new CourseApi();
1791
+
1792
+ const body = {
1793
+ // string
1794
+ courseId: courseId_example,
1795
+ // string
1796
+ courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1797
+ // string
1798
+ itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1799
+ // PostCourseVersionItemSession (optional)
1800
+ postCourseVersionItemSession: ...,
1801
+ } satisfies PostCourseVersionItemSessionRequest;
1802
+
1803
+ try {
1804
+ const data = await api.postCourseVersionItemSession(body);
1805
+ console.log(data);
1806
+ } catch (error) {
1807
+ console.error(error);
1808
+ }
1809
+ }
1810
+
1811
+ // Run the test
1812
+ example().catch(console.error);
1813
+ ```
1814
+
1815
+ ### Parameters
1816
+
1817
+
1818
+ | Name | Type | Description | Notes |
1819
+ |------------- | ------------- | ------------- | -------------|
1820
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1821
+ | **courseVersionId** | `string` | | [Defaults to `undefined`] |
1822
+ | **itemId** | `string` | | [Defaults to `undefined`] |
1823
+ | **postCourseVersionItemSession** | [PostCourseVersionItemSession](PostCourseVersionItemSession.md) | | [Optional] |
1824
+
1825
+ ### Return type
1826
+
1827
+ [**GetCourseVersionItemSession**](GetCourseVersionItemSession.md)
1828
+
1829
+ ### Authorization
1830
+
1831
+ No authorization required
1832
+
1833
+ ### HTTP request headers
1834
+
1835
+ - **Content-Type**: `application/json`
1836
+ - **Accept**: `application/json`
1837
+
1838
+
1839
+ ### HTTP response details
1840
+ | Status code | Description | Response headers |
1841
+ |-------------|-------------|------------------|
1842
+ | **200** | Existing current attempt or a newly created attempt | - |
1843
+ | **403** | Learner is not assigned to this course version | - |
1844
+ | **409** | Maximum attempts reached | - |
1845
+
1846
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1847
+
1848
+
1849
+ ## postCourseVersionPublish
1850
+
1851
+ > GetCourseVersion postCourseVersionPublish(courseId, courseVersionId, postCourseVersionPublish)
1852
+
1853
+ Publish an immutable course version
1854
+
1855
+ ### Example
1856
+
1857
+ ```ts
1858
+ import {
1859
+ Configuration,
1860
+ CourseApi,
1861
+ } from '@easyedu/js-lsm-api';
1862
+ import type { PostCourseVersionPublishRequest } from '@easyedu/js-lsm-api';
1863
+
1864
+ async function example() {
1865
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1866
+ const api = new CourseApi();
1867
+
1868
+ const body = {
1869
+ // string
1870
+ courseId: courseId_example,
1871
+ // string
1872
+ courseVersionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1873
+ // PostCourseVersionPublish (optional)
1874
+ postCourseVersionPublish: ...,
1875
+ } satisfies PostCourseVersionPublishRequest;
1876
+
1877
+ try {
1878
+ const data = await api.postCourseVersionPublish(body);
1879
+ console.log(data);
1880
+ } catch (error) {
1881
+ console.error(error);
1882
+ }
1883
+ }
1884
+
1885
+ // Run the test
1886
+ example().catch(console.error);
1887
+ ```
1888
+
1889
+ ### Parameters
1890
+
1891
+
1892
+ | Name | Type | Description | Notes |
1893
+ |------------- | ------------- | ------------- | -------------|
1894
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1895
+ | **courseVersionId** | `string` | | [Defaults to `undefined`] |
1896
+ | **postCourseVersionPublish** | [PostCourseVersionPublish](PostCourseVersionPublish.md) | | [Optional] |
1897
+
1898
+ ### Return type
1899
+
1900
+ [**GetCourseVersion**](GetCourseVersion.md)
1901
+
1902
+ ### Authorization
1903
+
1904
+ No authorization required
1905
+
1906
+ ### HTTP request headers
1907
+
1908
+ - **Content-Type**: `application/json`
1909
+ - **Accept**: `application/json`
1910
+
1911
+
1912
+ ### HTTP response details
1913
+ | Status code | Description | Response headers |
1914
+ |-------------|-------------|------------------|
1915
+ | **200** | Published course version | - |
1916
+ | **409** | Draft contains unpublished, archived, or incomplete resources | - |
1917
+
1918
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1919
+
1920
+
1921
+ ## putCourse
1922
+
1923
+ > GetCourse putCourse(courseId, putCourse)
1924
+
1925
+ Update a course by id
1926
+
1927
+ ### Example
1928
+
1929
+ ```ts
1930
+ import {
1931
+ Configuration,
1932
+ CourseApi,
1933
+ } from '@easyedu/js-lsm-api';
1934
+ import type { PutCourseRequest } from '@easyedu/js-lsm-api';
1935
+
1936
+ async function example() {
1937
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1938
+ const api = new CourseApi();
1939
+
1940
+ const body = {
1941
+ // string
1942
+ courseId: courseId_example,
1943
+ // PutCourse | Course object that needs to be updated
1944
+ putCourse: ...,
1945
+ } satisfies PutCourseRequest;
1946
+
1947
+ try {
1948
+ const data = await api.putCourse(body);
1949
+ console.log(data);
1950
+ } catch (error) {
1951
+ console.error(error);
1952
+ }
1953
+ }
1954
+
1955
+ // Run the test
1956
+ example().catch(console.error);
1957
+ ```
1958
+
1959
+ ### Parameters
1960
+
1961
+
1962
+ | Name | Type | Description | Notes |
1963
+ |------------- | ------------- | ------------- | -------------|
1964
+ | **courseId** | `string` | | [Defaults to `undefined`] |
1965
+ | **putCourse** | [PutCourse](PutCourse.md) | Course object that needs to be updated | |
1966
+
1967
+ ### Return type
1968
+
1969
+ [**GetCourse**](GetCourse.md)
1970
+
1971
+ ### Authorization
1972
+
1973
+ No authorization required
1974
+
1975
+ ### HTTP request headers
1976
+
1977
+ - **Content-Type**: `application/json`
1978
+ - **Accept**: `application/json`
1979
+
1980
+
1981
+ ### HTTP response details
1982
+ | Status code | Description | Response headers |
1983
+ |-------------|-------------|------------------|
1984
+ | **200** | put course response OK | - |
1985
+
1986
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1987
+
1988
+
1989
+ ## putCourseEnrollment
1360
1990
 
1361
1991
  > GetCourseEnrollment putCourseEnrollment(courseId, enrollmentId, putCourseEnrollment)
1362
1992
 
@@ -1426,3 +2056,74 @@ No authorization required
1426
2056
 
1427
2057
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1428
2058
 
2059
+
2060
+ ## putCourseVersionItem
2061
+
2062
+ > GetCourseVersionItem putCourseVersionItem(courseId, itemId, putCourseVersionItem)
2063
+
2064
+ Change draft placement settings or selected version
2065
+
2066
+ ### Example
2067
+
2068
+ ```ts
2069
+ import {
2070
+ Configuration,
2071
+ CourseApi,
2072
+ } from '@easyedu/js-lsm-api';
2073
+ import type { PutCourseVersionItemRequest } from '@easyedu/js-lsm-api';
2074
+
2075
+ async function example() {
2076
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
2077
+ const api = new CourseApi();
2078
+
2079
+ const body = {
2080
+ // string
2081
+ courseId: courseId_example,
2082
+ // string
2083
+ itemId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
2084
+ // PutCourseVersionItem
2085
+ putCourseVersionItem: ...,
2086
+ } satisfies PutCourseVersionItemRequest;
2087
+
2088
+ try {
2089
+ const data = await api.putCourseVersionItem(body);
2090
+ console.log(data);
2091
+ } catch (error) {
2092
+ console.error(error);
2093
+ }
2094
+ }
2095
+
2096
+ // Run the test
2097
+ example().catch(console.error);
2098
+ ```
2099
+
2100
+ ### Parameters
2101
+
2102
+
2103
+ | Name | Type | Description | Notes |
2104
+ |------------- | ------------- | ------------- | -------------|
2105
+ | **courseId** | `string` | | [Defaults to `undefined`] |
2106
+ | **itemId** | `string` | | [Defaults to `undefined`] |
2107
+ | **putCourseVersionItem** | [PutCourseVersionItem](PutCourseVersionItem.md) | | |
2108
+
2109
+ ### Return type
2110
+
2111
+ [**GetCourseVersionItem**](GetCourseVersionItem.md)
2112
+
2113
+ ### Authorization
2114
+
2115
+ No authorization required
2116
+
2117
+ ### HTTP request headers
2118
+
2119
+ - **Content-Type**: `application/json`
2120
+ - **Accept**: `application/json`
2121
+
2122
+
2123
+ ### HTTP response details
2124
+ | Status code | Description | Response headers |
2125
+ |-------------|-------------|------------------|
2126
+ | **200** | Draft placement updated | - |
2127
+
2128
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
2129
+