@easyedu/js-lsm-api 1.68.0 → 1.70.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 +8 -0
- package/README.md +6 -2
- package/dist/esm/models/ContentAttemptSettings.d.ts +46 -0
- package/dist/esm/models/ContentAttemptSettings.js +54 -0
- package/dist/esm/models/GetContent.d.ts +7 -0
- package/dist/esm/models/GetContent.js +5 -0
- package/dist/esm/models/GetCourseStudentReporting.d.ts +7 -0
- package/dist/esm/models/GetCourseStudentReporting.js +5 -0
- package/dist/esm/models/GetCourseStudentReportingModulesInner.d.ts +71 -0
- package/dist/esm/models/GetCourseStudentReportingModulesInner.js +71 -0
- package/dist/esm/models/GetModuleStudentReporting.d.ts +7 -0
- package/dist/esm/models/GetModuleStudentReporting.js +5 -0
- package/dist/esm/models/GetModuleStudentReportingContentsInner.d.ts +101 -0
- package/dist/esm/models/GetModuleStudentReportingContentsInner.js +91 -0
- package/dist/esm/models/PutContent.d.ts +7 -0
- package/dist/esm/models/PutContent.js +3 -0
- package/dist/esm/models/PutContentAttemptSettings.d.ts +46 -0
- package/dist/esm/models/PutContentAttemptSettings.js +50 -0
- package/dist/esm/models/index.d.ts +4 -0
- package/dist/esm/models/index.js +4 -0
- package/dist/models/ContentAttemptSettings.d.ts +46 -0
- package/dist/models/ContentAttemptSettings.js +62 -0
- package/dist/models/GetContent.d.ts +7 -0
- package/dist/models/GetContent.js +5 -0
- package/dist/models/GetCourseStudentReporting.d.ts +7 -0
- package/dist/models/GetCourseStudentReporting.js +5 -0
- package/dist/models/GetCourseStudentReportingModulesInner.d.ts +71 -0
- package/dist/models/GetCourseStudentReportingModulesInner.js +79 -0
- package/dist/models/GetModuleStudentReporting.d.ts +7 -0
- package/dist/models/GetModuleStudentReporting.js +5 -0
- package/dist/models/GetModuleStudentReportingContentsInner.d.ts +101 -0
- package/dist/models/GetModuleStudentReportingContentsInner.js +99 -0
- package/dist/models/PutContent.d.ts +7 -0
- package/dist/models/PutContent.js +3 -0
- package/dist/models/PutContentAttemptSettings.d.ts +46 -0
- package/dist/models/PutContentAttemptSettings.js +58 -0
- package/dist/models/index.d.ts +4 -0
- package/dist/models/index.js +4 -0
- package/docs/ContentAttemptSettings.md +36 -0
- package/docs/GetContent.md +2 -0
- package/docs/GetCourseStudentReporting.md +2 -0
- package/docs/GetCourseStudentReportingModulesInner.md +44 -0
- package/docs/GetModuleStudentReporting.md +2 -0
- package/docs/GetModuleStudentReportingContentsInner.md +54 -0
- package/docs/PutContent.md +2 -0
- package/docs/PutContentAttemptSettings.md +36 -0
- package/package.json +1 -1
- package/src/models/ContentAttemptSettings.ts +86 -0
- package/src/models/GetContent.ts +16 -0
- package/src/models/GetCourseStudentReporting.ts +16 -0
- package/src/models/GetCourseStudentReportingModulesInner.ts +123 -0
- package/src/models/GetModuleStudentReporting.ts +16 -0
- package/src/models/GetModuleStudentReportingContentsInner.ts +168 -0
- package/src/models/PutContent.ts +15 -0
- package/src/models/PutContentAttemptSettings.ts +84 -0
- package/src/models/index.ts +4 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
# PutContentAttemptSettings
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type
|
|
8
|
+
------------ | -------------
|
|
9
|
+
`maxAttempts` | number
|
|
10
|
+
`scoreRollupStrategy` | string
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import type { PutContentAttemptSettings } from '@easyedu/js-lsm-api'
|
|
16
|
+
|
|
17
|
+
// TODO: Update the object below with actual values
|
|
18
|
+
const example = {
|
|
19
|
+
"maxAttempts": null,
|
|
20
|
+
"scoreRollupStrategy": null,
|
|
21
|
+
} satisfies PutContentAttemptSettings
|
|
22
|
+
|
|
23
|
+
console.log(example)
|
|
24
|
+
|
|
25
|
+
// Convert the instance to a JSON string
|
|
26
|
+
const exampleJSON: string = JSON.stringify(example)
|
|
27
|
+
console.log(exampleJSON)
|
|
28
|
+
|
|
29
|
+
// Parse the JSON string back to an object
|
|
30
|
+
const exampleParsed = JSON.parse(exampleJSON) as PutContentAttemptSettings
|
|
31
|
+
console.log(exampleParsed)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
35
|
+
|
|
36
|
+
|
package/package.json
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* LMS API
|
|
5
|
+
* LMS API
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface ContentAttemptSettings
|
|
20
|
+
*/
|
|
21
|
+
export interface ContentAttemptSettings {
|
|
22
|
+
/**
|
|
23
|
+
* Maximum allowed attempts for this content
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof ContentAttemptSettings
|
|
26
|
+
*/
|
|
27
|
+
maxAttempts: number;
|
|
28
|
+
/**
|
|
29
|
+
* Strategy used to calculate the content rollup score
|
|
30
|
+
* @type {ContentAttemptSettingsScoreRollupStrategyEnum}
|
|
31
|
+
* @memberof ContentAttemptSettings
|
|
32
|
+
*/
|
|
33
|
+
scoreRollupStrategy: ContentAttemptSettingsScoreRollupStrategyEnum;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @export
|
|
39
|
+
*/
|
|
40
|
+
export const ContentAttemptSettingsScoreRollupStrategyEnum = {
|
|
41
|
+
Latest: 'Latest',
|
|
42
|
+
Best: 'Best'
|
|
43
|
+
} as const;
|
|
44
|
+
export type ContentAttemptSettingsScoreRollupStrategyEnum = typeof ContentAttemptSettingsScoreRollupStrategyEnum[keyof typeof ContentAttemptSettingsScoreRollupStrategyEnum];
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Check if a given object implements the ContentAttemptSettings interface.
|
|
49
|
+
*/
|
|
50
|
+
export function instanceOfContentAttemptSettings(value: object): value is ContentAttemptSettings {
|
|
51
|
+
if (!('maxAttempts' in value) || value['maxAttempts'] === undefined) return false;
|
|
52
|
+
if (!('scoreRollupStrategy' in value) || value['scoreRollupStrategy'] === undefined) return false;
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function ContentAttemptSettingsFromJSON(json: any): ContentAttemptSettings {
|
|
57
|
+
return ContentAttemptSettingsFromJSONTyped(json, false);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function ContentAttemptSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContentAttemptSettings {
|
|
61
|
+
if (json == null) {
|
|
62
|
+
return json;
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
|
|
66
|
+
'maxAttempts': json['max_attempts'],
|
|
67
|
+
'scoreRollupStrategy': json['score_rollup_strategy'],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function ContentAttemptSettingsToJSON(json: any): ContentAttemptSettings {
|
|
72
|
+
return ContentAttemptSettingsToJSONTyped(json, false);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function ContentAttemptSettingsToJSONTyped(value?: ContentAttemptSettings | null, ignoreDiscriminator: boolean = false): any {
|
|
76
|
+
if (value == null) {
|
|
77
|
+
return value;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return {
|
|
81
|
+
|
|
82
|
+
'max_attempts': value['maxAttempts'],
|
|
83
|
+
'score_rollup_strategy': value['scoreRollupStrategy'],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
package/src/models/GetContent.ts
CHANGED
|
@@ -20,6 +20,13 @@ import {
|
|
|
20
20
|
GetContentContentDataToJSON,
|
|
21
21
|
GetContentContentDataToJSONTyped,
|
|
22
22
|
} from './GetContentContentData';
|
|
23
|
+
import type { ContentAttemptSettings } from './ContentAttemptSettings';
|
|
24
|
+
import {
|
|
25
|
+
ContentAttemptSettingsFromJSON,
|
|
26
|
+
ContentAttemptSettingsFromJSONTyped,
|
|
27
|
+
ContentAttemptSettingsToJSON,
|
|
28
|
+
ContentAttemptSettingsToJSONTyped,
|
|
29
|
+
} from './ContentAttemptSettings';
|
|
23
30
|
import type { ContentLaunchMode } from './ContentLaunchMode';
|
|
24
31
|
import {
|
|
25
32
|
ContentLaunchModeFromJSON,
|
|
@@ -70,6 +77,12 @@ export interface GetContent {
|
|
|
70
77
|
* @memberof GetContent
|
|
71
78
|
*/
|
|
72
79
|
launchMode: ContentLaunchMode;
|
|
80
|
+
/**
|
|
81
|
+
*
|
|
82
|
+
* @type {ContentAttemptSettings}
|
|
83
|
+
* @memberof GetContent
|
|
84
|
+
*/
|
|
85
|
+
attemptSettings: ContentAttemptSettings;
|
|
73
86
|
/**
|
|
74
87
|
*
|
|
75
88
|
* @type {GetContentContentData}
|
|
@@ -145,6 +158,7 @@ export function instanceOfGetContent(value: object): value is GetContent {
|
|
|
145
158
|
if (!('name' in value) || value['name'] === undefined) return false;
|
|
146
159
|
if (!('contentType' in value) || value['contentType'] === undefined) return false;
|
|
147
160
|
if (!('launchMode' in value) || value['launchMode'] === undefined) return false;
|
|
161
|
+
if (!('attemptSettings' in value) || value['attemptSettings'] === undefined) return false;
|
|
148
162
|
if (!('contentData' in value) || value['contentData'] === undefined) return false;
|
|
149
163
|
if (!('published' in value) || value['published'] === undefined) return false;
|
|
150
164
|
return true;
|
|
@@ -166,6 +180,7 @@ export function GetContentFromJSONTyped(json: any, ignoreDiscriminator: boolean)
|
|
|
166
180
|
'description': json['description'] == null ? undefined : json['description'],
|
|
167
181
|
'contentType': json['content_type'],
|
|
168
182
|
'launchMode': ContentLaunchModeFromJSON(json['launch_mode']),
|
|
183
|
+
'attemptSettings': ContentAttemptSettingsFromJSON(json['attempt_settings']),
|
|
169
184
|
'contentData': GetContentContentDataFromJSON(json['content_data']),
|
|
170
185
|
'order': json['order'] == null ? undefined : json['order'],
|
|
171
186
|
'published': json['published'],
|
|
@@ -193,6 +208,7 @@ export function GetContentToJSONTyped(value?: Omit<GetContent, 'id'|'created_dat
|
|
|
193
208
|
'description': value['description'],
|
|
194
209
|
'content_type': value['contentType'],
|
|
195
210
|
'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
|
|
211
|
+
'attempt_settings': ContentAttemptSettingsToJSON(value['attemptSettings']),
|
|
196
212
|
'content_data': GetContentContentDataToJSON(value['contentData']),
|
|
197
213
|
'order': value['order'],
|
|
198
214
|
'published': value['published'],
|
|
@@ -20,6 +20,13 @@ import {
|
|
|
20
20
|
GetCourseStudentReportingEngagementToJSON,
|
|
21
21
|
GetCourseStudentReportingEngagementToJSONTyped,
|
|
22
22
|
} from './GetCourseStudentReportingEngagement';
|
|
23
|
+
import type { GetCourseStudentReportingModulesInner } from './GetCourseStudentReportingModulesInner';
|
|
24
|
+
import {
|
|
25
|
+
GetCourseStudentReportingModulesInnerFromJSON,
|
|
26
|
+
GetCourseStudentReportingModulesInnerFromJSONTyped,
|
|
27
|
+
GetCourseStudentReportingModulesInnerToJSON,
|
|
28
|
+
GetCourseStudentReportingModulesInnerToJSONTyped,
|
|
29
|
+
} from './GetCourseStudentReportingModulesInner';
|
|
23
30
|
import type { GetCourseStudentReportingCourseInfo } from './GetCourseStudentReportingCourseInfo';
|
|
24
31
|
import {
|
|
25
32
|
GetCourseStudentReportingCourseInfoFromJSON,
|
|
@@ -59,6 +66,12 @@ export interface GetCourseStudentReporting {
|
|
|
59
66
|
* @memberof GetCourseStudentReporting
|
|
60
67
|
*/
|
|
61
68
|
performance: GetCourseStudentReportingPerformance;
|
|
69
|
+
/**
|
|
70
|
+
* Module-level progress for the student within this course.
|
|
71
|
+
* @type {Array<GetCourseStudentReportingModulesInner>}
|
|
72
|
+
* @memberof GetCourseStudentReporting
|
|
73
|
+
*/
|
|
74
|
+
modules: Array<GetCourseStudentReportingModulesInner>;
|
|
62
75
|
}
|
|
63
76
|
|
|
64
77
|
/**
|
|
@@ -68,6 +81,7 @@ export function instanceOfGetCourseStudentReporting(value: object): value is Get
|
|
|
68
81
|
if (!('courseInfo' in value) || value['courseInfo'] === undefined) return false;
|
|
69
82
|
if (!('engagement' in value) || value['engagement'] === undefined) return false;
|
|
70
83
|
if (!('performance' in value) || value['performance'] === undefined) return false;
|
|
84
|
+
if (!('modules' in value) || value['modules'] === undefined) return false;
|
|
71
85
|
return true;
|
|
72
86
|
}
|
|
73
87
|
|
|
@@ -84,6 +98,7 @@ export function GetCourseStudentReportingFromJSONTyped(json: any, ignoreDiscrimi
|
|
|
84
98
|
'courseInfo': GetCourseStudentReportingCourseInfoFromJSON(json['course_info']),
|
|
85
99
|
'engagement': GetCourseStudentReportingEngagementFromJSON(json['engagement']),
|
|
86
100
|
'performance': GetCourseStudentReportingPerformanceFromJSON(json['performance']),
|
|
101
|
+
'modules': ((json['modules'] as Array<any>).map(GetCourseStudentReportingModulesInnerFromJSON)),
|
|
87
102
|
};
|
|
88
103
|
}
|
|
89
104
|
|
|
@@ -101,6 +116,7 @@ export function GetCourseStudentReportingToJSONTyped(value?: GetCourseStudentRep
|
|
|
101
116
|
'course_info': GetCourseStudentReportingCourseInfoToJSON(value['courseInfo']),
|
|
102
117
|
'engagement': GetCourseStudentReportingEngagementToJSON(value['engagement']),
|
|
103
118
|
'performance': GetCourseStudentReportingPerformanceToJSON(value['performance']),
|
|
119
|
+
'modules': ((value['modules'] as Array<any>).map(GetCourseStudentReportingModulesInnerToJSON)),
|
|
104
120
|
};
|
|
105
121
|
}
|
|
106
122
|
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* LMS API
|
|
5
|
+
* LMS API
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface GetCourseStudentReportingModulesInner
|
|
20
|
+
*/
|
|
21
|
+
export interface GetCourseStudentReportingModulesInner {
|
|
22
|
+
/**
|
|
23
|
+
* The module external ID.
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof GetCourseStudentReportingModulesInner
|
|
26
|
+
*/
|
|
27
|
+
moduleId: string;
|
|
28
|
+
/**
|
|
29
|
+
* Module name.
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof GetCourseStudentReportingModulesInner
|
|
32
|
+
*/
|
|
33
|
+
name: string;
|
|
34
|
+
/**
|
|
35
|
+
* Order of the module within the course.
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof GetCourseStudentReportingModulesInner
|
|
38
|
+
*/
|
|
39
|
+
order: number;
|
|
40
|
+
/**
|
|
41
|
+
* Number of visible content items in the module.
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @memberof GetCourseStudentReportingModulesInner
|
|
44
|
+
*/
|
|
45
|
+
contentCount: number;
|
|
46
|
+
/**
|
|
47
|
+
* Number of visible content items completed by the student.
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @memberof GetCourseStudentReportingModulesInner
|
|
50
|
+
*/
|
|
51
|
+
contentCompletedCount: number;
|
|
52
|
+
/**
|
|
53
|
+
* Derived module completion status for this student.
|
|
54
|
+
* @type {GetCourseStudentReportingModulesInnerCompletionStatusEnum}
|
|
55
|
+
* @memberof GetCourseStudentReportingModulesInner
|
|
56
|
+
*/
|
|
57
|
+
completionStatus: GetCourseStudentReportingModulesInnerCompletionStatusEnum;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @export
|
|
63
|
+
*/
|
|
64
|
+
export const GetCourseStudentReportingModulesInnerCompletionStatusEnum = {
|
|
65
|
+
NotAttempted: 'NotAttempted',
|
|
66
|
+
InProgress: 'InProgress',
|
|
67
|
+
Completed: 'Completed'
|
|
68
|
+
} as const;
|
|
69
|
+
export type GetCourseStudentReportingModulesInnerCompletionStatusEnum = typeof GetCourseStudentReportingModulesInnerCompletionStatusEnum[keyof typeof GetCourseStudentReportingModulesInnerCompletionStatusEnum];
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Check if a given object implements the GetCourseStudentReportingModulesInner interface.
|
|
74
|
+
*/
|
|
75
|
+
export function instanceOfGetCourseStudentReportingModulesInner(value: object): value is GetCourseStudentReportingModulesInner {
|
|
76
|
+
if (!('moduleId' in value) || value['moduleId'] === undefined) return false;
|
|
77
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
78
|
+
if (!('order' in value) || value['order'] === undefined) return false;
|
|
79
|
+
if (!('contentCount' in value) || value['contentCount'] === undefined) return false;
|
|
80
|
+
if (!('contentCompletedCount' in value) || value['contentCompletedCount'] === undefined) return false;
|
|
81
|
+
if (!('completionStatus' in value) || value['completionStatus'] === undefined) return false;
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function GetCourseStudentReportingModulesInnerFromJSON(json: any): GetCourseStudentReportingModulesInner {
|
|
86
|
+
return GetCourseStudentReportingModulesInnerFromJSONTyped(json, false);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function GetCourseStudentReportingModulesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCourseStudentReportingModulesInner {
|
|
90
|
+
if (json == null) {
|
|
91
|
+
return json;
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
|
|
95
|
+
'moduleId': json['module_id'],
|
|
96
|
+
'name': json['name'],
|
|
97
|
+
'order': json['order'],
|
|
98
|
+
'contentCount': json['content_count'],
|
|
99
|
+
'contentCompletedCount': json['content_completed_count'],
|
|
100
|
+
'completionStatus': json['completion_status'],
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export function GetCourseStudentReportingModulesInnerToJSON(json: any): GetCourseStudentReportingModulesInner {
|
|
105
|
+
return GetCourseStudentReportingModulesInnerToJSONTyped(json, false);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function GetCourseStudentReportingModulesInnerToJSONTyped(value?: GetCourseStudentReportingModulesInner | null, ignoreDiscriminator: boolean = false): any {
|
|
109
|
+
if (value == null) {
|
|
110
|
+
return value;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return {
|
|
114
|
+
|
|
115
|
+
'module_id': value['moduleId'],
|
|
116
|
+
'name': value['name'],
|
|
117
|
+
'order': value['order'],
|
|
118
|
+
'content_count': value['contentCount'],
|
|
119
|
+
'content_completed_count': value['contentCompletedCount'],
|
|
120
|
+
'completion_status': value['completionStatus'],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
@@ -27,6 +27,13 @@ import {
|
|
|
27
27
|
GetModuleStudentReportingAccessToJSON,
|
|
28
28
|
GetModuleStudentReportingAccessToJSONTyped,
|
|
29
29
|
} from './GetModuleStudentReportingAccess';
|
|
30
|
+
import type { GetModuleStudentReportingContentsInner } from './GetModuleStudentReportingContentsInner';
|
|
31
|
+
import {
|
|
32
|
+
GetModuleStudentReportingContentsInnerFromJSON,
|
|
33
|
+
GetModuleStudentReportingContentsInnerFromJSONTyped,
|
|
34
|
+
GetModuleStudentReportingContentsInnerToJSON,
|
|
35
|
+
GetModuleStudentReportingContentsInnerToJSONTyped,
|
|
36
|
+
} from './GetModuleStudentReportingContentsInner';
|
|
30
37
|
import type { GetModuleStudentReportingProgress } from './GetModuleStudentReportingProgress';
|
|
31
38
|
import {
|
|
32
39
|
GetModuleStudentReportingProgressFromJSON,
|
|
@@ -59,6 +66,12 @@ export interface GetModuleStudentReporting {
|
|
|
59
66
|
* @memberof GetModuleStudentReporting
|
|
60
67
|
*/
|
|
61
68
|
access: GetModuleStudentReportingAccess;
|
|
69
|
+
/**
|
|
70
|
+
* Content-level progress for the student within this module.
|
|
71
|
+
* @type {Array<GetModuleStudentReportingContentsInner>}
|
|
72
|
+
* @memberof GetModuleStudentReporting
|
|
73
|
+
*/
|
|
74
|
+
contents: Array<GetModuleStudentReportingContentsInner>;
|
|
62
75
|
}
|
|
63
76
|
|
|
64
77
|
/**
|
|
@@ -68,6 +81,7 @@ export function instanceOfGetModuleStudentReporting(value: object): value is Get
|
|
|
68
81
|
if (!('moduleInfo' in value) || value['moduleInfo'] === undefined) return false;
|
|
69
82
|
if (!('progress' in value) || value['progress'] === undefined) return false;
|
|
70
83
|
if (!('access' in value) || value['access'] === undefined) return false;
|
|
84
|
+
if (!('contents' in value) || value['contents'] === undefined) return false;
|
|
71
85
|
return true;
|
|
72
86
|
}
|
|
73
87
|
|
|
@@ -84,6 +98,7 @@ export function GetModuleStudentReportingFromJSONTyped(json: any, ignoreDiscrimi
|
|
|
84
98
|
'moduleInfo': GetModuleInstructorBasicReportingModuleInfoFromJSON(json['module_info']),
|
|
85
99
|
'progress': GetModuleStudentReportingProgressFromJSON(json['progress']),
|
|
86
100
|
'access': GetModuleStudentReportingAccessFromJSON(json['access']),
|
|
101
|
+
'contents': ((json['contents'] as Array<any>).map(GetModuleStudentReportingContentsInnerFromJSON)),
|
|
87
102
|
};
|
|
88
103
|
}
|
|
89
104
|
|
|
@@ -101,6 +116,7 @@ export function GetModuleStudentReportingToJSONTyped(value?: GetModuleStudentRep
|
|
|
101
116
|
'module_info': GetModuleInstructorBasicReportingModuleInfoToJSON(value['moduleInfo']),
|
|
102
117
|
'progress': GetModuleStudentReportingProgressToJSON(value['progress']),
|
|
103
118
|
'access': GetModuleStudentReportingAccessToJSON(value['access']),
|
|
119
|
+
'contents': ((value['contents'] as Array<any>).map(GetModuleStudentReportingContentsInnerToJSON)),
|
|
104
120
|
};
|
|
105
121
|
}
|
|
106
122
|
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* LMS API
|
|
5
|
+
* LMS API
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface GetModuleStudentReportingContentsInner
|
|
20
|
+
*/
|
|
21
|
+
export interface GetModuleStudentReportingContentsInner {
|
|
22
|
+
/**
|
|
23
|
+
* The module external ID.
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
26
|
+
*/
|
|
27
|
+
moduleId: string;
|
|
28
|
+
/**
|
|
29
|
+
* The content external ID.
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
32
|
+
*/
|
|
33
|
+
contentId: string;
|
|
34
|
+
/**
|
|
35
|
+
* Content name.
|
|
36
|
+
* @type {string}
|
|
37
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
38
|
+
*/
|
|
39
|
+
name: string;
|
|
40
|
+
/**
|
|
41
|
+
* Content type.
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
44
|
+
*/
|
|
45
|
+
contentType: string;
|
|
46
|
+
/**
|
|
47
|
+
* Order of the content within the module.
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
50
|
+
*/
|
|
51
|
+
order: number;
|
|
52
|
+
/**
|
|
53
|
+
* Current live completion status for this student's content progress.
|
|
54
|
+
* @type {GetModuleStudentReportingContentsInnerCompletionStatusEnum}
|
|
55
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
56
|
+
*/
|
|
57
|
+
completionStatus: GetModuleStudentReportingContentsInnerCompletionStatusEnum;
|
|
58
|
+
/**
|
|
59
|
+
* Current live grade status for this student's content progress, if a session exists.
|
|
60
|
+
* @type {string}
|
|
61
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
62
|
+
*/
|
|
63
|
+
gradeStatus: string | null;
|
|
64
|
+
/**
|
|
65
|
+
* Current live content session external ID, if a session exists.
|
|
66
|
+
* @type {string}
|
|
67
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
68
|
+
*/
|
|
69
|
+
contentSessionId: string | null;
|
|
70
|
+
/**
|
|
71
|
+
* Current live attempt number, if a session exists.
|
|
72
|
+
* @type {number}
|
|
73
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
74
|
+
*/
|
|
75
|
+
attemptNumber: number | null;
|
|
76
|
+
/**
|
|
77
|
+
* Last content session update timestamp (epoch seconds), if a session exists.
|
|
78
|
+
* @type {number}
|
|
79
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
80
|
+
*/
|
|
81
|
+
lastAccessedAt: number | null;
|
|
82
|
+
/**
|
|
83
|
+
* Duration tracked on the current live content session, or 0 when not started.
|
|
84
|
+
* @type {number}
|
|
85
|
+
* @memberof GetModuleStudentReportingContentsInner
|
|
86
|
+
*/
|
|
87
|
+
durationInSeconds: number;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @export
|
|
93
|
+
*/
|
|
94
|
+
export const GetModuleStudentReportingContentsInnerCompletionStatusEnum = {
|
|
95
|
+
NotAttempted: 'NotAttempted',
|
|
96
|
+
InProgress: 'InProgress',
|
|
97
|
+
Completed: 'Completed'
|
|
98
|
+
} as const;
|
|
99
|
+
export type GetModuleStudentReportingContentsInnerCompletionStatusEnum = typeof GetModuleStudentReportingContentsInnerCompletionStatusEnum[keyof typeof GetModuleStudentReportingContentsInnerCompletionStatusEnum];
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Check if a given object implements the GetModuleStudentReportingContentsInner interface.
|
|
104
|
+
*/
|
|
105
|
+
export function instanceOfGetModuleStudentReportingContentsInner(value: object): value is GetModuleStudentReportingContentsInner {
|
|
106
|
+
if (!('moduleId' in value) || value['moduleId'] === undefined) return false;
|
|
107
|
+
if (!('contentId' in value) || value['contentId'] === undefined) return false;
|
|
108
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
109
|
+
if (!('contentType' in value) || value['contentType'] === undefined) return false;
|
|
110
|
+
if (!('order' in value) || value['order'] === undefined) return false;
|
|
111
|
+
if (!('completionStatus' in value) || value['completionStatus'] === undefined) return false;
|
|
112
|
+
if (!('gradeStatus' in value) || value['gradeStatus'] === undefined) return false;
|
|
113
|
+
if (!('contentSessionId' in value) || value['contentSessionId'] === undefined) return false;
|
|
114
|
+
if (!('attemptNumber' in value) || value['attemptNumber'] === undefined) return false;
|
|
115
|
+
if (!('lastAccessedAt' in value) || value['lastAccessedAt'] === undefined) return false;
|
|
116
|
+
if (!('durationInSeconds' in value) || value['durationInSeconds'] === undefined) return false;
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export function GetModuleStudentReportingContentsInnerFromJSON(json: any): GetModuleStudentReportingContentsInner {
|
|
121
|
+
return GetModuleStudentReportingContentsInnerFromJSONTyped(json, false);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export function GetModuleStudentReportingContentsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetModuleStudentReportingContentsInner {
|
|
125
|
+
if (json == null) {
|
|
126
|
+
return json;
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
|
|
130
|
+
'moduleId': json['module_id'],
|
|
131
|
+
'contentId': json['content_id'],
|
|
132
|
+
'name': json['name'],
|
|
133
|
+
'contentType': json['content_type'],
|
|
134
|
+
'order': json['order'],
|
|
135
|
+
'completionStatus': json['completion_status'],
|
|
136
|
+
'gradeStatus': json['grade_status'],
|
|
137
|
+
'contentSessionId': json['content_session_id'],
|
|
138
|
+
'attemptNumber': json['attempt_number'],
|
|
139
|
+
'lastAccessedAt': json['last_accessed_at'],
|
|
140
|
+
'durationInSeconds': json['duration_in_seconds'],
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export function GetModuleStudentReportingContentsInnerToJSON(json: any): GetModuleStudentReportingContentsInner {
|
|
145
|
+
return GetModuleStudentReportingContentsInnerToJSONTyped(json, false);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export function GetModuleStudentReportingContentsInnerToJSONTyped(value?: GetModuleStudentReportingContentsInner | null, ignoreDiscriminator: boolean = false): any {
|
|
149
|
+
if (value == null) {
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return {
|
|
154
|
+
|
|
155
|
+
'module_id': value['moduleId'],
|
|
156
|
+
'content_id': value['contentId'],
|
|
157
|
+
'name': value['name'],
|
|
158
|
+
'content_type': value['contentType'],
|
|
159
|
+
'order': value['order'],
|
|
160
|
+
'completion_status': value['completionStatus'],
|
|
161
|
+
'grade_status': value['gradeStatus'],
|
|
162
|
+
'content_session_id': value['contentSessionId'],
|
|
163
|
+
'attempt_number': value['attemptNumber'],
|
|
164
|
+
'last_accessed_at': value['lastAccessedAt'],
|
|
165
|
+
'duration_in_seconds': value['durationInSeconds'],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
|
package/src/models/PutContent.ts
CHANGED
|
@@ -20,6 +20,13 @@ import {
|
|
|
20
20
|
ContentLaunchModeToJSON,
|
|
21
21
|
ContentLaunchModeToJSONTyped,
|
|
22
22
|
} from './ContentLaunchMode';
|
|
23
|
+
import type { PutContentAttemptSettings } from './PutContentAttemptSettings';
|
|
24
|
+
import {
|
|
25
|
+
PutContentAttemptSettingsFromJSON,
|
|
26
|
+
PutContentAttemptSettingsFromJSONTyped,
|
|
27
|
+
PutContentAttemptSettingsToJSON,
|
|
28
|
+
PutContentAttemptSettingsToJSONTyped,
|
|
29
|
+
} from './PutContentAttemptSettings';
|
|
23
30
|
|
|
24
31
|
/**
|
|
25
32
|
*
|
|
@@ -45,6 +52,12 @@ export interface PutContent {
|
|
|
45
52
|
* @memberof PutContent
|
|
46
53
|
*/
|
|
47
54
|
launchMode?: ContentLaunchMode;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {PutContentAttemptSettings}
|
|
58
|
+
* @memberof PutContent
|
|
59
|
+
*/
|
|
60
|
+
attemptSettings?: PutContentAttemptSettings;
|
|
48
61
|
}
|
|
49
62
|
|
|
50
63
|
|
|
@@ -69,6 +82,7 @@ export function PutContentFromJSONTyped(json: any, ignoreDiscriminator: boolean)
|
|
|
69
82
|
'name': json['name'] == null ? undefined : json['name'],
|
|
70
83
|
'published': json['published'] == null ? undefined : json['published'],
|
|
71
84
|
'launchMode': json['launch_mode'] == null ? undefined : ContentLaunchModeFromJSON(json['launch_mode']),
|
|
85
|
+
'attemptSettings': json['attempt_settings'] == null ? undefined : PutContentAttemptSettingsFromJSON(json['attempt_settings']),
|
|
72
86
|
};
|
|
73
87
|
}
|
|
74
88
|
|
|
@@ -86,6 +100,7 @@ export function PutContentToJSONTyped(value?: PutContent | null, ignoreDiscrimin
|
|
|
86
100
|
'name': value['name'],
|
|
87
101
|
'published': value['published'],
|
|
88
102
|
'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
|
|
103
|
+
'attempt_settings': PutContentAttemptSettingsToJSON(value['attemptSettings']),
|
|
89
104
|
};
|
|
90
105
|
}
|
|
91
106
|
|