@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.
Files changed (123) hide show
  1. package/.openapi-generator/FILES +20 -0
  2. package/README.md +14 -2
  3. package/dist/apis/ChangelogApi.d.ts +32 -0
  4. package/dist/apis/ChangelogApi.js +70 -0
  5. package/dist/apis/CourseApi.d.ts +34 -0
  6. package/dist/apis/CourseApi.js +89 -0
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/esm/apis/ChangelogApi.d.ts +32 -0
  10. package/dist/esm/apis/ChangelogApi.js +66 -0
  11. package/dist/esm/apis/CourseApi.d.ts +34 -0
  12. package/dist/esm/apis/CourseApi.js +89 -0
  13. package/dist/esm/apis/index.d.ts +1 -0
  14. package/dist/esm/apis/index.js +1 -0
  15. package/dist/esm/models/CourseProgressionMode.d.ts +25 -0
  16. package/dist/esm/models/CourseProgressionMode.js +43 -0
  17. package/dist/esm/models/GetChangelogEntry.d.ts +44 -0
  18. package/dist/esm/models/GetChangelogEntry.js +51 -0
  19. package/dist/esm/models/GetChangelogList.d.ts +33 -0
  20. package/dist/esm/models/GetChangelogList.js +44 -0
  21. package/dist/esm/models/GetCourseVersion.d.ts +7 -0
  22. package/dist/esm/models/GetCourseVersion.js +5 -0
  23. package/dist/esm/models/GetCourseVersionItem.d.ts +6 -0
  24. package/dist/esm/models/GetCourseVersionItem.js +4 -0
  25. package/dist/esm/models/GetCourseVersionItemProgression.d.ts +105 -0
  26. package/dist/esm/models/GetCourseVersionItemProgression.js +92 -0
  27. package/dist/esm/models/GetCourseVersionItemSession.d.ts +37 -1
  28. package/dist/esm/models/GetCourseVersionItemSession.js +24 -0
  29. package/dist/esm/models/GetCourseVersionProgression.d.ts +59 -0
  30. package/dist/esm/models/GetCourseVersionProgression.js +62 -0
  31. package/dist/esm/models/GetCourseVersionSectionProgression.d.ts +75 -0
  32. package/dist/esm/models/GetCourseVersionSectionProgression.js +72 -0
  33. package/dist/esm/models/GetResourceSession.d.ts +36 -0
  34. package/dist/esm/models/GetResourceSession.js +24 -0
  35. package/dist/esm/models/PostCourseVersionItem.d.ts +6 -0
  36. package/dist/esm/models/PostCourseVersionItem.js +2 -0
  37. package/dist/esm/models/ProgressionGateError.d.ts +76 -0
  38. package/dist/esm/models/ProgressionGateError.js +74 -0
  39. package/dist/esm/models/ProgressionLockReason.d.ts +24 -0
  40. package/dist/esm/models/ProgressionLockReason.js +42 -0
  41. package/dist/esm/models/PutCourseVersionDraft.d.ts +33 -0
  42. package/dist/esm/models/PutCourseVersionDraft.js +44 -0
  43. package/dist/esm/models/PutCourseVersionItem.d.ts +6 -0
  44. package/dist/esm/models/PutCourseVersionItem.js +2 -0
  45. package/dist/esm/models/PutResourceSessionOverride.d.ts +6 -0
  46. package/dist/esm/models/PutResourceSessionOverride.js +2 -0
  47. package/dist/esm/models/index.d.ts +9 -0
  48. package/dist/esm/models/index.js +9 -0
  49. package/dist/models/CourseProgressionMode.d.ts +25 -0
  50. package/dist/models/CourseProgressionMode.js +51 -0
  51. package/dist/models/GetChangelogEntry.d.ts +44 -0
  52. package/dist/models/GetChangelogEntry.js +58 -0
  53. package/dist/models/GetChangelogList.d.ts +33 -0
  54. package/dist/models/GetChangelogList.js +51 -0
  55. package/dist/models/GetCourseVersion.d.ts +7 -0
  56. package/dist/models/GetCourseVersion.js +5 -0
  57. package/dist/models/GetCourseVersionItem.d.ts +6 -0
  58. package/dist/models/GetCourseVersionItem.js +4 -0
  59. package/dist/models/GetCourseVersionItemProgression.d.ts +105 -0
  60. package/dist/models/GetCourseVersionItemProgression.js +99 -0
  61. package/dist/models/GetCourseVersionItemSession.d.ts +37 -1
  62. package/dist/models/GetCourseVersionItemSession.js +24 -0
  63. package/dist/models/GetCourseVersionProgression.d.ts +59 -0
  64. package/dist/models/GetCourseVersionProgression.js +69 -0
  65. package/dist/models/GetCourseVersionSectionProgression.d.ts +75 -0
  66. package/dist/models/GetCourseVersionSectionProgression.js +79 -0
  67. package/dist/models/GetResourceSession.d.ts +36 -0
  68. package/dist/models/GetResourceSession.js +24 -0
  69. package/dist/models/PostCourseVersionItem.d.ts +6 -0
  70. package/dist/models/PostCourseVersionItem.js +2 -0
  71. package/dist/models/ProgressionGateError.d.ts +76 -0
  72. package/dist/models/ProgressionGateError.js +82 -0
  73. package/dist/models/ProgressionLockReason.d.ts +24 -0
  74. package/dist/models/ProgressionLockReason.js +50 -0
  75. package/dist/models/PutCourseVersionDraft.d.ts +33 -0
  76. package/dist/models/PutCourseVersionDraft.js +51 -0
  77. package/dist/models/PutCourseVersionItem.d.ts +6 -0
  78. package/dist/models/PutCourseVersionItem.js +2 -0
  79. package/dist/models/PutResourceSessionOverride.d.ts +6 -0
  80. package/dist/models/PutResourceSessionOverride.js +2 -0
  81. package/dist/models/index.d.ts +9 -0
  82. package/dist/models/index.js +9 -0
  83. package/docs/ChangelogApi.md +68 -0
  84. package/docs/CourseApi.md +143 -1
  85. package/docs/CourseProgressionMode.md +33 -0
  86. package/docs/GetChangelogEntry.md +39 -0
  87. package/docs/GetChangelogList.md +34 -0
  88. package/docs/GetCourseVersion.md +2 -0
  89. package/docs/GetCourseVersionItem.md +2 -0
  90. package/docs/GetCourseVersionItemProgression.md +58 -0
  91. package/docs/GetCourseVersionItemSession.md +12 -0
  92. package/docs/GetCourseVersionProgression.md +43 -0
  93. package/docs/GetCourseVersionSectionProgression.md +48 -0
  94. package/docs/GetResourceSession.md +12 -0
  95. package/docs/PlayerApi.md +1 -0
  96. package/docs/PostCourseVersionItem.md +2 -0
  97. package/docs/ProgressionGateError.md +47 -0
  98. package/docs/ProgressionLockReason.md +32 -0
  99. package/docs/PutCourseVersionDraft.md +34 -0
  100. package/docs/PutCourseVersionItem.md +2 -0
  101. package/docs/PutResourceSessionOverride.md +2 -0
  102. package/package.json +1 -1
  103. package/src/apis/ChangelogApi.ts +66 -0
  104. package/src/apis/CourseApi.ts +133 -0
  105. package/src/apis/PlayerApi.ts +5 -0
  106. package/src/apis/index.ts +1 -0
  107. package/src/models/CourseProgressionMode.ts +53 -0
  108. package/src/models/GetChangelogEntry.ts +84 -0
  109. package/src/models/GetChangelogList.ts +74 -0
  110. package/src/models/GetCourseVersion.ts +16 -0
  111. package/src/models/GetCourseVersionItem.ts +9 -0
  112. package/src/models/GetCourseVersionItemProgression.ts +184 -0
  113. package/src/models/GetCourseVersionItemSession.ts +55 -1
  114. package/src/models/GetCourseVersionProgression.ts +126 -0
  115. package/src/models/GetCourseVersionSectionProgression.ts +139 -0
  116. package/src/models/GetResourceSession.ts +54 -0
  117. package/src/models/PostCourseVersionItem.ts +8 -0
  118. package/src/models/ProgressionGateError.ts +131 -0
  119. package/src/models/ProgressionLockReason.ts +52 -0
  120. package/src/models/PutCourseVersionDraft.ts +76 -0
  121. package/src/models/PutCourseVersionItem.ts +8 -0
  122. package/src/models/PutResourceSessionOverride.ts +8 -0
  123. package/src/models/index.ts +9 -0
