@easyedu/js-lsm-api 1.106.0 → 1.108.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 (56) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/README.md +7 -4
  3. package/dist/apis/CourseApi.d.ts +30 -2
  4. package/dist/apis/CourseApi.js +59 -3
  5. package/dist/apis/CourseCatalogApi.d.ts +8 -3
  6. package/dist/apis/CourseCatalogApi.js +14 -7
  7. package/dist/apis/CourseShareApi.d.ts +31 -12
  8. package/dist/apis/CourseShareApi.js +44 -16
  9. package/dist/esm/apis/CourseApi.d.ts +30 -2
  10. package/dist/esm/apis/CourseApi.js +58 -2
  11. package/dist/esm/apis/CourseCatalogApi.d.ts +8 -3
  12. package/dist/esm/apis/CourseCatalogApi.js +14 -7
  13. package/dist/esm/apis/CourseShareApi.d.ts +31 -12
  14. package/dist/esm/apis/CourseShareApi.js +43 -15
  15. package/dist/esm/models/CourseShare.d.ts +57 -9
  16. package/dist/esm/models/CourseShare.js +32 -0
  17. package/dist/esm/models/GetCourseCatalogList.d.ts +57 -0
  18. package/dist/esm/models/GetCourseCatalogList.js +60 -0
  19. package/dist/esm/models/GetCourseExport.d.ts +6 -0
  20. package/dist/esm/models/GetCourseExport.js +4 -0
  21. package/dist/esm/models/GetCourseShareList.d.ts +57 -0
  22. package/dist/esm/models/GetCourseShareList.js +60 -0
  23. package/dist/esm/models/PostOfferCatalog.d.ts +1 -1
  24. package/dist/esm/models/PostOfferCourse.d.ts +1 -1
  25. package/dist/esm/models/index.d.ts +2 -0
  26. package/dist/esm/models/index.js +2 -0
  27. package/dist/models/CourseShare.d.ts +57 -9
  28. package/dist/models/CourseShare.js +32 -0
  29. package/dist/models/GetCourseCatalogList.d.ts +57 -0
  30. package/dist/models/GetCourseCatalogList.js +67 -0
  31. package/dist/models/GetCourseExport.d.ts +6 -0
  32. package/dist/models/GetCourseExport.js +4 -0
  33. package/dist/models/GetCourseShareList.d.ts +57 -0
  34. package/dist/models/GetCourseShareList.js +67 -0
  35. package/dist/models/PostOfferCatalog.d.ts +1 -1
  36. package/dist/models/PostOfferCourse.d.ts +1 -1
  37. package/dist/models/index.d.ts +2 -0
  38. package/dist/models/index.js +2 -0
  39. package/docs/CourseApi.md +79 -1
  40. package/docs/CourseCatalogApi.md +15 -4
  41. package/docs/CourseShare.md +19 -3
  42. package/docs/CourseShareApi.md +39 -13
  43. package/docs/GetCourseCatalogList.md +42 -0
  44. package/docs/GetCourseExport.md +2 -0
  45. package/docs/GetCourseShareList.md +42 -0
  46. package/package.json +1 -1
  47. package/src/apis/CourseApi.ts +72 -2
  48. package/src/apis/CourseCatalogApi.ts +24 -6
  49. package/src/apis/CourseShareApi.ts +63 -19
  50. package/src/models/CourseShare.ts +81 -9
  51. package/src/models/GetCourseCatalogList.ts +110 -0
  52. package/src/models/GetCourseExport.ts +9 -0
  53. package/src/models/GetCourseShareList.ts +110 -0
  54. package/src/models/PostOfferCatalog.ts +1 -1
  55. package/src/models/PostOfferCourse.ts +1 -1
  56. package/src/models/index.ts +2 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * LMS API
