@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.
- package/README.md +5 -4
- package/dist/apis/CourseApi.d.ts +30 -2
- package/dist/apis/CourseApi.js +59 -3
- package/dist/apis/CourseShareApi.d.ts +21 -7
- package/dist/apis/CourseShareApi.js +24 -11
- package/dist/esm/apis/CourseApi.d.ts +30 -2
- package/dist/esm/apis/CourseApi.js +58 -2
- package/dist/esm/apis/CourseShareApi.d.ts +21 -7
- package/dist/esm/apis/CourseShareApi.js +23 -10
- package/dist/esm/models/CourseShare.d.ts +57 -9
- package/dist/esm/models/CourseShare.js +32 -0
- package/dist/esm/models/GetCourseExport.d.ts +6 -0
- package/dist/esm/models/GetCourseExport.js +4 -0
- package/dist/esm/models/PostOfferCatalog.d.ts +1 -1
- package/dist/esm/models/PostOfferCourse.d.ts +1 -1
- package/dist/models/CourseShare.d.ts +57 -9
- package/dist/models/CourseShare.js +32 -0
- package/dist/models/GetCourseExport.d.ts +6 -0
- package/dist/models/GetCourseExport.js +4 -0
- package/dist/models/PostOfferCatalog.d.ts +1 -1
- package/dist/models/PostOfferCourse.d.ts +1 -1
- package/docs/CourseApi.md +79 -1
- package/docs/CourseShare.md +19 -3
- package/docs/CourseShareApi.md +20 -9
- package/docs/GetCourseExport.md +2 -0
- package/package.json +1 -1
- package/src/apis/CourseApi.ts +72 -2
- package/src/apis/CourseShareApi.ts +28 -9
- package/src/models/CourseShare.ts +81 -9
- package/src/models/GetCourseExport.ts +9 -0
- package/src/models/PostOfferCatalog.ts +1 -1
- package/src/models/PostOfferCourse.ts +1 -1
|
@@ -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(
|
|
103
|
-
return __awaiter(this,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
*
|
|
29
|
-
* @type {
|
|
28
|
+
* External ID of the offering portal
|
|
29
|
+
* @type {string}
|
|
30
30
|
* @memberof CourseShare
|
|
31
31
|
*/
|
|
32
|
-
sourcePortalId:
|
|
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
|
-
*
|
|
41
|
-
* @type {
|
|
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:
|
|
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'],
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
*
|
|
29
|
-
* @type {
|
|
28
|
+
* External ID of the offering portal
|
|
29
|
+
* @type {string}
|
|
30
30
|
* @memberof CourseShare
|
|
31
31
|
*/
|
|
32
|
-
sourcePortalId:
|
|
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
|
-
*
|
|
41
|
-
* @type {
|
|
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:
|
|
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'],
|
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 -
|
|
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
|
|