@easyedu/js-lsm-api 1.106.0 → 1.107.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.
@@ -73,9 +73,12 @@ export class CourseShareApi extends runtime.BaseAPI {
73
73
  /**
74
74
  * Creates request options for getCourseSharesOfferedByMe without sending the request
75
75
  */
76
- getCourseSharesOfferedByMeRequestOpts() {
76
+ getCourseSharesOfferedByMeRequestOpts(requestParameters) {
77
77
  return __awaiter(this, void 0, void 0, function* () {
78
78
  const queryParameters = {};
79
+ if (requestParameters['state'] != null) {
80
+ queryParameters['state'] = requestParameters['state'];
81
+ }
79
82
  const headerParameters = {};
80
83
  let urlPath = `/course-shares/offered-by-me`;
81
84
  return {
@@ -89,9 +92,9 @@ export class CourseShareApi extends runtime.BaseAPI {
89
92
  /**
90
93
  * List shares the current portal has offered out
91
94
  */
92
- getCourseSharesOfferedByMeRaw(initOverrides) {
95
+ getCourseSharesOfferedByMeRaw(requestParameters, initOverrides) {
93
96
  return __awaiter(this, void 0, void 0, function* () {
94
- const requestOptions = yield this.getCourseSharesOfferedByMeRequestOpts();
97
+ const requestOptions = yield this.getCourseSharesOfferedByMeRequestOpts(requestParameters);
95
98
  const response = yield this.request(requestOptions, initOverrides);
96
99
  return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CourseShareFromJSON));
97
100
  });
@@ -99,9 +102,9 @@ export class CourseShareApi extends runtime.BaseAPI {
99
102
  /**
100
103
  * List shares the current portal has offered out
101
104
  */
102
- getCourseSharesOfferedByMe(initOverrides) {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- const response = yield this.getCourseSharesOfferedByMeRaw(initOverrides);
105
+ getCourseSharesOfferedByMe() {
106
+ return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
107
+ const response = yield this.getCourseSharesOfferedByMeRaw(requestParameters, initOverrides);
105
108
  return yield response.value();
106
109
  });
107
110
  }
@@ -172,7 +175,7 @@ export class CourseShareApi extends runtime.BaseAPI {
172
175
  }
173
176
  /**
174
177
  * 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`.
175
- * Offer every course in a catalog to a descendant portal
178
+ * Offer every course in a catalog to another portal
176
179
  */
177
180
  postOfferCatalogRaw(requestParameters, initOverrides) {
178
181
  return __awaiter(this, void 0, void 0, function* () {
@@ -183,7 +186,7 @@ export class CourseShareApi extends runtime.BaseAPI {
183
186
  }
184
187
  /**
185
188
  * 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`.
186
- * Offer every course in a catalog to a descendant portal
189
+ * Offer every course in a catalog to another portal
187
190
  */
188
191
  postOfferCatalog(requestParameters, initOverrides) {
189
192
  return __awaiter(this, void 0, void 0, function* () {
@@ -217,7 +220,7 @@ export class CourseShareApi extends runtime.BaseAPI {
217
220
  });
218
221
  }
219
222
  /**
220
- * Offer a single course to a descendant portal
223
+ * Offer a single course to another portal
221
224
  */
222
225
  postOfferCourseRaw(requestParameters, initOverrides) {
223
226
  return __awaiter(this, void 0, void 0, function* () {
@@ -227,7 +230,7 @@ export class CourseShareApi extends runtime.BaseAPI {
227
230
  });
228
231
  }
229
232
  /**
230
- * Offer a single course to a descendant portal
233
+ * Offer a single course to another portal
231
234
  */
232
235
  postOfferCourse(requestParameters, initOverrides) {
233
236
  return __awaiter(this, void 0, void 0, function* () {
@@ -388,6 +391,16 @@ export class CourseShareApi extends runtime.BaseAPI {
388
391
  });
389
392
  }
390
393
  }
394
+ /**
395
+ * @export
396
+ */
397
+ export const GetCourseSharesOfferedByMeStateEnum = {
398
+ Offered: 'offered',
399
+ AcceptedMirror: 'accepted_mirror',
400
+ AcceptedClone: 'accepted_clone',
401
+ Declined: 'declined',
402
+ Revoked: 'revoked'
403
+ };
391
404
  /**
392
405
  * @export
393
406
  */
@@ -10,9 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Shape returned by `GET /course-shares/offered-to-me`. Includes joined source
14
- * portal name and course name so the child portal can render an inbox without
15
- * follow-up requests.
13
+ * Shared shape returned by the incoming and outgoing course-share lists. All
14
+ * resource identifiers are public external IDs so clients can link to the
15
+ * related course, portal, and catalog without exposing database keys.
16
16
  *
17
17
  * @export
18
18
  * @interface CourseShare
@@ -25,11 +25,11 @@ export interface CourseShare {
25
25
  */
26
26
  id: string;
27
27
  /**
28
- * Internal ID of the offering portal
29
- * @type {number}
28
+ * External ID of the offering portal
29
+ * @type {string}
30
30
  * @memberof CourseShare
31
31
  */
32
- sourcePortalId: number;
32
+ sourcePortalId: string;
33
33
  /**
34
34
  * Display name of the offering portal
35
35
  * @type {string}
@@ -37,11 +37,23 @@ export interface CourseShare {
37
37
  */
38
38
  sourcePortalName: string;
39
39
  /**
40
- * Internal ID of the offered course
41
- * @type {number}
40
+ * External ID of the receiving portal
41
+ * @type {string}
42
+ * @memberof CourseShare
43
+ */
44
+ targetPortalId: string;
45
+ /**
46
+ * Display name of the receiving portal
47
+ * @type {string}
48
+ * @memberof CourseShare
49
+ */
50
+ targetPortalName: string;
51
+ /**
52
+ * External ID of the offered course
53
+ * @type {string}
42
54
  * @memberof CourseShare
43
55
  */
44
- courseId: number;
56
+ courseId: string;
45
57
  /**
46
58
  * Display name of the offered course
47
59
  * @type {string}
@@ -66,6 +78,42 @@ export interface CourseShare {
66
78
  * @memberof CourseShare
67
79
  */
68
80
  allowResharing: boolean;
81
+ /**
82
+ * Per-share seat cap; null means unlimited
83
+ * @type {number}
84
+ * @memberof CourseShare
85
+ */
86
+ seatLimit: number | null;
87
+ /**
88
+ * External ID of the catalog that produced the offer, when applicable
89
+ * @type {string}
90
+ * @memberof CourseShare
91
+ */
92
+ originCatalogId: string | null;
93
+ /**
94
+ * Display name of the catalog that produced the offer, when applicable
95
+ * @type {string}
96
+ * @memberof CourseShare
97
+ */
98
+ originCatalogName: string | null;
99
+ /**
100
+ *
101
+ * @type {Date}
102
+ * @memberof CourseShare
103
+ */
104
+ offeredAt: Date;
105
+ /**
106
+ *
107
+ * @type {Date}
108
+ * @memberof CourseShare
109
+ */
110
+ respondedAt: Date | null;
111
+ /**
112
+ *
113
+ * @type {Date}
114
+ * @memberof CourseShare
115
+ */
116
+ revokedAt: Date | null;
69
117
  }
70
118
  /**
71
119
  * @export
@@ -39,6 +39,10 @@ export function instanceOfCourseShare(value) {
39
39
  return false;
40
40
  if (!('sourcePortalName' in value) || value['sourcePortalName'] === undefined)
41
41
  return false;
42
+ if (!('targetPortalId' in value) || value['targetPortalId'] === undefined)
43
+ return false;
44
+ if (!('targetPortalName' in value) || value['targetPortalName'] === undefined)
45
+ return false;
42
46
  if (!('courseId' in value) || value['courseId'] === undefined)
43
47
  return false;
44
48
  if (!('courseName' in value) || value['courseName'] === undefined)
@@ -49,6 +53,18 @@ export function instanceOfCourseShare(value) {
49
53
  return false;
50
54
  if (!('allowResharing' in value) || value['allowResharing'] === undefined)
51
55
  return false;
56
+ if (!('seatLimit' in value) || value['seatLimit'] === undefined)
57
+ return false;
58
+ if (!('originCatalogId' in value) || value['originCatalogId'] === undefined)
59
+ return false;
60
+ if (!('originCatalogName' in value) || value['originCatalogName'] === undefined)
61
+ return false;
62
+ if (!('offeredAt' in value) || value['offeredAt'] === undefined)
63
+ return false;
64
+ if (!('respondedAt' in value) || value['respondedAt'] === undefined)
65
+ return false;
66
+ if (!('revokedAt' in value) || value['revokedAt'] === undefined)
67
+ return false;
52
68
  return true;
53
69
  }
54
70
  export function CourseShareFromJSON(json) {
@@ -62,11 +78,19 @@ export function CourseShareFromJSONTyped(json, ignoreDiscriminator) {
62
78
  'id': json['id'],
63
79
  'sourcePortalId': json['source_portal_id'],
64
80
  'sourcePortalName': json['source_portal_name'],
81
+ 'targetPortalId': json['target_portal_id'],
82
+ 'targetPortalName': json['target_portal_name'],
65
83
  'courseId': json['course_id'],
66
84
  'courseName': json['course_name'],
67
85
  'allowedMode': json['allowed_mode'],
68
86
  'state': json['state'],
69
87
  'allowResharing': json['allow_resharing'],
88
+ 'seatLimit': json['seat_limit'],
89
+ 'originCatalogId': json['origin_catalog_id'],
90
+ 'originCatalogName': json['origin_catalog_name'],
91
+ 'offeredAt': (new Date(json['offered_at'])),
92
+ 'respondedAt': (json['responded_at'] == null ? null : new Date(json['responded_at'])),
93
+ 'revokedAt': (json['revoked_at'] == null ? null : new Date(json['revoked_at'])),
70
94
  };
71
95
  }
72
96
  export function CourseShareToJSON(json) {
@@ -80,10 +104,18 @@ export function CourseShareToJSONTyped(value, ignoreDiscriminator = false) {
80
104
  'id': value['id'],
81
105
  'source_portal_id': value['sourcePortalId'],
82
106
  'source_portal_name': value['sourcePortalName'],
107
+ 'target_portal_id': value['targetPortalId'],
108
+ 'target_portal_name': value['targetPortalName'],
83
109
  'course_id': value['courseId'],
84
110
  'course_name': value['courseName'],
85
111
  'allowed_mode': value['allowedMode'],
86
112
  'state': value['state'],
87
113
  'allow_resharing': value['allowResharing'],
114
+ 'seat_limit': value['seatLimit'],
115
+ 'origin_catalog_id': value['originCatalogId'],
116
+ 'origin_catalog_name': value['originCatalogName'],
117
+ 'offered_at': value['offeredAt'].toISOString(),
118
+ 'responded_at': value['respondedAt'] == null ? value['respondedAt'] : value['respondedAt'].toISOString(),
119
+ 'revoked_at': value['revokedAt'] == null ? value['revokedAt'] : value['revokedAt'].toISOString(),
88
120
  };
89
121
  }
@@ -27,6 +27,12 @@ export interface GetCourseExport {
27
27
  * @memberof GetCourseExport
28
28
  */
29
29
  courseId: string;
30
+ /**
31
+ * Display name of the course being exported
32
+ * @type {string}
33
+ * @memberof GetCourseExport
34
+ */
35
+ courseName: string;
30
36
  /**
31
37
  * Immutable version used by the export; null only for historical records.
32
38
  * @type {string}
@@ -36,6 +36,8 @@ export function instanceOfGetCourseExport(value) {
36
36
  return false;
37
37
  if (!('courseId' in value) || value['courseId'] === undefined)
38
38
  return false;
39
+ if (!('courseName' in value) || value['courseName'] === undefined)
40
+ return false;
39
41
  if (!('exportType' in value) || value['exportType'] === undefined)
40
42
  return false;
41
43
  if (!('sectionIds' in value) || value['sectionIds'] === undefined)
@@ -58,6 +60,7 @@ export function GetCourseExportFromJSONTyped(json, ignoreDiscriminator) {
58
60
  return {
59
61
  'id': json['id'],
60
62
  'courseId': json['course_id'],
63
+ 'courseName': json['course_name'],
61
64
  'courseVersionId': json['course_version_id'] == null ? undefined : json['course_version_id'],
62
65
  'exportType': json['export_type'],
63
66
  'sectionIds': json['section_ids'],
@@ -79,6 +82,7 @@ export function GetCourseExportToJSONTyped(value, ignoreDiscriminator = false) {
79
82
  return {
80
83
  'id': value['id'],
81
84
  'course_id': value['courseId'],
85
+ 'course_name': value['courseName'],
82
86
  'course_version_id': value['courseVersionId'],
83
87
  'export_type': value['exportType'],
84
88
  'section_ids': value['sectionIds'],
@@ -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
  */
@@ -10,9 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Shape returned by `GET /course-shares/offered-to-me`. Includes joined source
14
- * portal name and course name so the child portal can render an inbox without
15
- * follow-up requests.
13
+ * Shared shape returned by the incoming and outgoing course-share lists. All
14
+ * resource identifiers are public external IDs so clients can link to the
15
+ * related course, portal, and catalog without exposing database keys.
16
16
  *
17
17
  * @export
18
18
  * @interface CourseShare
@@ -25,11 +25,11 @@ export interface CourseShare {
25
25
  */
26
26
  id: string;
27
27
  /**
28
- * Internal ID of the offering portal
29
- * @type {number}
28
+ * External ID of the offering portal
29
+ * @type {string}
30
30
  * @memberof CourseShare
31
31
  */
32
- sourcePortalId: number;
32
+ sourcePortalId: string;
33
33
  /**
34
34
  * Display name of the offering portal
35
35
  * @type {string}
@@ -37,11 +37,23 @@ export interface CourseShare {
37
37
  */
38
38
  sourcePortalName: string;
39
39
  /**
40
- * Internal ID of the offered course
41
- * @type {number}
40
+ * External ID of the receiving portal
41
+ * @type {string}
42
+ * @memberof CourseShare
43
+ */
44
+ targetPortalId: string;
45
+ /**
46
+ * Display name of the receiving portal
47
+ * @type {string}
48
+ * @memberof CourseShare
49
+ */
50
+ targetPortalName: string;
51
+ /**
52
+ * External ID of the offered course
53
+ * @type {string}
42
54
  * @memberof CourseShare
43
55
  */
44
- courseId: number;
56
+ courseId: string;
45
57
  /**
46
58
  * Display name of the offered course
47
59
  * @type {string}
@@ -66,6 +78,42 @@ export interface CourseShare {
66
78
  * @memberof CourseShare
67
79
  */
68
80
  allowResharing: boolean;
81
+ /**
82
+ * Per-share seat cap; null means unlimited
83
+ * @type {number}
84
+ * @memberof CourseShare
85
+ */
86
+ seatLimit: number | null;
87
+ /**
88
+ * External ID of the catalog that produced the offer, when applicable
89
+ * @type {string}
90
+ * @memberof CourseShare
91
+ */
92
+ originCatalogId: string | null;
93
+ /**
94
+ * Display name of the catalog that produced the offer, when applicable
95
+ * @type {string}
96
+ * @memberof CourseShare
97
+ */
98
+ originCatalogName: string | null;
99
+ /**
100
+ *
101
+ * @type {Date}
102
+ * @memberof CourseShare
103
+ */
104
+ offeredAt: Date;
105
+ /**
106
+ *
107
+ * @type {Date}
108
+ * @memberof CourseShare
109
+ */
110
+ respondedAt: Date | null;
111
+ /**
112
+ *
113
+ * @type {Date}
114
+ * @memberof CourseShare
115
+ */
116
+ revokedAt: Date | null;
69
117
  }
70
118
  /**
71
119
  * @export
@@ -47,6 +47,10 @@ function instanceOfCourseShare(value) {
47
47
  return false;
48
48
  if (!('sourcePortalName' in value) || value['sourcePortalName'] === undefined)
49
49
  return false;
50
+ if (!('targetPortalId' in value) || value['targetPortalId'] === undefined)
51
+ return false;
52
+ if (!('targetPortalName' in value) || value['targetPortalName'] === undefined)
53
+ return false;
50
54
  if (!('courseId' in value) || value['courseId'] === undefined)
51
55
  return false;
52
56
  if (!('courseName' in value) || value['courseName'] === undefined)
@@ -57,6 +61,18 @@ function instanceOfCourseShare(value) {
57
61
  return false;
58
62
  if (!('allowResharing' in value) || value['allowResharing'] === undefined)
59
63
  return false;
64
+ if (!('seatLimit' in value) || value['seatLimit'] === undefined)
65
+ return false;
66
+ if (!('originCatalogId' in value) || value['originCatalogId'] === undefined)
67
+ return false;
68
+ if (!('originCatalogName' in value) || value['originCatalogName'] === undefined)
69
+ return false;
70
+ if (!('offeredAt' in value) || value['offeredAt'] === undefined)
71
+ return false;
72
+ if (!('respondedAt' in value) || value['respondedAt'] === undefined)
73
+ return false;
74
+ if (!('revokedAt' in value) || value['revokedAt'] === undefined)
75
+ return false;
60
76
  return true;
61
77
  }
62
78
  function CourseShareFromJSON(json) {
@@ -70,11 +86,19 @@ function CourseShareFromJSONTyped(json, ignoreDiscriminator) {
70
86
  'id': json['id'],
71
87
  'sourcePortalId': json['source_portal_id'],
72
88
  'sourcePortalName': json['source_portal_name'],
89
+ 'targetPortalId': json['target_portal_id'],
90
+ 'targetPortalName': json['target_portal_name'],
73
91
  'courseId': json['course_id'],
74
92
  'courseName': json['course_name'],
75
93
  'allowedMode': json['allowed_mode'],
76
94
  'state': json['state'],
77
95
  'allowResharing': json['allow_resharing'],
96
+ 'seatLimit': json['seat_limit'],
97
+ 'originCatalogId': json['origin_catalog_id'],
98
+ 'originCatalogName': json['origin_catalog_name'],
99
+ 'offeredAt': (new Date(json['offered_at'])),
100
+ 'respondedAt': (json['responded_at'] == null ? null : new Date(json['responded_at'])),
101
+ 'revokedAt': (json['revoked_at'] == null ? null : new Date(json['revoked_at'])),
78
102
  };
79
103
  }
80
104
  function CourseShareToJSON(json) {
@@ -88,10 +112,18 @@ function CourseShareToJSONTyped(value, ignoreDiscriminator = false) {
88
112
  'id': value['id'],
89
113
  'source_portal_id': value['sourcePortalId'],
90
114
  'source_portal_name': value['sourcePortalName'],
115
+ 'target_portal_id': value['targetPortalId'],
116
+ 'target_portal_name': value['targetPortalName'],
91
117
  'course_id': value['courseId'],
92
118
  'course_name': value['courseName'],
93
119
  'allowed_mode': value['allowedMode'],
94
120
  'state': value['state'],
95
121
  'allow_resharing': value['allowResharing'],
122
+ 'seat_limit': value['seatLimit'],
123
+ 'origin_catalog_id': value['originCatalogId'],
124
+ 'origin_catalog_name': value['originCatalogName'],
125
+ 'offered_at': value['offeredAt'].toISOString(),
126
+ 'responded_at': value['respondedAt'] == null ? value['respondedAt'] : value['respondedAt'].toISOString(),
127
+ 'revoked_at': value['revokedAt'] == null ? value['revokedAt'] : value['revokedAt'].toISOString(),
96
128
  };
97
129
  }
@@ -27,6 +27,12 @@ export interface GetCourseExport {
27
27
  * @memberof GetCourseExport
28
28
  */
29
29
  courseId: string;
30
+ /**
31
+ * Display name of the course being exported
32
+ * @type {string}
33
+ * @memberof GetCourseExport
34
+ */
35
+ courseName: string;
30
36
  /**
31
37
  * Immutable version used by the export; null only for historical records.
32
38
  * @type {string}
@@ -44,6 +44,8 @@ function instanceOfGetCourseExport(value) {
44
44
  return false;
45
45
  if (!('courseId' in value) || value['courseId'] === undefined)
46
46
  return false;
47
+ if (!('courseName' in value) || value['courseName'] === undefined)
48
+ return false;
47
49
  if (!('exportType' in value) || value['exportType'] === undefined)
48
50
  return false;
49
51
  if (!('sectionIds' in value) || value['sectionIds'] === undefined)
@@ -66,6 +68,7 @@ function GetCourseExportFromJSONTyped(json, ignoreDiscriminator) {
66
68
  return {
67
69
  'id': json['id'],
68
70
  'courseId': json['course_id'],
71
+ 'courseName': json['course_name'],
69
72
  'courseVersionId': json['course_version_id'] == null ? undefined : json['course_version_id'],
70
73
  'exportType': json['export_type'],
71
74
  'sectionIds': json['section_ids'],
@@ -87,6 +90,7 @@ function GetCourseExportToJSONTyped(value, ignoreDiscriminator = false) {
87
90
  return {
88
91
  'id': value['id'],
89
92
  'course_id': value['courseId'],
93
+ 'course_name': value['courseName'],
90
94
  'course_version_id': value['courseVersionId'],
91
95
  'export_type': value['exportType'],
92
96
  'section_ids': value['sectionIds'],
@@ -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
  */
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