6
+ * LMS API
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfGetCourseShareList = instanceOfGetCourseShareList;
17
+ exports.GetCourseShareListFromJSON = GetCourseShareListFromJSON;
18
+ exports.GetCourseShareListFromJSONTyped = GetCourseShareListFromJSONTyped;
19
+ exports.GetCourseShareListToJSON = GetCourseShareListToJSON;
20
+ exports.GetCourseShareListToJSONTyped = GetCourseShareListToJSONTyped;
21
+ const CourseShare_1 = require("./CourseShare");
22
+ /**
23
+ * Check if a given object implements the GetCourseShareList interface.
24
+ */
25
+ function instanceOfGetCourseShareList(value) {
26
+ if (!('page' in value) || value['page'] === undefined)
27
+ return false;
28
+ if (!('pageSize' in value) || value['pageSize'] === undefined)
29
+ return false;
30
+ if (!('totalPages' in value) || value['totalPages'] === undefined)
31
+ return false;
32
+ if (!('totalItems' in value) || value['totalItems'] === undefined)
33
+ return false;
34
+ if (!('items' in value) || value['items'] === undefined)
35
+ return false;
36
+ return true;
37
+ }
38
+ function GetCourseShareListFromJSON(json) {
39
+ return GetCourseShareListFromJSONTyped(json, false);
40
+ }
41
+ function GetCourseShareListFromJSONTyped(json, ignoreDiscriminator) {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+ 'page': json['page'],
47
+ 'pageSize': json['pageSize'],
48
+ 'totalPages': json['totalPages'],
49
+ 'totalItems': json['totalItems'],
50
+ 'items': (json['items'].map(CourseShare_1.CourseShareFromJSON)),
51
+ };
52
+ }
53
+ function GetCourseShareListToJSON(json) {
54
+ return GetCourseShareListToJSONTyped(json, false);
55
+ }
56
+ function GetCourseShareListToJSONTyped(value, ignoreDiscriminator = false) {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+ return {
61
+ 'page': value['page'],
62
+ 'pageSize': value['pageSize'],
63
+ 'totalPages': value['totalPages'],
64
+ 'totalItems': value['totalItems'],
65
+ 'items': (value['items'].map(CourseShare_1.CourseShareToJSON)),
66
+ };
67
+ }
@@ -16,7 +16,7 @@
16
16
  */
