@easyedu/js-lsm-api 1.100.0 → 1.102.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/.openapi-generator/FILES +20 -0
- package/README.md +14 -2
- package/dist/apis/ChangelogApi.d.ts +32 -0
- package/dist/apis/ChangelogApi.js +70 -0
- package/dist/apis/CourseApi.d.ts +34 -0
- package/dist/apis/CourseApi.js +89 -0
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.js +1 -0
- package/dist/esm/apis/ChangelogApi.d.ts +32 -0
- package/dist/esm/apis/ChangelogApi.js +66 -0
- package/dist/esm/apis/CourseApi.d.ts +34 -0
- package/dist/esm/apis/CourseApi.js +89 -0
- package/dist/esm/apis/index.d.ts +1 -0
- package/dist/esm/apis/index.js +1 -0
- package/dist/esm/models/CourseProgressionMode.d.ts +25 -0
- package/dist/esm/models/CourseProgressionMode.js +43 -0
- package/dist/esm/models/GetChangelogEntry.d.ts +44 -0
- package/dist/esm/models/GetChangelogEntry.js +51 -0
- package/dist/esm/models/GetChangelogList.d.ts +33 -0
- package/dist/esm/models/GetChangelogList.js +44 -0
- package/dist/esm/models/GetCourseVersion.d.ts +7 -0
- package/dist/esm/models/GetCourseVersion.js +5 -0
- package/dist/esm/models/GetCourseVersionItem.d.ts +6 -0
- package/dist/esm/models/GetCourseVersionItem.js +4 -0
- package/dist/esm/models/GetCourseVersionItemProgression.d.ts +105 -0
- package/dist/esm/models/GetCourseVersionItemProgression.js +92 -0
- package/dist/esm/models/GetCourseVersionItemSession.d.ts +37 -1
- package/dist/esm/models/GetCourseVersionItemSession.js +24 -0
- package/dist/esm/models/GetCourseVersionProgression.d.ts +59 -0
- package/dist/esm/models/GetCourseVersionProgression.js +62 -0
- package/dist/esm/models/GetCourseVersionSectionProgression.d.ts +75 -0
- package/dist/esm/models/GetCourseVersionSectionProgression.js +72 -0
- package/dist/esm/models/GetResourceSession.d.ts +36 -0
- package/dist/esm/models/GetResourceSession.js +24 -0
- package/dist/esm/models/PostCourseVersionItem.d.ts +6 -0
- package/dist/esm/models/PostCourseVersionItem.js +2 -0
- package/dist/esm/models/ProgressionGateError.d.ts +76 -0
- package/dist/esm/models/ProgressionGateError.js +74 -0
- package/dist/esm/models/ProgressionLockReason.d.ts +24 -0
- package/dist/esm/models/ProgressionLockReason.js +42 -0
- package/dist/esm/models/PutCourseVersionDraft.d.ts +33 -0
- package/dist/esm/models/PutCourseVersionDraft.js +44 -0
- package/dist/esm/models/PutCourseVersionItem.d.ts +6 -0
- package/dist/esm/models/PutCourseVersionItem.js +2 -0
- package/dist/esm/models/PutResourceSessionOverride.d.ts +6 -0
- package/dist/esm/models/PutResourceSessionOverride.js +2 -0
- package/dist/esm/models/index.d.ts +9 -0
- package/dist/esm/models/index.js +9 -0
- package/dist/models/CourseProgressionMode.d.ts +25 -0
- package/dist/models/CourseProgressionMode.js +51 -0
- package/dist/models/GetChangelogEntry.d.ts +44 -0
- package/dist/models/GetChangelogEntry.js +58 -0
- package/dist/models/GetChangelogList.d.ts +33 -0
- package/dist/models/GetChangelogList.js +51 -0
- package/dist/models/GetCourseVersion.d.ts +7 -0
- package/dist/models/GetCourseVersion.js +5 -0
- package/dist/models/GetCourseVersionItem.d.ts +6 -0
- package/dist/models/GetCourseVersionItem.js +4 -0
- package/dist/models/GetCourseVersionItemProgression.d.ts +105 -0
- package/dist/models/GetCourseVersionItemProgression.js +99 -0
- package/dist/models/GetCourseVersionItemSession.d.ts +37 -1
- package/dist/models/GetCourseVersionItemSession.js +24 -0
- package/dist/models/GetCourseVersionProgression.d.ts +59 -0
- package/dist/models/GetCourseVersionProgression.js +69 -0
- package/dist/models/GetCourseVersionSectionProgression.d.ts +75 -0
- package/dist/models/GetCourseVersionSectionProgression.js +79 -0
- package/dist/models/GetResourceSession.d.ts +36 -0
- package/dist/models/GetResourceSession.js +24 -0
- package/dist/models/PostCourseVersionItem.d.ts +6 -0
- package/dist/models/PostCourseVersionItem.js +2 -0
- package/dist/models/ProgressionGateError.d.ts +76 -0
- package/dist/models/ProgressionGateError.js +82 -0
- package/dist/models/ProgressionLockReason.d.ts +24 -0
- package/dist/models/ProgressionLockReason.js +50 -0
- package/dist/models/PutCourseVersionDraft.d.ts +33 -0
- package/dist/models/PutCourseVersionDraft.js +51 -0
- package/dist/models/PutCourseVersionItem.d.ts +6 -0
- package/dist/models/PutCourseVersionItem.js +2 -0
- package/dist/models/PutResourceSessionOverride.d.ts +6 -0
- package/dist/models/PutResourceSessionOverride.js +2 -0
- package/dist/models/index.d.ts +9 -0
- package/dist/models/index.js +9 -0
- package/docs/ChangelogApi.md +68 -0
- package/docs/CourseApi.md +143 -1
- package/docs/CourseProgressionMode.md +33 -0
- package/docs/GetChangelogEntry.md +39 -0
- package/docs/GetChangelogList.md +34 -0
- package/docs/GetCourseVersion.md +2 -0
- package/docs/GetCourseVersionItem.md +2 -0
- package/docs/GetCourseVersionItemProgression.md +58 -0
- package/docs/GetCourseVersionItemSession.md +12 -0
- package/docs/GetCourseVersionProgression.md +43 -0
- package/docs/GetCourseVersionSectionProgression.md +48 -0
- package/docs/GetResourceSession.md +12 -0
- package/docs/PlayerApi.md +1 -0
- package/docs/PostCourseVersionItem.md +2 -0
- package/docs/ProgressionGateError.md +47 -0
- package/docs/ProgressionLockReason.md +32 -0
- package/docs/PutCourseVersionDraft.md +34 -0
- package/docs/PutCourseVersionItem.md +2 -0
- package/docs/PutResourceSessionOverride.md +2 -0
- package/package.json +1 -1
- package/src/apis/ChangelogApi.ts +66 -0
- package/src/apis/CourseApi.ts +133 -0
- package/src/apis/PlayerApi.ts +5 -0
- package/src/apis/index.ts +1 -0
- package/src/models/CourseProgressionMode.ts +53 -0
- package/src/models/GetChangelogEntry.ts +84 -0
- package/src/models/GetChangelogList.ts +74 -0
- package/src/models/GetCourseVersion.ts +16 -0
- package/src/models/GetCourseVersionItem.ts +9 -0
- package/src/models/GetCourseVersionItemProgression.ts +184 -0
- package/src/models/GetCourseVersionItemSession.ts +55 -1
- package/src/models/GetCourseVersionProgression.ts +126 -0
- package/src/models/GetCourseVersionSectionProgression.ts +139 -0
- package/src/models/GetResourceSession.ts +54 -0
- package/src/models/PostCourseVersionItem.ts +8 -0
- package/src/models/ProgressionGateError.ts +131 -0
- package/src/models/ProgressionLockReason.ts +52 -0
- package/src/models/PutCourseVersionDraft.ts +76 -0
- package/src/models/PutCourseVersionItem.ts +8 -0
- package/src/models/PutResourceSessionOverride.ts +8 -0
- package/src/models/index.ts +9 -0
|
@@ -156,6 +156,42 @@ export interface GetResourceSession {
|
|
|
156
156
|
* @memberof GetResourceSession
|
|
157
157
|
*/
|
|
158
158
|
durationSeconds: number;
|
|
159
|
+
/**
|
|
160
|
+
*
|
|
161
|
+
* @type {number}
|
|
162
|
+
* @memberof GetResourceSession
|
|
163
|
+
*/
|
|
164
|
+
minimumActiveSeconds: number | null;
|
|
165
|
+
/**
|
|
166
|
+
* Active time accumulated across all live attempts for this course placement.
|
|
167
|
+
* @type {number}
|
|
168
|
+
* @memberof GetResourceSession
|
|
169
|
+
*/
|
|
170
|
+
accumulatedActiveSeconds: number;
|
|
171
|
+
/**
|
|
172
|
+
*
|
|
173
|
+
* @type {number}
|
|
174
|
+
* @memberof GetResourceSession
|
|
175
|
+
*/
|
|
176
|
+
remainingActiveSeconds: number;
|
|
177
|
+
/**
|
|
178
|
+
*
|
|
179
|
+
* @type {boolean}
|
|
180
|
+
* @memberof GetResourceSession
|
|
181
|
+
*/
|
|
182
|
+
timeRequirementMet: boolean;
|
|
183
|
+
/**
|
|
184
|
+
*
|
|
185
|
+
* @type {boolean}
|
|
186
|
+
* @memberof GetResourceSession
|
|
187
|
+
*/
|
|
188
|
+
timeRequirementWaived: boolean;
|
|
189
|
+
/**
|
|
190
|
+
*
|
|
191
|
+
* @type {boolean}
|
|
192
|
+
* @memberof GetResourceSession
|
|
193
|
+
*/
|
|
194
|
+
effectiveCompletionMet: boolean;
|
|
159
195
|
/**
|
|
160
196
|
*
|
|
161
197
|
* @type {number}
|
|
@@ -55,6 +55,18 @@ function instanceOfGetResourceSession(value) {
|
|
|
55
55
|
return false;
|
|
56
56
|
if (!('durationSeconds' in value) || value['durationSeconds'] === undefined)
|
|
57
57
|
return false;
|
|
58
|
+
if (!('minimumActiveSeconds' in value) || value['minimumActiveSeconds'] === undefined)
|
|
59
|
+
return false;
|
|
60
|
+
if (!('accumulatedActiveSeconds' in value) || value['accumulatedActiveSeconds'] === undefined)
|
|
61
|
+
return false;
|
|
62
|
+
if (!('remainingActiveSeconds' in value) || value['remainingActiveSeconds'] === undefined)
|
|
63
|
+
return false;
|
|
64
|
+
if (!('timeRequirementMet' in value) || value['timeRequirementMet'] === undefined)
|
|
65
|
+
return false;
|
|
66
|
+
if (!('timeRequirementWaived' in value) || value['timeRequirementWaived'] === undefined)
|
|
67
|
+
return false;
|
|
68
|
+
if (!('effectiveCompletionMet' in value) || value['effectiveCompletionMet'] === undefined)
|
|
69
|
+
return false;
|
|
58
70
|
if (!('createdAt' in value) || value['createdAt'] === undefined)
|
|
59
71
|
return false;
|
|
60
72
|
if (!('updatedAt' in value) || value['updatedAt'] === undefined)
|
|
@@ -92,6 +104,12 @@ function GetResourceSessionFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
92
104
|
'gradeStatus': json['grade_status'],
|
|
93
105
|
'scoreRaw': json['score_raw'] == null ? undefined : json['score_raw'],
|
|
94
106
|
'durationSeconds': json['duration_seconds'],
|
|
107
|
+
'minimumActiveSeconds': json['minimum_active_seconds'],
|
|
108
|
+
'accumulatedActiveSeconds': json['accumulated_active_seconds'],
|
|
109
|
+
'remainingActiveSeconds': json['remaining_active_seconds'],
|
|
110
|
+
'timeRequirementMet': json['time_requirement_met'],
|
|
111
|
+
'timeRequirementWaived': json['time_requirement_waived'],
|
|
112
|
+
'effectiveCompletionMet': json['effective_completion_met'],
|
|
95
113
|
'initializedAt': json['initialized_at'] == null ? undefined : json['initialized_at'],
|
|
96
114
|
'terminatedAt': json['terminated_at'] == null ? undefined : json['terminated_at'],
|
|
97
115
|
'createdAt': json['created_at'],
|
|
@@ -130,6 +148,12 @@ function GetResourceSessionToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
130
148
|
'grade_status': value['gradeStatus'],
|
|
131
149
|
'score_raw': value['scoreRaw'],
|
|
132
150
|
'duration_seconds': value['durationSeconds'],
|
|
151
|
+
'minimum_active_seconds': value['minimumActiveSeconds'],
|
|
152
|
+
'accumulated_active_seconds': value['accumulatedActiveSeconds'],
|
|
153
|
+
'remaining_active_seconds': value['remainingActiveSeconds'],
|
|
154
|
+
'time_requirement_met': value['timeRequirementMet'],
|
|
155
|
+
'time_requirement_waived': value['timeRequirementWaived'],
|
|
156
|
+
'effective_completion_met': value['effectiveCompletionMet'],
|
|
133
157
|
'initialized_at': value['initializedAt'],
|
|
134
158
|
'terminated_at': value['terminatedAt'],
|
|
135
159
|
'created_at': value['createdAt'],
|
|
@@ -52,6 +52,12 @@ export interface PostCourseVersionItem {
|
|
|
52
52
|
* @memberof PostCourseVersionItem
|
|
53
53
|
*/
|
|
54
54
|
isRequired?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Resource placements only. Omit or set null to disable the timer.
|
|
57
|
+
* @type {number}
|
|
58
|
+
* @memberof PostCourseVersionItem
|
|
59
|
+
*/
|
|
60
|
+
minimumActiveSeconds?: number | null;
|
|
55
61
|
/**
|
|
56
62
|
*
|
|
57
63
|
* @type {ContentLaunchMode}
|
|
@@ -49,6 +49,7 @@ function PostCourseVersionItemFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
49
49
|
'position': json['position'] == null ? undefined : json['position'],
|
|
50
50
|
'isVisible': json['is_visible'] == null ? undefined : json['is_visible'],
|
|
51
51
|
'isRequired': json['is_required'] == null ? undefined : json['is_required'],
|
|
52
|
+
'minimumActiveSeconds': json['minimum_active_seconds'] == null ? undefined : json['minimum_active_seconds'],
|
|
52
53
|
'launchMode': json['launch_mode'] == null ? undefined : (0, ContentLaunchMode_1.ContentLaunchModeFromJSON)(json['launch_mode']),
|
|
53
54
|
'maxAttempts': json['max_attempts'] == null ? undefined : json['max_attempts'],
|
|
54
55
|
'scoreRollupStrategy': json['score_rollup_strategy'] == null ? undefined : json['score_rollup_strategy'],
|
|
@@ -69,6 +70,7 @@ function PostCourseVersionItemToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
69
70
|
'position': value['position'],
|
|
70
71
|
'is_visible': value['isVisible'],
|
|
71
72
|
'is_required': value['isRequired'],
|
|
73
|
+
'minimum_active_seconds': value['minimumActiveSeconds'],
|
|
72
74
|
'launch_mode': (0, ContentLaunchMode_1.ContentLaunchModeToJSON)(value['launchMode']),
|
|
73
75
|
'max_attempts': value['maxAttempts'],
|
|
74
76
|
'score_rollup_strategy': value['scoreRollupStrategy'],
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LMS API
|
|
3
|
+
* LMS API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Structured detail explaining why learner progression is currently blocked.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface ProgressionGateError
|
|
16
|
+
*/
|
|
17
|
+
export interface ProgressionGateError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {ProgressionGateErrorCodeEnum}
|
|
21
|
+
* @memberof ProgressionGateError
|
|
22
|
+
*/
|
|
23
|
+
code: ProgressionGateErrorCodeEnum;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof ProgressionGateError
|
|
28
|
+
*/
|
|
29
|
+
message: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof ProgressionGateError
|
|
34
|
+
*/
|
|
35
|
+
blockingSectionId: string | null;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {Array<string>}
|
|
39
|
+
* @memberof ProgressionGateError
|
|
40
|
+
*/
|
|
41
|
+
blockingItemIds: Array<string>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {number}
|
|
45
|
+
* @memberof ProgressionGateError
|
|
46
|
+
*/
|
|
47
|
+
minimumActiveSeconds: number | null;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
* @memberof ProgressionGateError
|
|
52
|
+
*/
|
|
53
|
+
activeSeconds: number | null;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {number}
|
|
57
|
+
* @memberof ProgressionGateError
|
|
58
|
+
*/
|
|
59
|
+
remainingActiveSeconds: number | null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @export
|
|
63
|
+
*/
|
|
64
|
+
export declare const ProgressionGateErrorCodeEnum: {
|
|
65
|
+
readonly ProgressionLocked: "progression_locked";
|
|
66
|
+
readonly MinimumActiveTimeNotMet: "minimum_active_time_not_met";
|
|
67
|
+
};
|
|
68
|
+
export type ProgressionGateErrorCodeEnum = typeof ProgressionGateErrorCodeEnum[keyof typeof ProgressionGateErrorCodeEnum];
|
|
69
|
+
/**
|
|
70
|
+
* Check if a given object implements the ProgressionGateError interface.
|
|
71
|
+
*/
|
|
72
|
+
export declare function instanceOfProgressionGateError(value: object): value is ProgressionGateError;
|
|
73
|
+
export declare function ProgressionGateErrorFromJSON(json: any): ProgressionGateError;
|
|
74
|
+
export declare function ProgressionGateErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProgressionGateError;
|
|
75
|
+
export declare function ProgressionGateErrorToJSON(json: any): ProgressionGateError;
|
|
76
|
+
export declare function ProgressionGateErrorToJSONTyped(value?: ProgressionGateError | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,82 @@
|
|
|
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.ProgressionGateErrorCodeEnum = void 0;
|
|
17
|
+
exports.instanceOfProgressionGateError = instanceOfProgressionGateError;
|
|
18
|
+
exports.ProgressionGateErrorFromJSON = ProgressionGateErrorFromJSON;
|
|
19
|
+
exports.ProgressionGateErrorFromJSONTyped = ProgressionGateErrorFromJSONTyped;
|
|
20
|
+
exports.ProgressionGateErrorToJSON = ProgressionGateErrorToJSON;
|
|
21
|
+
exports.ProgressionGateErrorToJSONTyped = ProgressionGateErrorToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.ProgressionGateErrorCodeEnum = {
|
|
26
|
+
ProgressionLocked: 'progression_locked',
|
|
27
|
+
MinimumActiveTimeNotMet: 'minimum_active_time_not_met'
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Check if a given object implements the ProgressionGateError interface.
|
|
31
|
+
*/
|
|
32
|
+
function instanceOfProgressionGateError(value) {
|
|
33
|
+
if (!('code' in value) || value['code'] === undefined)
|
|
34
|
+
return false;
|
|
35
|
+
if (!('message' in value) || value['message'] === undefined)
|
|
36
|
+
return false;
|
|
37
|
+
if (!('blockingSectionId' in value) || value['blockingSectionId'] === undefined)
|
|
38
|
+
return false;
|
|
39
|
+
if (!('blockingItemIds' in value) || value['blockingItemIds'] === undefined)
|
|
40
|
+
return false;
|
|
41
|
+
if (!('minimumActiveSeconds' in value) || value['minimumActiveSeconds'] === undefined)
|
|
42
|
+
return false;
|
|
43
|
+
if (!('activeSeconds' in value) || value['activeSeconds'] === undefined)
|
|
44
|
+
return false;
|
|
45
|
+
if (!('remainingActiveSeconds' in value) || value['remainingActiveSeconds'] === undefined)
|
|
46
|
+
return false;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
function ProgressionGateErrorFromJSON(json) {
|
|
50
|
+
return ProgressionGateErrorFromJSONTyped(json, false);
|
|
51
|
+
}
|
|
52
|
+
function ProgressionGateErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
53
|
+
if (json == null) {
|
|
54
|
+
return json;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
'code': json['code'],
|
|
58
|
+
'message': json['message'],
|
|
59
|
+
'blockingSectionId': json['blocking_section_id'],
|
|
60
|
+
'blockingItemIds': json['blocking_item_ids'],
|
|
61
|
+
'minimumActiveSeconds': json['minimum_active_seconds'],
|
|
62
|
+
'activeSeconds': json['active_seconds'],
|
|
63
|
+
'remainingActiveSeconds': json['remaining_active_seconds'],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function ProgressionGateErrorToJSON(json) {
|
|
67
|
+
return ProgressionGateErrorToJSONTyped(json, false);
|
|
68
|
+
}
|
|
69
|
+
function ProgressionGateErrorToJSONTyped(value, ignoreDiscriminator = false) {
|
|
70
|
+
if (value == null) {
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
'code': value['code'],
|
|
75
|
+
'message': value['message'],
|
|
76
|
+
'blocking_section_id': value['blockingSectionId'],
|
|
77
|
+
'blocking_item_ids': value['blockingItemIds'],
|
|
78
|
+
'minimum_active_seconds': value['minimumActiveSeconds'],
|
|
79
|
+
'active_seconds': value['activeSeconds'],
|
|
80
|
+
'remaining_active_seconds': value['remainingActiveSeconds'],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LMS API
|
|
3
|
+
* LMS API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @export
|
|
15
|
+
*/
|
|
16
|
+
export declare const ProgressionLockReason: {
|
|
17
|
+
readonly PreviousSectionIncomplete: "previous_section_incomplete";
|
|
18
|
+
};
|
|
19
|
+
export type ProgressionLockReason = typeof ProgressionLockReason[keyof typeof ProgressionLockReason];
|
|
20
|
+
export declare function instanceOfProgressionLockReason(value: any): boolean;
|
|
21
|
+
export declare function ProgressionLockReasonFromJSON(json: any): ProgressionLockReason;
|
|
22
|
+
export declare function ProgressionLockReasonFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProgressionLockReason;
|
|
23
|
+
export declare function ProgressionLockReasonToJSON(value?: ProgressionLockReason | null): any;
|
|
24
|
+
export declare function ProgressionLockReasonToJSONTyped(value: any, ignoreDiscriminator: boolean): ProgressionLockReason;
|
|
@@ -0,0 +1,50 @@
|
|
|
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.ProgressionLockReason = void 0;
|
|
17
|
+
exports.instanceOfProgressionLockReason = instanceOfProgressionLockReason;
|
|
18
|
+
exports.ProgressionLockReasonFromJSON = ProgressionLockReasonFromJSON;
|
|
19
|
+
exports.ProgressionLockReasonFromJSONTyped = ProgressionLockReasonFromJSONTyped;
|
|
20
|
+
exports.ProgressionLockReasonToJSON = ProgressionLockReasonToJSON;
|
|
21
|
+
exports.ProgressionLockReasonToJSONTyped = ProgressionLockReasonToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @export
|
|
25
|
+
*/
|
|
26
|
+
exports.ProgressionLockReason = {
|
|
27
|
+
PreviousSectionIncomplete: 'previous_section_incomplete'
|
|
28
|
+
};
|
|
29
|
+
function instanceOfProgressionLockReason(value) {
|
|
30
|
+
for (const key in exports.ProgressionLockReason) {
|
|
31
|
+
if (Object.prototype.hasOwnProperty.call(exports.ProgressionLockReason, key)) {
|
|
32
|
+
if (exports.ProgressionLockReason[key] === value) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
function ProgressionLockReasonFromJSON(json) {
|
|
40
|
+
return ProgressionLockReasonFromJSONTyped(json, false);
|
|
41
|
+
}
|
|
42
|
+
function ProgressionLockReasonFromJSONTyped(json, ignoreDiscriminator) {
|
|
43
|
+
return json;
|
|
44
|
+
}
|
|
45
|
+
function ProgressionLockReasonToJSON(value) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
function ProgressionLockReasonToJSONTyped(value, ignoreDiscriminator) {
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LMS API
|
|
3
|
+
* LMS API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import type { CourseProgressionMode } from './CourseProgressionMode';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @interface PutCourseVersionDraft
|
|
17
|
+
*/
|
|
18
|
+
export interface PutCourseVersionDraft {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {CourseProgressionMode}
|
|
22
|
+
* @memberof PutCourseVersionDraft
|
|
23
|
+
*/
|
|
24
|
+
progressionMode: CourseProgressionMode;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if a given object implements the PutCourseVersionDraft interface.
|
|
28
|
+
*/
|
|
29
|
+
export declare function instanceOfPutCourseVersionDraft(value: object): value is PutCourseVersionDraft;
|
|
30
|
+
export declare function PutCourseVersionDraftFromJSON(json: any): PutCourseVersionDraft;
|
|
31
|
+
export declare function PutCourseVersionDraftFromJSONTyped(json: any, ignoreDiscriminator: boolean): PutCourseVersionDraft;
|
|
32
|
+
export declare function PutCourseVersionDraftToJSON(json: any): PutCourseVersionDraft;
|
|
33
|
+
export declare function PutCourseVersionDraftToJSONTyped(value?: PutCourseVersionDraft | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,51 @@
|
|
|
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.instanceOfPutCourseVersionDraft = instanceOfPutCourseVersionDraft;
|
|
17
|
+
exports.PutCourseVersionDraftFromJSON = PutCourseVersionDraftFromJSON;
|
|
18
|
+
exports.PutCourseVersionDraftFromJSONTyped = PutCourseVersionDraftFromJSONTyped;
|
|
19
|
+
exports.PutCourseVersionDraftToJSON = PutCourseVersionDraftToJSON;
|
|
20
|
+
exports.PutCourseVersionDraftToJSONTyped = PutCourseVersionDraftToJSONTyped;
|
|
21
|
+
const CourseProgressionMode_1 = require("./CourseProgressionMode");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the PutCourseVersionDraft interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfPutCourseVersionDraft(value) {
|
|
26
|
+
if (!('progressionMode' in value) || value['progressionMode'] === undefined)
|
|
27
|
+
return false;
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
function PutCourseVersionDraftFromJSON(json) {
|
|
31
|
+
return PutCourseVersionDraftFromJSONTyped(json, false);
|
|
32
|
+
}
|
|
33
|
+
function PutCourseVersionDraftFromJSONTyped(json, ignoreDiscriminator) {
|
|
34
|
+
if (json == null) {
|
|
35
|
+
return json;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
'progressionMode': (0, CourseProgressionMode_1.CourseProgressionModeFromJSON)(json['progression_mode']),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function PutCourseVersionDraftToJSON(json) {
|
|
42
|
+
return PutCourseVersionDraftToJSONTyped(json, false);
|
|
43
|
+
}
|
|
44
|
+
function PutCourseVersionDraftToJSONTyped(value, ignoreDiscriminator = false) {
|
|
45
|
+
if (value == null) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
'progression_mode': (0, CourseProgressionMode_1.CourseProgressionModeToJSON)(value['progressionMode']),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -52,6 +52,12 @@ export interface PutCourseVersionItem {
|
|
|
52
52
|
* @memberof PutCourseVersionItem
|
|
53
53
|
*/
|
|
54
54
|
isRequired?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Resource placements only. Set null to disable the timer.
|
|
57
|
+
* @type {number}
|
|
58
|
+
* @memberof PutCourseVersionItem
|
|
59
|
+
*/
|
|
60
|
+
minimumActiveSeconds?: number | null;
|
|
55
61
|
/**
|
|
56
62
|
*
|
|
57
63
|
* @type {ContentLaunchMode}
|
|
@@ -47,6 +47,7 @@ function PutCourseVersionItemFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
47
47
|
'position': json['position'] == null ? undefined : json['position'],
|
|
48
48
|
'isVisible': json['is_visible'] == null ? undefined : json['is_visible'],
|
|
49
49
|
'isRequired': json['is_required'] == null ? undefined : json['is_required'],
|
|
50
|
+
'minimumActiveSeconds': json['minimum_active_seconds'] == null ? undefined : json['minimum_active_seconds'],
|
|
50
51
|
'launchMode': json['launch_mode'] == null ? undefined : (0, ContentLaunchMode_1.ContentLaunchModeFromJSON)(json['launch_mode']),
|
|
51
52
|
'maxAttempts': json['max_attempts'] == null ? undefined : json['max_attempts'],
|
|
52
53
|
'scoreRollupStrategy': json['score_rollup_strategy'] == null ? undefined : json['score_rollup_strategy'],
|
|
@@ -67,6 +68,7 @@ function PutCourseVersionItemToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
67
68
|
'position': value['position'],
|
|
68
69
|
'is_visible': value['isVisible'],
|
|
69
70
|
'is_required': value['isRequired'],
|
|
71
|
+
'minimum_active_seconds': value['minimumActiveSeconds'],
|
|
70
72
|
'launch_mode': (0, ContentLaunchMode_1.ContentLaunchModeToJSON)(value['launchMode']),
|
|
71
73
|
'max_attempts': value['maxAttempts'],
|
|
72
74
|
'score_rollup_strategy': value['scoreRollupStrategy'],
|
|
@@ -33,6 +33,12 @@ export interface PutResourceSessionOverride {
|
|
|
33
33
|
* @memberof PutResourceSessionOverride
|
|
34
34
|
*/
|
|
35
35
|
scoreRaw?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Permanently waive the placement's minimum active-time requirement for this learner.
|
|
38
|
+
* @type {boolean}
|
|
39
|
+
* @memberof PutResourceSessionOverride
|
|
40
|
+
*/
|
|
41
|
+
waiveMinimumActiveTime?: boolean;
|
|
36
42
|
/**
|
|
37
43
|
*
|
|
38
44
|
* @type {string}
|
|
@@ -55,6 +55,7 @@ function PutResourceSessionOverrideFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
55
55
|
'completionStatus': json['completion_status'] == null ? undefined : json['completion_status'],
|
|
56
56
|
'gradeStatus': json['grade_status'] == null ? undefined : json['grade_status'],
|
|
57
57
|
'scoreRaw': json['score_raw'] == null ? undefined : json['score_raw'],
|
|
58
|
+
'waiveMinimumActiveTime': json['waive_minimum_active_time'] == null ? undefined : json['waive_minimum_active_time'],
|
|
58
59
|
'reason': json['reason'],
|
|
59
60
|
};
|
|
60
61
|
}
|
|
@@ -69,6 +70,7 @@ function PutResourceSessionOverrideToJSONTyped(value, ignoreDiscriminator = fals
|
|
|
69
70
|
'completion_status': value['completionStatus'],
|
|
70
71
|
'grade_status': value['gradeStatus'],
|
|
71
72
|
'score_raw': value['scoreRaw'],
|
|
73
|
+
'waive_minimum_active_time': value['waiveMinimumActiveTime'],
|
|
72
74
|
'reason': value['reason'],
|
|
73
75
|
};
|
|
74
76
|
}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export * from './CertificateTemplateVersion';
|
|
|
23
23
|
export * from './ContentLaunchMode';
|
|
24
24
|
export * from './ContentLibraryVersionStatus';
|
|
25
25
|
export * from './CourseCatalog';
|
|
26
|
+
export * from './CourseProgressionMode';
|
|
26
27
|
export * from './CourseShare';
|
|
27
28
|
export * from './EffectiveCertificateConfig';
|
|
28
29
|
export * from './EmailTemplateDefinition';
|
|
@@ -35,6 +36,8 @@ export * from './GetCertificateConfigList';
|
|
|
35
36
|
export * from './GetCertificateEventList';
|
|
36
37
|
export * from './GetCertificateList';
|
|
37
38
|
export * from './GetCertificateTemplateList';
|
|
39
|
+
export * from './GetChangelogEntry';
|
|
40
|
+
export * from './GetChangelogList';
|
|
38
41
|
export * from './GetChatMessage';
|
|
39
42
|
export * from './GetContentLibraryVersion';
|
|
40
43
|
export * from './GetConversation';
|
|
@@ -50,12 +53,15 @@ export * from './GetCourseList';
|
|
|
50
53
|
export * from './GetCourseVersion';
|
|
51
54
|
export * from './GetCourseVersionItem';
|
|
52
55
|
export * from './GetCourseVersionItemLaunch';
|
|
56
|
+
export * from './GetCourseVersionItemProgression';
|
|
53
57
|
export * from './GetCourseVersionItemReporting';
|
|
54
58
|
export * from './GetCourseVersionItemSession';
|
|
55
59
|
export * from './GetCourseVersionList';
|
|
60
|
+
export * from './GetCourseVersionProgression';
|
|
56
61
|
export * from './GetCourseVersionReporting';
|
|
57
62
|
export * from './GetCourseVersionSection';
|
|
58
63
|
export * from './GetCourseVersionSectionChild';
|
|
64
|
+
export * from './GetCourseVersionSectionProgression';
|
|
59
65
|
export * from './GetCourseVersionSectionReporting';
|
|
60
66
|
export * from './GetEmailAssetUpload';
|
|
61
67
|
export * from './GetEmailDelivery';
|
|
@@ -205,6 +211,8 @@ export * from './PostSignupRequest';
|
|
|
205
211
|
export * from './PostSignupRequestResponse';
|
|
206
212
|
export * from './PostSupportTicket';
|
|
207
213
|
export * from './PostSupportTicketComment';
|
|
214
|
+
export * from './ProgressionGateError';
|
|
215
|
+
export * from './ProgressionLockReason';
|
|
208
216
|
export * from './PutAttemptAllowance';
|
|
209
217
|
export * from './PutBadgeIssuer';
|
|
210
218
|
export * from './PutCertificateConfig';
|
|
@@ -213,6 +221,7 @@ export * from './PutCertificateTemplateDraft';
|
|
|
213
221
|
export * from './PutCourse';
|
|
214
222
|
export * from './PutCourseCatalog';
|
|
215
223
|
export * from './PutCourseEnrollment';
|
|
224
|
+
export * from './PutCourseVersionDraft';
|
|
216
225
|
export * from './PutCourseVersionItem';
|
|
217
226
|
export * from './PutCourseVersionOutlineEntryMove';
|
|
218
227
|
export * from './PutCourseVersionSection';
|
package/dist/models/index.js
CHANGED
|
@@ -41,6 +41,7 @@ __exportStar(require("./CertificateTemplateVersion"), exports);
|
|
|
41
41
|
__exportStar(require("./ContentLaunchMode"), exports);
|
|
42
42
|
__exportStar(require("./ContentLibraryVersionStatus"), exports);
|
|
43
43
|
__exportStar(require("./CourseCatalog"), exports);
|
|
44
|
+
__exportStar(require("./CourseProgressionMode"), exports);
|
|
44
45
|
__exportStar(require("./CourseShare"), exports);
|
|
45
46
|
__exportStar(require("./EffectiveCertificateConfig"), exports);
|
|
46
47
|
__exportStar(require("./EmailTemplateDefinition"), exports);
|
|
@@ -53,6 +54,8 @@ __exportStar(require("./GetCertificateConfigList"), exports);
|
|
|
53
54
|
__exportStar(require("./GetCertificateEventList"), exports);
|
|
54
55
|
__exportStar(require("./GetCertificateList"), exports);
|
|
55
56
|
__exportStar(require("./GetCertificateTemplateList"), exports);
|
|
57
|
+
__exportStar(require("./GetChangelogEntry"), exports);
|
|
58
|
+
__exportStar(require("./GetChangelogList"), exports);
|
|
56
59
|
__exportStar(require("./GetChatMessage"), exports);
|
|
57
60
|
__exportStar(require("./GetContentLibraryVersion"), exports);
|
|
58
61
|
__exportStar(require("./GetConversation"), exports);
|
|
@@ -68,12 +71,15 @@ __exportStar(require("./GetCourseList"), exports);
|
|
|
68
71
|
__exportStar(require("./GetCourseVersion"), exports);
|
|
69
72
|
__exportStar(require("./GetCourseVersionItem"), exports);
|
|
70
73
|
__exportStar(require("./GetCourseVersionItemLaunch"), exports);
|
|
74
|
+
__exportStar(require("./GetCourseVersionItemProgression"), exports);
|
|
71
75
|
__exportStar(require("./GetCourseVersionItemReporting"), exports);
|
|
72
76
|
__exportStar(require("./GetCourseVersionItemSession"), exports);
|
|
73
77
|
__exportStar(require("./GetCourseVersionList"), exports);
|
|
78
|
+
__exportStar(require("./GetCourseVersionProgression"), exports);
|
|
74
79
|
__exportStar(require("./GetCourseVersionReporting"), exports);
|
|
75
80
|
__exportStar(require("./GetCourseVersionSection"), exports);
|
|
76
81
|
__exportStar(require("./GetCourseVersionSectionChild"), exports);
|
|
82
|
+
__exportStar(require("./GetCourseVersionSectionProgression"), exports);
|
|
77
83
|
__exportStar(require("./GetCourseVersionSectionReporting"), exports);
|
|
78
84
|
__exportStar(require("./GetEmailAssetUpload"), exports);
|
|
79
85
|
__exportStar(require("./GetEmailDelivery"), exports);
|
|
@@ -223,6 +229,8 @@ __exportStar(require("./PostSignupRequest"), exports);
|
|
|
223
229
|
__exportStar(require("./PostSignupRequestResponse"), exports);
|
|
224
230
|
__exportStar(require("./PostSupportTicket"), exports);
|
|
225
231
|
__exportStar(require("./PostSupportTicketComment"), exports);
|
|
232
|
+
__exportStar(require("./ProgressionGateError"), exports);
|
|
233
|
+
__exportStar(require("./ProgressionLockReason"), exports);
|
|
226
234
|
__exportStar(require("./PutAttemptAllowance"), exports);
|
|
227
235
|
__exportStar(require("./PutBadgeIssuer"), exports);
|
|
228
236
|
__exportStar(require("./PutCertificateConfig"), exports);
|
|
@@ -231,6 +239,7 @@ __exportStar(require("./PutCertificateTemplateDraft"), exports);
|
|
|
231
239
|
__exportStar(require("./PutCourse"), exports);
|
|
232
240
|
__exportStar(require("./PutCourseCatalog"), exports);
|
|
233
241
|
__exportStar(require("./PutCourseEnrollment"), exports);
|
|
242
|
+
__exportStar(require("./PutCourseVersionDraft"), exports);
|
|
234
243
|
__exportStar(require("./PutCourseVersionItem"), exports);
|
|
235
244
|
__exportStar(require("./PutCourseVersionOutlineEntryMove"), exports);
|
|
236
245
|
__exportStar(require("./PutCourseVersionSection"), exports);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# ChangelogApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com/stage1*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
|------------- | ------------- | -------------|
|
|
7
|
+
| [**getChangelog**](ChangelogApi.md#getchangelog) | **GET** /changelog | List user-facing product updates |
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## getChangelog
|
|
12
|
+
|
|
13
|
+
> GetChangelogList getChangelog()
|
|
14
|
+
|
|
15
|
+
List user-facing product updates
|
|
16
|
+
|
|
17
|
+
Returns the changelog loaded from the server\'s configured changelog file at startup, newest first.
|
|
18
|
+
|
|
19
|
+
### Example
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import {
|
|
23
|
+
Configuration,
|
|
24
|
+
ChangelogApi,
|
|
25
|
+
} from '@easyedu/js-lsm-api';
|
|
26
|
+
import type { GetChangelogRequest } from '@easyedu/js-lsm-api';
|
|
27
|
+
|
|
28
|
+
async function example() {
|
|
29
|
+
console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
|
|
30
|
+
const api = new ChangelogApi();
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
const data = await api.getChangelog();
|
|
34
|
+
console.log(data);
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.error(error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Run the test
|
|
41
|
+
example().catch(console.error);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Parameters
|
|
45
|
+
|
|
46
|
+
This endpoint does not need any parameter.
|
|
47
|
+
|
|
48
|
+
### Return type
|
|
49
|
+
|
|
50
|
+
[**GetChangelogList**](GetChangelogList.md)
|
|
51
|
+
|
|
52
|
+
### Authorization
|
|
53
|
+
|
|
54
|
+
No authorization required
|
|
55
|
+
|
|
56
|
+
### HTTP request headers
|
|
57
|
+
|
|
58
|
+
- **Content-Type**: Not defined
|
|
59
|
+
- **Accept**: `application/json`
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### HTTP response details
|
|
63
|
+
| Status code | Description | Response headers |
|
|
64
|
+
|-------------|-------------|------------------|
|
|
65
|
+
| **200** | Product changelog | - |
|
|
66
|
+
|
|
67
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
68
|
+
|