@@ -0,0 +1,184 @@
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
+ import type { ProgressionLockReason } from './ProgressionLockReason';
17
+ import {
18
+ ProgressionLockReasonFromJSON,
19
+ ProgressionLockReasonFromJSONTyped,
20
+ ProgressionLockReasonToJSON,
21
+ ProgressionLockReasonToJSONTyped,
22
+ } from './ProgressionLockReason';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetCourseVersionItemProgression
28
+ */
29
+ export interface GetCourseVersionItemProgression {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof GetCourseVersionItemProgression
34
+ */
35
+ itemId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof GetCourseVersionItemProgression
40
+ */
41
+ rootSectionId: string;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @memberof GetCourseVersionItemProgression
46
+ */
47
+ isRequired: boolean;
48
+ /**
49
+ *
50
+ * @type {boolean}
51
+ * @memberof GetCourseVersionItemProgression
52
+ */
53
+ isLocked: boolean;
54
+ /**
55
+ *
56
+ * @type {ProgressionLockReason}
57
+ * @memberof GetCourseVersionItemProgression
58
+ */
59
+ lockReason: ProgressionLockReason | null;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof GetCourseVersionItemProgression
64
+ */
65
+ blockingSectionId: string | null;
66
+ /**
67
+ *
68
+ * @type {boolean}
69
+ * @memberof GetCourseVersionItemProgression
70
+ */
71
+ nativeCompleted: boolean;
72
+ /**
73
+ *
74
+ * @type {boolean}
75
+ * @memberof GetCourseVersionItemProgression
76
+ */
77
+ effectiveCompleted: boolean;
78
+ /**
79
+ *
80
+ * @type {number}
81
+ * @memberof GetCourseVersionItemProgression
82
+ */
83
+ activeSeconds: number;
84
+ /**
85
+ *
86
+ * @type {number}
87
+ * @memberof GetCourseVersionItemProgression
88
+ */
89
+ minimumActiveSeconds: number | null;
90
+ /**
91
+ *
92
+ * @type {number}
93
+ * @memberof GetCourseVersionItemProgression
94
+ */
95
+ remainingActiveSeconds: number;
96
+ /**
97
+ *
98
+ * @type {boolean}
99
+ * @memberof GetCourseVersionItemProgression
100
+ */
101
+ timeRequirementMet: boolean;
102
+ /**
103
+ *
104
+ * @type {boolean}
105
+ * @memberof GetCourseVersionItemProgression
106
+ */
107
+ timeRequirementWaived: boolean;
108
+ }
109
+
110
+
111
+
112
+ /**
113
+ * Check if a given object implements the GetCourseVersionItemProgression interface.
114
+ */
115
+ export function instanceOfGetCourseVersionItemProgression(value: object): value is GetCourseVersionItemProgression {
116
+ if (!('itemId' in value) || value['itemId'] === undefined) return false;
117
+ if (!('rootSectionId' in value) || value['rootSectionId'] === undefined) return false;
118
+ if (!('isRequired' in value) || value['isRequired'] === undefined) return false;
119
+ if (!('isLocked' in value) || value['isLocked'] === undefined) return false;
120
+ if (!('lockReason' in value) || value['lockReason'] === undefined) return false;
121
+ if (!('blockingSectionId' in value) || value['blockingSectionId'] === undefined) return false;
122
+ if (!('nativeCompleted' in value) || value['nativeCompleted'] === undefined) return false;
123
+ if (!('effectiveCompleted' in value) || value['effectiveCompleted'] === undefined) return false;
124
+ if (!('activeSeconds' in value) || value['activeSeconds'] === undefined) return false;
125
+ if (!('minimumActiveSeconds' in value) || value['minimumActiveSeconds'] === undefined) return false;
126
+ if (!('remainingActiveSeconds' in value) || value['remainingActiveSeconds'] === undefined) return false;
127
+ if (!('timeRequirementMet' in value) || value['timeRequirementMet'] === undefined) return false;
128
+ if (!('timeRequirementWaived' in value) || value['timeRequirementWaived'] === undefined) return false;
129
+ return true;
130
+ }
131
+
132
+ export function GetCourseVersionItemProgressionFromJSON(json: any): GetCourseVersionItemProgression {
133
+ return GetCourseVersionItemProgressionFromJSONTyped(json, false);
134
+ }
135
+
136
+ export function GetCourseVersionItemProgressionFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCourseVersionItemProgression {
137
+ if (json == null) {
138
+ return json;
139
+ }
140
+ return {
141
+
142
+ 'itemId': json['item_id'],
143
+ 'rootSectionId': json['root_section_id'],
144
+ 'isRequired': json['is_required'],
145
+ 'isLocked': json['is_locked'],
146
+ 'lockReason': ProgressionLockReasonFromJSON(json['lock_reason']),
147
+ 'blockingSectionId': json['blocking_section_id'],
148
+ 'nativeCompleted': json['native_completed'],
149
+ 'effectiveCompleted': json['effective_completed'],
150
+ 'activeSeconds': json['active_seconds'],
151
+ 'minimumActiveSeconds': json['minimum_active_seconds'],
152
+ 'remainingActiveSeconds': json['remaining_active_seconds'],
153
+ 'timeRequirementMet': json['time_requirement_met'],
154
+ 'timeRequirementWaived': json['time_requirement_waived'],
155
+ };
156
+ }
157
+
158
+ export function GetCourseVersionItemProgressionToJSON(json: any): GetCourseVersionItemProgression {
159
+ return GetCourseVersionItemProgressionToJSONTyped(json, false);
160
+ }
161
+
162
+ export function GetCourseVersionItemProgressionToJSONTyped(value?: GetCourseVersionItemProgression | null, ignoreDiscriminator: boolean = false): any {
163
+ if (value == null) {
164
+ return value;
165
+ }
166
+
167
+ return {
168
+
169
+ 'item_id': value['itemId'],
170
+ 'root_section_id': value['rootSectionId'],
171
+ 'is_required': value['isRequired'],
172
+ 'is_locked': value['isLocked'],
173
+ 'lock_reason': ProgressionLockReasonToJSON(value['lockReason']),
174
+ 'blocking_section_id': value['blockingSectionId'],
175
+ 'native_completed': value['nativeCompleted'],
176
+ 'effective_completed': value['effectiveCompleted'],
177
+ 'active_seconds': value['activeSeconds'],
178
+ 'minimum_active_seconds': value['minimumActiveSeconds'],
179
+ 'remaining_active_seconds': value['remainingActiveSeconds'],
180
+ 'time_requirement_met': value['timeRequirementMet'],
181
+ 'time_requirement_waived': value['timeRequirementWaived'],
182
+ };
183
+ }
184
+
@@ -126,11 +126,47 @@ export interface GetCourseVersionItemSession {
126
126
  */
127
127
  scoreRaw?: number | null;
128
128
  /**
129
- * Accumulated active learner time across this session's activities.
129
+ *
130
130
  * @type {number}
131
131
  * @memberof GetCourseVersionItemSession
132
132
  */
133
133
  durationSeconds: number;
134
+ /**
135
+ *
136
+ * @type {number}
137
+ * @memberof GetCourseVersionItemSession
138
+ */
139
+ minimumActiveSeconds: number | null;
140
+ /**
141
+ *
142
+ * @type {number}
143
+ * @memberof GetCourseVersionItemSession
144
+ */
145
+ accumulatedActiveSeconds: number;
146
+ /**
147
+ *
148
+ * @type {number}
149
+ * @memberof GetCourseVersionItemSession
150
+ */
151
+ remainingActiveSeconds: number;
152
+ /**
153
+ *
154
+ * @type {boolean}
155
+ * @memberof GetCourseVersionItemSession
156
+ */
157
+ timeRequirementMet: boolean;
158
+ /**
159
+ *
160
+ * @type {boolean}
161
+ * @memberof GetCourseVersionItemSession
162
+ */
163
+ timeRequirementWaived: boolean;
164
+ /**
165
+ * True when native completion and the placement's active-time requirement are both satisfied.
166
+ * @type {boolean}
167
+ * @memberof GetCourseVersionItemSession
168
+ */
169
+ effectiveCompletionMet: boolean;
134
170
  /**
135
171
  *
136
172
  * @type {number}
@@ -171,6 +207,12 @@ export function instanceOfGetCourseVersionItemSession(value: object): value is G
171
207
  if (!('completionStatus' in value) || value['completionStatus'] === undefined) return false;
172
208
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined) return false;
173
209
  if (!('durationSeconds' in value) || value['durationSeconds'] === undefined) return false;
210
+ if (!('minimumActiveSeconds' in value) || value['minimumActiveSeconds'] === undefined) return false;
211
+ if (!('accumulatedActiveSeconds' in value) || value['accumulatedActiveSeconds'] === undefined) return false;
212
+ if (!('remainingActiveSeconds' in value) || value['remainingActiveSeconds'] === undefined) return false;
213
+ if (!('timeRequirementMet' in value) || value['timeRequirementMet'] === undefined) return false;
214
+ if (!('timeRequirementWaived' in value) || value['timeRequirementWaived'] === undefined) return false;
215
+ if (!('effectiveCompletionMet' in value) || value['effectiveCompletionMet'] === undefined) return false;
174
216
  if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
175
217
  if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
176
218
  return true;
@@ -201,6 +243,12 @@ export function GetCourseVersionItemSessionFromJSONTyped(json: any, ignoreDiscri
201
243
  'gradeStatus': json['grade_status'],
202
244
  'scoreRaw': json['score_raw'] == null ? undefined : json['score_raw'],
203
245
  'durationSeconds': json['duration_seconds'],
246
+ 'minimumActiveSeconds': json['minimum_active_seconds'],
247
+ 'accumulatedActiveSeconds': json['accumulated_active_seconds'],
248
+ 'remainingActiveSeconds': json['remaining_active_seconds'],
249
+ 'timeRequirementMet': json['time_requirement_met'],
250
+ 'timeRequirementWaived': json['time_requirement_waived'],
251
+ 'effectiveCompletionMet': json['effective_completion_met'],
204
252
  'createdAt': json['created_at'],
205
253
  'updatedAt': json['updated_at'],
206
254
  'completedAt': json['completed_at'] == null ? undefined : json['completed_at'],
@@ -233,6 +281,12 @@ export function GetCourseVersionItemSessionToJSONTyped(value?: GetCourseVersionI
233
281
  'grade_status': value['gradeStatus'],
234
282
  'score_raw': value['scoreRaw'],
235
283
  'duration_seconds': value['durationSeconds'],
284
+ 'minimum_active_seconds': value['minimumActiveSeconds'],
285
+ 'accumulated_active_seconds': value['accumulatedActiveSeconds'],
286
+ 'remaining_active_seconds': value['remainingActiveSeconds'],
287
+ 'time_requirement_met': value['timeRequirementMet'],
288
+ 'time_requirement_waived': value['timeRequirementWaived'],
289
+ 'effective_completion_met': value['effectiveCompletionMet'],
236
290
  'created_at': value['createdAt'],
237
291
  'updated_at': value['updatedAt'],
238
292
  'completed_at': value['completedAt'],
@@ -0,0 +1,126 @@
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
+ import type { GetCourseVersionItemProgression } from './GetCourseVersionItemProgression';
17
+ import {
18
+ GetCourseVersionItemProgressionFromJSON,
19
+ GetCourseVersionItemProgressionFromJSONTyped,
20
+ GetCourseVersionItemProgressionToJSON,
21
+ GetCourseVersionItemProgressionToJSONTyped,
22
+ } from './GetCourseVersionItemProgression';
23
+ import type { CourseProgressionMode } from './CourseProgressionMode';
24
+ import {
25
+ CourseProgressionModeFromJSON,
26
+ CourseProgressionModeFromJSONTyped,
27
+ CourseProgressionModeToJSON,
28
+ CourseProgressionModeToJSONTyped,
29
+ } from './CourseProgressionMode';
30
+ import type { GetCourseVersionSectionProgression } from './GetCourseVersionSectionProgression';
31
+ import {
32
+ GetCourseVersionSectionProgressionFromJSON,
33
+ GetCourseVersionSectionProgressionFromJSONTyped,
34
+ GetCourseVersionSectionProgressionToJSON,
35
+ GetCourseVersionSectionProgressionToJSONTyped,
36
+ } from './GetCourseVersionSectionProgression';
37
+
38
+ /**
39
+ * Learner-specific completion and lock state for an enrollment-pinned course version.
40
+ * @export
41
+ * @interface GetCourseVersionProgression
42
+ */
43
+ export interface GetCourseVersionProgression {
44
+ /**
45
+ *
46
+ * @type {string}
47
+ * @memberof GetCourseVersionProgression
48
+ */
49
+ courseId: string;
50
+ /**
51
+ *
52
+ * @type {string}
53
+ * @memberof GetCourseVersionProgression
54
+ */
55
+ courseVersionId: string;
56
+ /**
57
+ *
58
+ * @type {CourseProgressionMode}
59
+ * @memberof GetCourseVersionProgression
60
+ */
61
+ progressionMode: CourseProgressionMode;
62
+ /**
63
+ *
64
+ * @type {Array<GetCourseVersionSectionProgression>}
65
+ * @memberof GetCourseVersionProgression
66
+ */
67
+ sections: Array<GetCourseVersionSectionProgression>;
68
+ /**
69
+ *
70
+ * @type {Array<GetCourseVersionItemProgression>}
71
+ * @memberof GetCourseVersionProgression
72
+ */
73
+ items: Array<GetCourseVersionItemProgression>;
74
+ }
75
+
76
+
77
+
78
+ /**
79
+ * Check if a given object implements the GetCourseVersionProgression interface.
80
+ */
81
+ export function instanceOfGetCourseVersionProgression(value: object): value is GetCourseVersionProgression {
82
+ if (!('courseId' in value) || value['courseId'] === undefined) return false;
83
+ if (!('courseVersionId' in value) || value['courseVersionId'] === undefined) return false;
84
+ if (!('progressionMode' in value) || value['progressionMode'] === undefined) return false;
85
+ if (!('sections' in value) || value['sections'] === undefined) return false;
86
+ if (!('items' in value) || value['items'] === undefined) return false;
87
+ return true;
88
+ }
89
+
90
+ export function GetCourseVersionProgressionFromJSON(json: any): GetCourseVersionProgression {
91
+ return GetCourseVersionProgressionFromJSONTyped(json, false);
92
+ }
93
+
94
+ export function GetCourseVersionProgressionFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCourseVersionProgression {
95
+ if (json == null) {
96
+ return json;
97
+ }
98
+ return {
99
+
100
+ 'courseId': json['course_id'],
101
+ 'courseVersionId': json['course_version_id'],
102
+ 'progressionMode': CourseProgressionModeFromJSON(json['progression_mode']),
103
+ 'sections': ((json['sections'] as Array<any>).map(GetCourseVersionSectionProgressionFromJSON)),
104
+ 'items': ((json['items'] as Array<any>).map(GetCourseVersionItemProgressionFromJSON)),
105
+ };
106
+ }
107
+
108
+ export function GetCourseVersionProgressionToJSON(json: any): GetCourseVersionProgression {
109
+ return GetCourseVersionProgressionToJSONTyped(json, false);
110
+ }
111
+
112
+ export function GetCourseVersionProgressionToJSONTyped(value?: GetCourseVersionProgression | null, ignoreDiscriminator: boolean = false): any {
113
+ if (value == null) {
114
+ return value;
115
+ }
116
+
117
+ return {
118
+
119
+ 'course_id': value['courseId'],
120
+ 'course_version_id': value['courseVersionId'],
121
+ 'progression_mode': CourseProgressionModeToJSON(value['progressionMode']),
122
+ 'sections': ((value['sections'] as Array<any>).map(GetCourseVersionSectionProgressionToJSON)),
123
+ 'items': ((value['items'] as Array<any>).map(GetCourseVersionItemProgressionToJSON)),
124
+ };
125
+ }
126
+
@@ -0,0 +1,139 @@
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
+ import type { ProgressionLockReason } from './ProgressionLockReason';
17
+ import {
18
+ ProgressionLockReasonFromJSON,
19
+ ProgressionLockReasonFromJSONTyped,
20
+ ProgressionLockReasonToJSON,
21
+ ProgressionLockReasonToJSONTyped,
22
+ } from './ProgressionLockReason';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetCourseVersionSectionProgression
28
+ */
29
+ export interface GetCourseVersionSectionProgression {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof GetCourseVersionSectionProgression
34
+ */
35
+ sectionId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof GetCourseVersionSectionProgression
40
+ */
41
+ rootSectionId: string;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @memberof GetCourseVersionSectionProgression
46
+ */
47
+ isRootSection: boolean;
48
+ /**
49
+ *
50
+ * @type {boolean}
51
+ * @memberof GetCourseVersionSectionProgression
52
+ */
53
+ isComplete: boolean;
54
+ /**
55
+ *
56
+ * @type {boolean}
57
+ * @memberof GetCourseVersionSectionProgression
58
+ */
59
+ isLocked: boolean;
60
+ /**
61
+ *
62
+ * @type {ProgressionLockReason}
63
+ * @memberof GetCourseVersionSectionProgression
64
+ */
65
+ lockReason: ProgressionLockReason | null;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof GetCourseVersionSectionProgression
70
+ */
71
+ blockingSectionId: string | null;
72
+ /**
73
+ *
74
+ * @type {Array<string>}
75
+ * @memberof GetCourseVersionSectionProgression
76
+ */
77
+ blockingItemIds: Array<string>;
78
+ }
79
+
80
+
81
+
82
+ /**
83
+ * Check if a given object implements the GetCourseVersionSectionProgression interface.
84
+ */
85
+ export function instanceOfGetCourseVersionSectionProgression(value: object): value is GetCourseVersionSectionProgression {
86
+ if (!('sectionId' in value) || value['sectionId'] === undefined) return false;
87
+ if (!('rootSectionId' in value) || value['rootSectionId'] === undefined) return false;
88
+ if (!('isRootSection' in value) || value['isRootSection'] === undefined) return false;
89
+ if (!('isComplete' in value) || value['isComplete'] === undefined) return false;
90
+ if (!('isLocked' in value) || value['isLocked'] === undefined) return false;
91
+ if (!('lockReason' in value) || value['lockReason'] === undefined) return false;
92
+ if (!('blockingSectionId' in value) || value['blockingSectionId'] === undefined) return false;
93
+ if (!('blockingItemIds' in value) || value['blockingItemIds'] === undefined) return false;
94
+ return true;
95
+ }
96
+
97
+ export function GetCourseVersionSectionProgressionFromJSON(json: any): GetCourseVersionSectionProgression {
98
+ return GetCourseVersionSectionProgressionFromJSONTyped(json, false);
99
+ }
100
+
101
+ export function GetCourseVersionSectionProgressionFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCourseVersionSectionProgression {
102
+ if (json == null) {
103
+ return json;
104
+ }
105
+ return {
106
+
107
+ 'sectionId': json['section_id'],
108
+ 'rootSectionId': json['root_section_id'],
109
+ 'isRootSection': json['is_root_section'],
110
+ 'isComplete': json['is_complete'],
111
+ 'isLocked': json['is_locked'],
112
+ 'lockReason': ProgressionLockReasonFromJSON(json['lock_reason']),
113
+ 'blockingSectionId': json['blocking_section_id'],
114
+ 'blockingItemIds': json['blocking_item_ids'],
115
+ };
116
+ }
117
+
118
+ export function GetCourseVersionSectionProgressionToJSON(json: any): GetCourseVersionSectionProgression {
119
+ return GetCourseVersionSectionProgressionToJSONTyped(json, false);
120
+ }
121
+
122
+ export function GetCourseVersionSectionProgressionToJSONTyped(value?: GetCourseVersionSectionProgression | null, ignoreDiscriminator: boolean = false): any {
123
+ if (value == null) {
124
+ return value;
125
+ }
126
+
127
+ return {
128
+
129
+ 'section_id': value['sectionId'],
130
+ 'root_section_id': value['rootSectionId'],
131
+ 'is_root_section': value['isRootSection'],
132
+ 'is_complete': value['isComplete'],
133
+ 'is_locked': value['isLocked'],
134
+ 'lock_reason': ProgressionLockReasonToJSON(value['lockReason']),
135
+ 'blocking_section_id': value['blockingSectionId'],
136
+ 'blocking_item_ids': value['blockingItemIds'],
137
+ };
138
+ }
139
+
@@ -179,6 +179,42 @@ export interface GetResourceSession {
179
179
  * @memberof GetResourceSession
180
180
  */
181
181
  durationSeconds: number;
182
+ /**
183
+ *
184
+ * @type {number}
185
+ * @memberof GetResourceSession
186
+ */
187
+ minimumActiveSeconds: number | null;
188
+ /**
189
+ * Active time accumulated across all live attempts for this course placement.
190
+ * @type {number}
191
+ * @memberof GetResourceSession
192
+ */
193
+ accumulatedActiveSeconds: number;
194
+ /**
195
+ *
196
+ * @type {number}
197
+ * @memberof GetResourceSession
198
+ */
199
+ remainingActiveSeconds: number;
200
+ /**
201
+ *
202
+ * @type {boolean}
203
+ * @memberof GetResourceSession
204
+ */
205
+ timeRequirementMet: boolean;
206
+ /**
207
+ *
208
+ * @type {boolean}
209
+ * @memberof GetResourceSession
210
+ */
211
+ timeRequirementWaived: boolean;
212
+ /**
213
+ *
214
+ * @type {boolean}
215
+ * @memberof GetResourceSession
216
+ */
217
+ effectiveCompletionMet: boolean;
182
218
  /**
183
219
  *
184
220
  * @type {number}
@@ -232,6 +268,12 @@ export function instanceOfGetResourceSession(value: object): value is GetResourc
232
268
  if (!('completionStatus' in value) || value['completionStatus'] === undefined) return false;
233
269
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined) return false;
234
270
  if (!('durationSeconds' in value) || value['durationSeconds'] === undefined) return false;
271
+ if (!('minimumActiveSeconds' in value) || value['minimumActiveSeconds'] === undefined) return false;
272
+ if (!('accumulatedActiveSeconds' in value) || value['accumulatedActiveSeconds'] === undefined) return false;
273
+ if (!('remainingActiveSeconds' in value) || value['remainingActiveSeconds'] === undefined) return false;
274
+ if (!('timeRequirementMet' in value) || value['timeRequirementMet'] === undefined) return false;
275
+ if (!('timeRequirementWaived' in value) || value['timeRequirementWaived'] === undefined) return false;
276
+ if (!('effectiveCompletionMet' in value) || value['effectiveCompletionMet'] === undefined) return false;
235
277
  if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
236
278
  if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
237
279
  return true;
@@ -270,6 +312,12 @@ export function GetResourceSessionFromJSONTyped(json: any, ignoreDiscriminator:
270
312
  'gradeStatus': json['grade_status'],
271
313
  'scoreRaw': json['score_raw'] == null ? undefined : json['score_raw'],
272
314
  'durationSeconds': json['duration_seconds'],
315
+ 'minimumActiveSeconds': json['minimum_active_seconds'],
316
+ 'accumulatedActiveSeconds': json['accumulated_active_seconds'],
317
+ 'remainingActiveSeconds': json['remaining_active_seconds'],
318
+ 'timeRequirementMet': json['time_requirement_met'],
319
+ 'timeRequirementWaived': json['time_requirement_waived'],
320
+ 'effectiveCompletionMet': json['effective_completion_met'],
273
321
  'initializedAt': json['initialized_at'] == null ? undefined : json['initialized_at'],
274
322
  'terminatedAt': json['terminated_at'] == null ? undefined : json['terminated_at'],
275
323
  'createdAt': json['created_at'],
@@ -312,6 +360,12 @@ export function GetResourceSessionToJSONTyped(value?: GetResourceSession | null,
312
360
  'grade_status': value['gradeStatus'],
313
361
  'score_raw': value['scoreRaw'],
314
362
  'duration_seconds': value['durationSeconds'],
363
+ 'minimum_active_seconds': value['minimumActiveSeconds'],
364
+ 'accumulated_active_seconds': value['accumulatedActiveSeconds'],
365
+ 'remaining_active_seconds': value['remainingActiveSeconds'],
366
+ 'time_requirement_met': value['timeRequirementMet'],
367
+ 'time_requirement_waived': value['timeRequirementWaived'],
368
+ 'effective_completion_met': value['effectiveCompletionMet'],
315
369
  'initialized_at': value['initializedAt'],
316
370
  'terminated_at': value['terminatedAt'],
317
371
  'created_at': value['createdAt'],
@@ -63,6 +63,12 @@ export interface PostCourseVersionItem {
63
63
  * @memberof PostCourseVersionItem
64
64
  */
65
65
  isRequired?: boolean;
66
+ /**
67
+ * Resource placements only. Omit or set null to disable the timer.
68
+ * @type {number}
69
+ * @memberof PostCourseVersionItem
70
+ */
71
+ minimumActiveSeconds?: number | null;
66
72
  /**
67
73
  *
68
74
  * @type {ContentLaunchMode}
@@ -124,6 +130,7 @@ export function PostCourseVersionItemFromJSONTyped(json: any, ignoreDiscriminato
124
130
  'position': json['position'] == null ? undefined : json['position'],
125
131
  'isVisible': json['is_visible'] == null ? undefined : json['is_visible'],
126
132
  'isRequired': json['is_required'] == null ? undefined : json['is_required'],
133
+ 'minimumActiveSeconds': json['minimum_active_seconds'] == null ? undefined : json['minimum_active_seconds'],
127
134
  'launchMode': json['launch_mode'] == null ? undefined : ContentLaunchModeFromJSON(json['launch_mode']),
128
135
  'maxAttempts': json['max_attempts'] == null ? undefined : json['max_attempts'],
129
136
  'scoreRollupStrategy': json['score_rollup_strategy'] == null ? undefined : json['score_rollup_strategy'],
@@ -148,6 +155,7 @@ export function PostCourseVersionItemToJSONTyped(value?: PostCourseVersionItem |
148
155
  'position': value['position'],
149
156
  'is_visible': value['isVisible'],
150
157
  'is_required': value['isRequired'],
158
+ 'minimum_active_seconds': value['minimumActiveSeconds'],
151
159
  'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
152
160
  'max_attempts': value['maxAttempts'],
153
161
  'score_rollup_strategy': value['scoreRollupStrategy'],