17
17
  export interface PostOfferCatalog {
18
18
  /**
19
- * External ID of the target (descendant) portal
19
+ * External ID of the target portal
20
20
  * @type {string}
21
21
  * @memberof PostOfferCatalog
22
22
  */
@@ -16,7 +16,7 @@
16
16
  */
17
17
  export interface PostOfferCourse {
18
18
  /**
19
- * External ID of the target (descendant) portal
19
+ * External ID of the target portal
20
20
  * @type {string}
21
21
  * @memberof PostOfferCourse
22
22
  */
@@ -56,6 +56,7 @@ export * from './GetContentLibraryVersion';
56
56
  export * from './GetConversation';
57
57
  export * from './GetConversationList';
58
58
  export * from './GetCourse';
59
+ export * from './GetCourseCatalogList';
59
60
  export * from './GetCourseEnrollment';
60
61
  export * from './GetCourseEnrollmentList';
61
62
  export * from './GetCourseEnrollmentListItem';
@@ -63,6 +64,7 @@ export * from './GetCourseExport';
63
64
  export * from './GetCourseExportList';
64
65
  export * from './GetCourseImageUpload';
65
66
  export * from './GetCourseList';
67
+ export * from './GetCourseShareList';
66
68
  export * from './GetCourseVersion';
67
69
  export * from './GetCourseVersionItem';
68
70
  export * from './GetCourseVersionItemLaunch';
@@ -74,6 +74,7 @@ __exportStar(require("./GetContentLibraryVersion"), exports);
74
74
  __exportStar(require("./GetConversation"), exports);
75
75
  __exportStar(require("./GetConversationList"), exports);
76
76
  __exportStar(require("./GetCourse"), exports);
77
+ __exportStar(require("./GetCourseCatalogList"), exports);
77
78
  __exportStar(require("./GetCourseEnrollment"), exports);
78
79
  __exportStar(require("./GetCourseEnrollmentList"), exports);
79
80
  __exportStar(require("./GetCourseEnrollmentListItem"), exports);
@@ -81,6 +82,7 @@ __exportStar(require("./GetCourseExport"), exports);
81
82
  __exportStar(require("./GetCourseExportList"), exports);
82
83
  __exportStar(require("./GetCourseImageUpload"), exports);
83
84
  __exportStar(require("./GetCourseList"), exports);
85
+ __exportStar(require("./GetCourseShareList"), exports);
84
86
  __exportStar(require("./GetCourseVersion"), exports);
85
87
  __exportStar(require("./GetCourseVersionItem"), exports);
86
88
  __exportStar(require("./GetCourseVersionItemLaunch"), exports);
package/docs/CourseApi.md CHANGED
@@ -23,6 +23,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
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
25
  | [**getCourseVersionProgression**](CourseApi.md#getcourseversionprogression) | **GET** /courses/{courseId}/versions/{courseVersionId}/progression | Get learner-specific completion and section lock state |
26
+ | [**getPortalCourseExports**](CourseApi.md#getportalcourseexports) | **GET** /course-exports | List SCORM exports owned by the current portal |
26
27
  | [**postCourse**](CourseApi.md#postcourse) | **POST** /courses | Post a new course |
27
28
  | [**postCourseDraft**](CourseApi.md#postcoursedraft) | **POST** /courses/{courseId}/draft | Create or return the single editable course draft |
28
29
  | [**postCourseDraftResourceUpdateAll**](CourseApi.md#postcoursedraftresourceupdateall) | **POST** /courses/{courseId}/draft/resources/update-all | Update all draft resource placements to their latest published versions |
@@ -1391,6 +1392,83 @@ No authorization required
1391
1392
  [[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
 
1393
1394
 
1395
+ ## getPortalCourseExports
1396
+
1397
+ > GetCourseExportList getPortalCourseExports(page, pageSize, courseId, status)
1398
+
1399
+ List SCORM exports owned by the current portal
1400
+
1401
+ ### Example
1402
+
1403
+ ```ts
1404
+ import {
1405
+ Configuration,
1406
+ CourseApi,
1407
+ } from '@easyedu/js-lsm-api';
1408
+ import type { GetPortalCourseExportsRequest } from '@easyedu/js-lsm-api';
1409
+
1410
+ async function example() {
1411
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1412
+ const api = new CourseApi();
1413
+
1414
+ const body = {
1415
+ // number (optional)
1416
+ page: 56,
1417
+ // number (optional)
1418
+ pageSize: 56,
1419
+ // string | Filter by an owned course external ID (optional)
1420
+ courseId: courseId_example,
1421
+ // 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | Filter by export status (optional)
1422
+ status: status_example,
1423
+ } satisfies GetPortalCourseExportsRequest;
1424
+
1425
+ try {
1426
+ const data = await api.getPortalCourseExports(body);
1427
+ console.log(data);
1428
+ } catch (error) {
1429
+ console.error(error);
1430
+ }
1431
+ }
1432
+
1433
+ // Run the test
1434
+ example().catch(console.error);
1435
+ ```
1436
+
1437
+ ### Parameters
1438
+
1439
+
1440
+ | Name | Type | Description | Notes |
1441
+ |------------- | ------------- | ------------- | -------------|
1442
+ | **page** | `number` | | [Optional] [Defaults to `1`] |
1443
+ | **pageSize** | `number` | | [Optional] [Defaults to `20`] |
1444
+ | **courseId** | `string` | Filter by an owned course external ID | [Optional] [Defaults to `undefined`] |
1445
+ | **status** | `PENDING`, `PROCESSING`, `COMPLETED`, `FAILED` | Filter by export status | [Optional] [Defaults to `undefined`] [Enum: PENDING, PROCESSING, COMPLETED, FAILED] |
1446
+
1447
+ ### Return type
1448
+
1449
+ [**GetCourseExportList**](GetCourseExportList.md)
1450
+
1451
+ ### Authorization
1452
+
1453
+ No authorization required
1454
+
1455
+ ### HTTP request headers
1456
+
1457
+ - **Content-Type**: Not defined
1458
+ - **Accept**: `application/json`
1459
+
1460
+
1461
+ ### HTTP response details
1462
+ | Status code | Description | Response headers |
1463
+ |-------------|-------------|------------------|
1464
+ | **200** | Portal-owned course exports | - |
1465
+ | **400** | Invalid pagination or filter | - |
1466
+ | **401** | Unauthorized | - |
1467
+ | **403** | Forbidden | - |
1468
+
1469
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1470
+
1471
+
1394
1472
  ## postCourse
1395
1473
 
1396
1474
  > GetCourse postCourse(postCourse)
@@ -1734,7 +1812,7 @@ No authorization required
1734
1812
 
1735
1813
  Create a new SCORM export for a course
1736
1814
 
1737
- 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
1815
+ 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 - Poll GET /courses/{courseId}/exports/{exportId} to check status - Download URL will be available when status becomes COMPLETED
1738
1816
 
1739
1817
  ### Example
1740
1818
 
@@ -285,7 +285,7 @@ No authorization required
285
285
 
286
286
  ## getCourseCatalogs
287
287
 
288
- > Array<CourseCatalog> getCourseCatalogs()
288
+ > GetCourseCatalogList getCourseCatalogs(page, pageSize)
289
289
 
290
290
  List catalogs in the current portal
291
291
 
@@ -302,8 +302,15 @@ async function example() {
302
302
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
303
303
  const api = new CourseCatalogApi();
304
304
 
305
+ const body = {
306
+ // number (optional)
307
+ page: 56,
308
+ // number (optional)
309
+ pageSize: 56,
310
+ } satisfies GetCourseCatalogsRequest;
311
+
305
312
  try {
306
- const data = await api.getCourseCatalogs();
313
+ const data = await api.getCourseCatalogs(body);
307
314
  console.log(data);
308
315
  } catch (error) {
309
316
  console.error(error);
@@ -316,11 +323,15 @@ example().catch(console.error);
316
323
 
317
324
  ### Parameters
318
325
 
319
- This endpoint does not need any parameter.
326
+
327
+ | Name | Type | Description | Notes |
328
+ |------------- | ------------- | ------------- | -------------|
329
+ | **page** | `number` | | [Optional] [Defaults to `1`] |
330
+ | **pageSize** | `number` | | [Optional] [Defaults to `20`] |
320
331
 
321
332
  ### Return type
322
333
 
323
- [**Array<CourseCatalog>**](CourseCatalog.md)
334
+ [**GetCourseCatalogList**](GetCourseCatalogList.md)
324
335
 
325
336
  ### Authorization
326
337
 
@@ -1,20 +1,28 @@
1
1
 
2
2
  # CourseShare
3
3
 
4
- Shape returned by `GET /course-shares/offered-to-me`. Includes joined source portal name and course name so the child portal can render an inbox without follow-up requests.
4
+ Shared shape returned by the incoming and outgoing course-share lists. All resource identifiers are public external IDs so clients can link to the related course, portal, and catalog without exposing database keys.
5
5
 
6
6
  ## Properties
7
7
 
8
8
  Name | Type
9
9
  ------------ | -------------
10
10
  `id` | string
11
- `sourcePortalId` | number
11
+ `sourcePortalId` | string
12
12
  `sourcePortalName` | string
13
- `courseId` | number
13
+ `targetPortalId` | string
14
+ `targetPortalName` | string
15
+ `courseId` | string
14
16
  `courseName` | string
15
17
  `allowedMode` | string
16
18
  `state` | string
17
19
  `allowResharing` | boolean
20
+ `seatLimit` | number
21
+ `originCatalogId` | string
22
+ `originCatalogName` | string
23
+ `offeredAt` | Date
24
+ `respondedAt` | Date
25
+ `revokedAt` | Date
18
26
 
19
27
  ## Example
20
28
 
@@ -26,11 +34,19 @@ const example = {
26
34
  "id": null,
27
35
  "sourcePortalId": null,
28
36
  "sourcePortalName": null,
37
+ "targetPortalId": null,
38
+ "targetPortalName": null,
29
39
  "courseId": null,
30
40
  "courseName": null,
31
41
  "allowedMode": null,
32
42
  "state": null,
33
43
  "allowResharing": null,
44
+ "seatLimit": null,
45
+ "originCatalogId": null,
46
+ "originCatalogName": null,
47
+ "offeredAt": null,
48
+ "respondedAt": null,
49
+ "revokedAt": null,
34
50
  } satisfies CourseShare
35
51
 
36
52
  console.log(example)
@@ -7,8 +7,8 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
7
7
  | [**deleteCourseShare**](CourseShareApi.md#deletecourseshare) | **DELETE** /course-shares/{shareId} | Revoke a share |
8
8
  | [**getCourseSharesOfferedByMe**](CourseShareApi.md#getcoursesharesofferedbyme) | **GET** /course-shares/offered-by-me | List shares the current portal has offered out |
9
9
  | [**getCourseSharesOfferedToMe**](CourseShareApi.md#getcoursesharesofferedtome) | **GET** /course-shares/offered-to-me | List shares offered to the current portal |
10
- | [**postOfferCatalog**](CourseShareApi.md#postoffercatalog) | **POST** /catalogs/{catalogId}/shares | Offer every course in a catalog to a descendant portal |
11
- | [**postOfferCourse**](CourseShareApi.md#postoffercourse) | **POST** /courses/{courseId}/shares | Offer a single course to a descendant portal |
10
+ | [**postOfferCatalog**](CourseShareApi.md#postoffercatalog) | **POST** /catalogs/{catalogId}/shares | Offer every course in a catalog to another portal |
11
+ | [**postOfferCourse**](CourseShareApi.md#postoffercourse) | **POST** /courses/{courseId}/shares | Offer a single course to another portal |
12
12
  | [**postUnrevokeShare**](CourseShareApi.md#postunrevokeshare) | **POST** /course-shares/{shareId}/unrevoke | Restore a previously revoked share |
13
13
  | [**putAcceptClone**](CourseShareApi.md#putacceptclone) | **PUT** /course-shares/{shareId}/accept-clone | Accept an offer as a clone (deep copy into your portal) |
14
14
  | [**putAcceptMirror**](CourseShareApi.md#putacceptmirror) | **PUT** /course-shares/{shareId}/accept-mirror | Accept an offer as a mirror (no copy, live link to source) |
@@ -87,7 +87,7 @@ No authorization required
87
87
 
88
88
  ## getCourseSharesOfferedByMe
89
89
 
90
- > Array<CourseShare> getCourseSharesOfferedByMe()
90
+ > GetCourseShareList getCourseSharesOfferedByMe(page, pageSize, courseId, state)
91
91
 
92
92
  List shares the current portal has offered out
93
93
 
@@ -104,8 +104,19 @@ async function example() {
104
104
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
105
105
  const api = new CourseShareApi();
106
106
 
107
+ const body = {
108
+ // number (optional)
109
+ page: 56,
110
+ // number (optional)
111
+ pageSize: 56,
112
+ // string | Filter by an owned course external ID (optional)
113
+ courseId: courseId_example,
114
+ // 'offered' | 'accepted_mirror' | 'accepted_clone' | 'declined' | 'revoked' | Filter by share state (case-insensitive) (optional)
115
+ state: state_example,
116
+ } satisfies GetCourseSharesOfferedByMeRequest;
117
+
107
118
  try {
108
- const data = await api.getCourseSharesOfferedByMe();
119
+ const data = await api.getCourseSharesOfferedByMe(body);
109
120
  console.log(data);
110
121
  } catch (error) {
111
122
  console.error(error);
@@ -118,11 +129,17 @@ example().catch(console.error);
118
129
 
119
130
  ### Parameters
120
131
 
121
- This endpoint does not need any parameter.
132
+
133
+ | Name | Type | Description | Notes |
134
+ |------------- | ------------- | ------------- | -------------|
135
+ | **page** | `number` | | [Optional] [Defaults to `1`] |
136
+ | **pageSize** | `number` | | [Optional] [Defaults to `20`] |
137
+ | **courseId** | `string` | Filter by an owned course external ID | [Optional] [Defaults to `undefined`] |
138
+ | **state** | `offered`, `accepted_mirror`, `accepted_clone`, `declined`, `revoked` | Filter by share state (case-insensitive) | [Optional] [Defaults to `undefined`] [Enum: offered, accepted_mirror, accepted_clone, declined, revoked] |
122
139
 
123
140
  ### Return type
124
141
 
125
- [**Array<CourseShare>**](CourseShare.md)
142
+ [**GetCourseShareList**](GetCourseShareList.md)
126
143
 
127
144
  ### Authorization
128
145
 
@@ -138,17 +155,18 @@ No authorization required
138
155
  | Status code | Description | Response headers |
139
156
  |-------------|-------------|------------------|
140
157
  | **200** | Shares | - |
158
+ | **400** | Invalid state filter | - |
141
159
 
142
160
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
143
161
 
144
162
 
145
163
  ## getCourseSharesOfferedToMe
146
164
 
147
- > Array<CourseShare> getCourseSharesOfferedToMe(state)
165
+ > GetCourseShareList getCourseSharesOfferedToMe(page, pageSize, state)
148
166
 
149
167
  List shares offered to the current portal
150
168
 
151
- Returns every `course_share` row where the current portal is the target, with the source portal name and course name joined in. Optionally filter by share state via the `state` query parameter.
169
+ Returns `course_share` rows where the current portal is the target, with the source portal name and course name joined in. Optionally filter by share state via the `state` query parameter.
152
170
 
153
171
  ### Example
154
172
 
@@ -164,6 +182,10 @@ async function example() {
164
182
  const api = new CourseShareApi();
165
183
 
166
184
  const body = {
185
+ // number (optional)
186
+ page: 56,
187
+ // number (optional)
188
+ pageSize: 56,
167
189
  // 'offered' | 'accepted_mirror' | 'accepted_clone' | 'declined' | 'revoked' | Filter by share state (case-insensitive) (optional)
168
190
  state: state_example,
169
191
  } satisfies GetCourseSharesOfferedToMeRequest;
@@ -185,11 +207,13 @@ example().catch(console.error);
185
207
 
186
208
  | Name | Type | Description | Notes |
187
209
  |------------- | ------------- | ------------- | -------------|
210
+ | **page** | `number` | | [Optional] [Defaults to `1`] |
211
+ | **pageSize** | `number` | | [Optional] [Defaults to `20`] |
188
212
  | **state** | `offered`, `accepted_mirror`, `accepted_clone`, `declined`, `revoked` | Filter by share state (case-insensitive) | [Optional] [Defaults to `undefined`] [Enum: offered, accepted_mirror, accepted_clone, declined, revoked] |
189
213
 
190
214
  ### Return type
191
215
 
192
- [**Array<CourseShare>**](CourseShare.md)
216
+ [**GetCourseShareList**](GetCourseShareList.md)
193
217
 
194
218
  ### Authorization
195
219
 
@@ -214,7 +238,7 @@ No authorization required
214
238
 
215
239
  > PostOfferCatalogResponse postOfferCatalog(catalogId, postOfferCatalog)
216
240
 
217
- Offer every course in a catalog to a descendant portal
241
+ Offer every course in a catalog to another portal
218
242
 
219
243
  Fans out one `course_share` per catalog member. Duplicates are silently skipped. The catalog link is preserved on each generated share via `origin_catalog_id`.
220
244
 
@@ -276,7 +300,8 @@ No authorization required
276
300
  | Status code | Description | Response headers |
277
301
  |-------------|-------------|------------------|
278
302
  | **201** | Catalog offered | - |
279
- | **403** | Catalog not owned by your portal, or target is not a descendant | - |
303
+ | **400** | Target portal is the current portal | - |
304
+ | **403** | Catalog not owned by your portal | - |
280
305
  | **404** | Catalog or target portal not found | - |
281
306
 
282
307
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -286,7 +311,7 @@ No authorization required
286
311
 
287
312
  > PostOfferCourseResponse postOfferCourse(courseId, postOfferCourse)
288
313
 
289
- Offer a single course to a descendant portal
314
+ Offer a single course to another portal
290
315
 
291
316
  ### Example
292
317
 
@@ -346,7 +371,8 @@ No authorization required
346
371
  | Status code | Description | Response headers |
347
372
  |-------------|-------------|------------------|
348
373
  | **201** | Share created | - |
349
- | **403** | Course not owned by your portal, or target is not a descendant | - |
374
+ | **400** | Target portal is the current portal | - |
375
+ | **403** | Course not owned by your portal | - |
350
376
  | **404** | Course or target portal not found | - |
351
377
 
352
378
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -0,0 +1,42 @@
1
+
2
+ # GetCourseCatalogList
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `page` | number
10
+ `pageSize` | number
11
+ `totalPages` | number
12
+ `totalItems` | number
13
+ `items` | [Array<CourseCatalog>](CourseCatalog.md)
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { GetCourseCatalogList } from '@easyedu/js-lsm-api'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "page": null,
23
+ "pageSize": null,
24
+ "totalPages": null,
25
+ "totalItems": null,
26
+ "items": null,
27
+ } satisfies GetCourseCatalogList
28
+
29
+ console.log(example)
30
+
31
+ // Convert the instance to a JSON string
32
+ const exampleJSON: string = JSON.stringify(example)
33
+ console.log(exampleJSON)
34
+
35
+ // Parse the JSON string back to an object
36
+ const exampleParsed = JSON.parse(exampleJSON) as GetCourseCatalogList
37
+ console.log(exampleParsed)
38
+ ```
39
+
40
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
41
+
42
+
@@ -9,6 +9,7 @@ Name | Type
9
9
  ------------ | -------------
10
10
  `id` | string
11
11
  `courseId` | string
12
+ `courseName` | string
12
13
  `courseVersionId` | string
13
14
  `exportType` | string
14
15
  `sectionIds` | Array<string>
@@ -28,6 +29,7 @@ import type { GetCourseExport } from '@easyedu/js-lsm-api'
28
29
  const example = {
29
30
  "id": null,
30
31
  "courseId": null,
32
+ "courseName": null,
31
33
  "courseVersionId": null,
32
34
  "exportType": null,
33
35
  "sectionIds": null,
@@ -0,0 +1,42 @@
1
+
2
+ # GetCourseShareList
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `page` | number
10
+ `pageSize` | number
11
+ `totalPages` | number
12
+ `totalItems` | number
13
+ `items` | [Array<CourseShare>](CourseShare.md)
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { GetCourseShareList } from '@easyedu/js-lsm-api'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "page": null,
23
+ "pageSize": null,
24
+ "totalPages": null,
25
+ "totalItems": null,
26
+ "items": null,
27
+ } satisfies GetCourseShareList
28
+
29
+ console.log(example)
30
+
31
+ // Convert the instance to a JSON string
32
+ const exampleJSON: string = JSON.stringify(example)
33
+ console.log(exampleJSON)
34
+
35
+ // Parse the JSON string back to an object
36
+ const exampleParsed = JSON.parse(exampleJSON) as GetCourseShareList
37
+ console.log(exampleParsed)
38
+ ```
39
+
40
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
41
+
42
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.106.0",
3
+ "version": "1.108.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {