@easyedu/js-lsm-api 1.97.0 → 1.99.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 (87) hide show
  1. package/.openapi-generator/FILES +10 -0
  2. package/README.md +10 -2
  3. package/dist/apis/PlayerApi.d.ts +57 -0
  4. package/dist/apis/PlayerApi.js +148 -0
  5. package/dist/esm/apis/PlayerApi.d.ts +57 -0
  6. package/dist/esm/apis/PlayerApi.js +148 -0
  7. package/dist/esm/models/GetCourseEnrollment.d.ts +12 -0
  8. package/dist/esm/models/GetCourseEnrollment.js +8 -0
  9. package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +12 -0
  10. package/dist/esm/models/GetCourseEnrollmentListItem.js +8 -0
  11. package/dist/esm/models/GetCourseVersionItemSession.d.ts +6 -0
  12. package/dist/esm/models/GetCourseVersionItemSession.js +4 -0
  13. package/dist/esm/models/GetLibraryQuizSession.d.ts +6 -0
  14. package/dist/esm/models/GetLibraryQuizSession.js +4 -0
  15. package/dist/esm/models/GetResourceSession.d.ts +6 -0
  16. package/dist/esm/models/GetResourceSession.js +4 -0
  17. package/dist/esm/models/GetResourceSessionActivity.d.ts +125 -0
  18. package/dist/esm/models/GetResourceSessionActivity.js +97 -0
  19. package/dist/esm/models/GetResourceSessionActivityEvent.d.ts +62 -0
  20. package/dist/esm/models/GetResourceSessionActivityEvent.js +61 -0
  21. package/dist/esm/models/GetResourceSessionActivityEventList.d.ts +33 -0
  22. package/dist/esm/models/GetResourceSessionActivityEventList.js +44 -0
  23. package/dist/esm/models/GetResourceSessionActivityList.d.ts +33 -0
  24. package/dist/esm/models/GetResourceSessionActivityList.js +44 -0
  25. package/dist/esm/models/PostCourseVersionPublish.d.ts +10 -0
  26. package/dist/esm/models/PostCourseVersionPublish.js +2 -0
  27. package/dist/esm/models/PostResourceSessionActivityEvent.d.ts +62 -0
  28. package/dist/esm/models/PostResourceSessionActivityEvent.js +66 -0
  29. package/dist/esm/models/PutCourseEnrollment.d.ts +9 -0
  30. package/dist/esm/models/PutCourseEnrollment.js +2 -0
  31. package/dist/esm/models/index.d.ts +5 -0
  32. package/dist/esm/models/index.js +5 -0
  33. package/dist/models/GetCourseEnrollment.d.ts +12 -0
  34. package/dist/models/GetCourseEnrollment.js +8 -0
  35. package/dist/models/GetCourseEnrollmentListItem.d.ts +12 -0
  36. package/dist/models/GetCourseEnrollmentListItem.js +8 -0
  37. package/dist/models/GetCourseVersionItemSession.d.ts +6 -0
  38. package/dist/models/GetCourseVersionItemSession.js +4 -0
  39. package/dist/models/GetLibraryQuizSession.d.ts +6 -0
  40. package/dist/models/GetLibraryQuizSession.js +4 -0
  41. package/dist/models/GetResourceSession.d.ts +6 -0
  42. package/dist/models/GetResourceSession.js +4 -0
  43. package/dist/models/GetResourceSessionActivity.d.ts +125 -0
  44. package/dist/models/GetResourceSessionActivity.js +105 -0
  45. package/dist/models/GetResourceSessionActivityEvent.d.ts +62 -0
  46. package/dist/models/GetResourceSessionActivityEvent.js +68 -0
  47. package/dist/models/GetResourceSessionActivityEventList.d.ts +33 -0
  48. package/dist/models/GetResourceSessionActivityEventList.js +51 -0
  49. package/dist/models/GetResourceSessionActivityList.d.ts +33 -0
  50. package/dist/models/GetResourceSessionActivityList.js +51 -0
  51. package/dist/models/PostCourseVersionPublish.d.ts +10 -0
  52. package/dist/models/PostCourseVersionPublish.js +2 -0
  53. package/dist/models/PostResourceSessionActivityEvent.d.ts +62 -0
  54. package/dist/models/PostResourceSessionActivityEvent.js +74 -0
  55. package/dist/models/PutCourseEnrollment.d.ts +9 -0
  56. package/dist/models/PutCourseEnrollment.js +2 -0
  57. package/dist/models/index.d.ts +5 -0
  58. package/dist/models/index.js +5 -0
  59. package/docs/ContentLibraryQuizApi.md +2 -2
  60. package/docs/GetCourseEnrollment.md +4 -0
  61. package/docs/GetCourseEnrollmentListItem.md +4 -0
  62. package/docs/GetCourseVersionItemSession.md +2 -0
  63. package/docs/GetLibraryQuizSession.md +2 -0
  64. package/docs/GetResourceSession.md +2 -0
  65. package/docs/GetResourceSessionActivity.md +63 -0
  66. package/docs/GetResourceSessionActivityEvent.md +45 -0
  67. package/docs/GetResourceSessionActivityEventList.md +35 -0
  68. package/docs/GetResourceSessionActivityList.md +35 -0
  69. package/docs/PlayerApi.md +231 -6
  70. package/docs/PostCourseVersionPublish.md +2 -0
  71. package/docs/PostResourceSessionActivityEvent.md +39 -0
  72. package/docs/PutCourseEnrollment.md +2 -0
  73. package/package.json +1 -1
  74. package/src/apis/PlayerApi.ts +217 -0
  75. package/src/models/GetCourseEnrollment.ts +18 -0
  76. package/src/models/GetCourseEnrollmentListItem.ts +18 -0
  77. package/src/models/GetCourseVersionItemSession.ts +9 -0
  78. package/src/models/GetLibraryQuizSession.ts +9 -0
  79. package/src/models/GetResourceSession.ts +9 -0
  80. package/src/models/GetResourceSessionActivity.ts +199 -0
  81. package/src/models/GetResourceSessionActivityEvent.ts +110 -0
  82. package/src/models/GetResourceSessionActivityEventList.ts +74 -0
  83. package/src/models/GetResourceSessionActivityList.ts +74 -0
  84. package/src/models/PostCourseVersionPublish.ts +12 -0
  85. package/src/models/PostResourceSessionActivityEvent.ts +104 -0
  86. package/src/models/PutCourseEnrollment.ts +11 -0
  87. package/src/models/index.ts +5 -0
@@ -0,0 +1,62 @@
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
+ * A recorded learner activity event.
14
+ * @export
15
+ * @interface GetResourceSessionActivityEvent
16
+ */
17
+ export interface GetResourceSessionActivityEvent {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof GetResourceSessionActivityEvent
22
+ */
23
+ id: number;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof GetResourceSessionActivityEvent
28
+ */
29
+ eventId: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof GetResourceSessionActivityEvent
34
+ */
35
+ activityId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof GetResourceSessionActivityEvent
40
+ */
41
+ eventType: string;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof GetResourceSessionActivityEvent
46
+ */
47
+ positionSeconds?: number | null;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof GetResourceSessionActivityEvent
52
+ */
53
+ createdAt: number;
54
+ }
55
+ /**
56
+ * Check if a given object implements the GetResourceSessionActivityEvent interface.
57
+ */
58
+ export declare function instanceOfGetResourceSessionActivityEvent(value: object): value is GetResourceSessionActivityEvent;
59
+ export declare function GetResourceSessionActivityEventFromJSON(json: any): GetResourceSessionActivityEvent;
60
+ export declare function GetResourceSessionActivityEventFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetResourceSessionActivityEvent;
61
+ export declare function GetResourceSessionActivityEventToJSON(json: any): GetResourceSessionActivityEvent;
62
+ export declare function GetResourceSessionActivityEventToJSONTyped(value?: GetResourceSessionActivityEvent | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,61 @@
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
+ * Check if a given object implements the GetResourceSessionActivityEvent interface.
16
+ */
17
+ export function instanceOfGetResourceSessionActivityEvent(value) {
18
+ if (!('id' in value) || value['id'] === undefined)
19
+ return false;
20
+ if (!('eventId' in value) || value['eventId'] === undefined)
21
+ return false;
22
+ if (!('activityId' in value) || value['activityId'] === undefined)
23
+ return false;
24
+ if (!('eventType' in value) || value['eventType'] === undefined)
25
+ return false;
26
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
27
+ return false;
28
+ return true;
29
+ }
30
+ export function GetResourceSessionActivityEventFromJSON(json) {
31
+ return GetResourceSessionActivityEventFromJSONTyped(json, false);
32
+ }
33
+ export function GetResourceSessionActivityEventFromJSONTyped(json, ignoreDiscriminator) {
34
+ if (json == null) {
35
+ return json;
36
+ }
37
+ return {
38
+ 'id': json['id'],
39
+ 'eventId': json['event_id'],
40
+ 'activityId': json['activity_id'],
41
+ 'eventType': json['event_type'],
42
+ 'positionSeconds': json['position_seconds'] == null ? undefined : json['position_seconds'],
43
+ 'createdAt': json['created_at'],
44
+ };
45
+ }
46
+ export function GetResourceSessionActivityEventToJSON(json) {
47
+ return GetResourceSessionActivityEventToJSONTyped(json, false);
48
+ }
49
+ export function GetResourceSessionActivityEventToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'id': value['id'],
55
+ 'event_id': value['eventId'],
56
+ 'activity_id': value['activityId'],
57
+ 'event_type': value['eventType'],
58
+ 'position_seconds': value['positionSeconds'],
59
+ 'created_at': value['createdAt'],
60
+ };
61
+ }
@@ -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 { GetResourceSessionActivityEvent } from './GetResourceSessionActivityEvent';
13
+ /**
14
+ * Recorded learner activity events for one resource-session attempt.
15
+ * @export
16
+ * @interface GetResourceSessionActivityEventList
17
+ */
18
+ export interface GetResourceSessionActivityEventList {
19
+ /**
20
+ *
21
+ * @type {Array<GetResourceSessionActivityEvent>}
22
+ * @memberof GetResourceSessionActivityEventList
23
+ */
24
+ items: Array<GetResourceSessionActivityEvent>;
25
+ }
26
+ /**
27
+ * Check if a given object implements the GetResourceSessionActivityEventList interface.
28
+ */
29
+ export declare function instanceOfGetResourceSessionActivityEventList(value: object): value is GetResourceSessionActivityEventList;
30
+ export declare function GetResourceSessionActivityEventListFromJSON(json: any): GetResourceSessionActivityEventList;
31
+ export declare function GetResourceSessionActivityEventListFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetResourceSessionActivityEventList;
32
+ export declare function GetResourceSessionActivityEventListToJSON(json: any): GetResourceSessionActivityEventList;
33
+ export declare function GetResourceSessionActivityEventListToJSONTyped(value?: GetResourceSessionActivityEventList | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,44 @@
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
+ import { GetResourceSessionActivityEventFromJSON, GetResourceSessionActivityEventToJSON, } from './GetResourceSessionActivityEvent';
15
+ /**
16
+ * Check if a given object implements the GetResourceSessionActivityEventList interface.
17
+ */
18
+ export function instanceOfGetResourceSessionActivityEventList(value) {
19
+ if (!('items' in value) || value['items'] === undefined)
20
+ return false;
21
+ return true;
22
+ }
23
+ export function GetResourceSessionActivityEventListFromJSON(json) {
24
+ return GetResourceSessionActivityEventListFromJSONTyped(json, false);
25
+ }
26
+ export function GetResourceSessionActivityEventListFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'items': (json['items'].map(GetResourceSessionActivityEventFromJSON)),
32
+ };
33
+ }
34
+ export function GetResourceSessionActivityEventListToJSON(json) {
35
+ return GetResourceSessionActivityEventListToJSONTyped(json, false);
36
+ }
37
+ export function GetResourceSessionActivityEventListToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'items': (value['items'].map(GetResourceSessionActivityEventToJSON)),
43
+ };
44
+ }
@@ -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 { GetResourceSessionActivity } from './GetResourceSessionActivity';
13
+ /**
14
+ * Activities belonging to one resource-session attempt.
15
+ * @export
16
+ * @interface GetResourceSessionActivityList
17
+ */
18
+ export interface GetResourceSessionActivityList {
19
+ /**
20
+ *
21
+ * @type {Array<GetResourceSessionActivity>}
22
+ * @memberof GetResourceSessionActivityList
23
+ */
24
+ items: Array<GetResourceSessionActivity>;
25
+ }
26
+ /**
27
+ * Check if a given object implements the GetResourceSessionActivityList interface.
28
+ */
29
+ export declare function instanceOfGetResourceSessionActivityList(value: object): value is GetResourceSessionActivityList;
30
+ export declare function GetResourceSessionActivityListFromJSON(json: any): GetResourceSessionActivityList;
31
+ export declare function GetResourceSessionActivityListFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetResourceSessionActivityList;
32
+ export declare function GetResourceSessionActivityListToJSON(json: any): GetResourceSessionActivityList;
33
+ export declare function GetResourceSessionActivityListToJSONTyped(value?: GetResourceSessionActivityList | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,44 @@
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
+ import { GetResourceSessionActivityFromJSON, GetResourceSessionActivityToJSON, } from './GetResourceSessionActivity';
15
+ /**
16
+ * Check if a given object implements the GetResourceSessionActivityList interface.
17
+ */
18
+ export function instanceOfGetResourceSessionActivityList(value) {
19
+ if (!('items' in value) || value['items'] === undefined)
20
+ return false;
21
+ return true;
22
+ }
23
+ export function GetResourceSessionActivityListFromJSON(json) {
24
+ return GetResourceSessionActivityListFromJSONTyped(json, false);
25
+ }
26
+ export function GetResourceSessionActivityListFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'items': (json['items'].map(GetResourceSessionActivityFromJSON)),
32
+ };
33
+ }
34
+ export function GetResourceSessionActivityListToJSON(json) {
35
+ return GetResourceSessionActivityListToJSONTyped(json, false);
36
+ }
37
+ export function GetResourceSessionActivityListToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'items': (value['items'].map(GetResourceSessionActivityToJSON)),
43
+ };
44
+ }
@@ -21,6 +21,16 @@ export interface PostCourseVersionPublish {
21
21
  * @memberof PostCourseVersionPublish
22
22
  */
23
23
  changeNotes?: string;
24
+ /**
25
+ * When true, assign all Enrolled, InProgress, and Suspended Student enrollments
26
+ * for this course to the newly published version. Completed and other historical
27
+ * enrollments remain pinned to their original version. Existing progress and
28
+ * session history remain stored against the previous version and are not transferred.
29
+ *
30
+ * @type {boolean}
31
+ * @memberof PostCourseVersionPublish
32
+ */
33
+ promoteActiveEnrollments?: boolean;
24
34
  }
25
35
  /**
26
36
  * Check if a given object implements the PostCourseVersionPublish interface.
@@ -26,6 +26,7 @@ export function PostCourseVersionPublishFromJSONTyped(json, ignoreDiscriminator)
26
26
  }
27
27
  return {
28
28
  'changeNotes': json['change_notes'] == null ? undefined : json['change_notes'],
29
+ 'promoteActiveEnrollments': json['promote_active_enrollments'] == null ? undefined : json['promote_active_enrollments'],
29
30
  };
30
31
  }
31
32
  export function PostCourseVersionPublishToJSON(json) {
@@ -37,5 +38,6 @@ export function PostCourseVersionPublishToJSONTyped(value, ignoreDiscriminator =
37
38
  }
38
39
  return {
39
40
  'change_notes': value['changeNotes'],
41
+ 'promote_active_enrollments': value['promoteActiveEnrollments'],
40
42
  };
41
43
  }
@@ -0,0 +1,62 @@
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
+ * A learner activity signal. Timing is calculated from server receipt times.
14
+ * @export
15
+ * @interface PostResourceSessionActivityEvent
16
+ */
17
+ export interface PostResourceSessionActivityEvent {
18
+ /**
19
+ * Client-generated idempotency identifier.
20
+ * @type {string}
21
+ * @memberof PostResourceSessionActivityEvent
22
+ */
23
+ eventId: string;
24
+ /**
25
+ *
26
+ * @type {PostResourceSessionActivityEventEventTypeEnum}
27
+ * @memberof PostResourceSessionActivityEvent
28
+ */
29
+ eventType: PostResourceSessionActivityEventEventTypeEnum;
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof PostResourceSessionActivityEvent
34
+ */
35
+ positionSeconds?: number | null;
36
+ }
37
+ /**
38
+ * @export
39
+ */
40
+ export declare const PostResourceSessionActivityEventEventTypeEnum: {
41
+ readonly Start: "start";
42
+ readonly Heartbeat: "heartbeat";
43
+ readonly Pause: "pause";
44
+ readonly Complete: "complete";
45
+ readonly MediaPlay: "media_play";
46
+ readonly MediaPause: "media_pause";
47
+ readonly MediaSeek: "media_seek";
48
+ readonly MediaEnded: "media_ended";
49
+ readonly Download: "download";
50
+ readonly LinkOpen: "link_open";
51
+ readonly DocumentOpen: "document_open";
52
+ readonly Terminate: "terminate";
53
+ };
54
+ export type PostResourceSessionActivityEventEventTypeEnum = typeof PostResourceSessionActivityEventEventTypeEnum[keyof typeof PostResourceSessionActivityEventEventTypeEnum];
55
+ /**
56
+ * Check if a given object implements the PostResourceSessionActivityEvent interface.
57
+ */
58
+ export declare function instanceOfPostResourceSessionActivityEvent(value: object): value is PostResourceSessionActivityEvent;
59
+ export declare function PostResourceSessionActivityEventFromJSON(json: any): PostResourceSessionActivityEvent;
60
+ export declare function PostResourceSessionActivityEventFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostResourceSessionActivityEvent;
61
+ export declare function PostResourceSessionActivityEventToJSON(json: any): PostResourceSessionActivityEvent;
62
+ export declare function PostResourceSessionActivityEventToJSONTyped(value?: PostResourceSessionActivityEvent | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,66 @@
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
+ * @export
16
+ */
17
+ export const PostResourceSessionActivityEventEventTypeEnum = {
18
+ Start: 'start',
19
+ Heartbeat: 'heartbeat',
20
+ Pause: 'pause',
21
+ Complete: 'complete',
22
+ MediaPlay: 'media_play',
23
+ MediaPause: 'media_pause',
24
+ MediaSeek: 'media_seek',
25
+ MediaEnded: 'media_ended',
26
+ Download: 'download',
27
+ LinkOpen: 'link_open',
28
+ DocumentOpen: 'document_open',
29
+ Terminate: 'terminate'
30
+ };
31
+ /**
32
+ * Check if a given object implements the PostResourceSessionActivityEvent interface.
33
+ */
34
+ export function instanceOfPostResourceSessionActivityEvent(value) {
35
+ if (!('eventId' in value) || value['eventId'] === undefined)
36
+ return false;
37
+ if (!('eventType' in value) || value['eventType'] === undefined)
38
+ return false;
39
+ return true;
40
+ }
41
+ export function PostResourceSessionActivityEventFromJSON(json) {
42
+ return PostResourceSessionActivityEventFromJSONTyped(json, false);
43
+ }
44
+ export function PostResourceSessionActivityEventFromJSONTyped(json, ignoreDiscriminator) {
45
+ if (json == null) {
46
+ return json;
47
+ }
48
+ return {
49
+ 'eventId': json['event_id'],
50
+ 'eventType': json['event_type'],
51
+ 'positionSeconds': json['position_seconds'] == null ? undefined : json['position_seconds'],
52
+ };
53
+ }
54
+ export function PostResourceSessionActivityEventToJSON(json) {
55
+ return PostResourceSessionActivityEventToJSONTyped(json, false);
56
+ }
57
+ export function PostResourceSessionActivityEventToJSONTyped(value, ignoreDiscriminator = false) {
58
+ if (value == null) {
59
+ return value;
60
+ }
61
+ return {
62
+ 'event_id': value['eventId'],
63
+ 'event_type': value['eventType'],
64
+ 'position_seconds': value['positionSeconds'],
65
+ };
66
+ }
@@ -48,6 +48,15 @@ export interface PutCourseEnrollment {
48
48
  * @memberof PutCourseEnrollment
49
49
  */
50
50
  notes?: string;
51
+ /**
52
+ * Reassign this learner enrollment to a published version of the same course.
53
+ * Only active or suspended Student enrollments can be reassigned. Progress and
54
+ * session history for the previous version are retained but are not transferred.
55
+ *
56
+ * @type {string}
57
+ * @memberof PutCourseEnrollment
58
+ */
59
+ courseVersionId?: string;
51
60
  }
52
61
  /**
53
62
  * @export
@@ -49,6 +49,7 @@ export function PutCourseEnrollmentFromJSONTyped(json, ignoreDiscriminator) {
49
49
  'enrollmentDateEnd': json['enrollment_date_end'] == null ? undefined : json['enrollment_date_end'],
50
50
  'extensionDays': json['extension_days'] == null ? undefined : json['extension_days'],
51
51
  'notes': json['notes'] == null ? undefined : json['notes'],
52
+ 'courseVersionId': json['course_version_id'] == null ? undefined : json['course_version_id'],
52
53
  };
53
54
  }
54
55
  export function PutCourseEnrollmentToJSON(json) {
@@ -64,5 +65,6 @@ export function PutCourseEnrollmentToJSONTyped(value, ignoreDiscriminator = fals
64
65
  'enrollment_date_end': value['enrollmentDateEnd'],
65
66
  'extension_days': value['extensionDays'],
66
67
  'notes': value['notes'],
68
+ 'course_version_id': value['courseVersionId'],
67
69
  };
68
70
  }
@@ -89,6 +89,10 @@ export * from './GetQuestionQuizzesInner';
89
89
  export * from './GetResource';
90
90
  export * from './GetResourceList';
91
91
  export * from './GetResourceSession';
92
+ export * from './GetResourceSessionActivity';
93
+ export * from './GetResourceSessionActivityEvent';
94
+ export * from './GetResourceSessionActivityEventList';
95
+ export * from './GetResourceSessionActivityList';
92
96
  export * from './GetResourceSessionDiagnostics';
93
97
  export * from './GetResourceSessionDiagnosticsCourseContext';
94
98
  export * from './GetResourceSessionDiagnosticsResource';
@@ -184,6 +188,7 @@ export * from './PostQuestion';
184
188
  export * from './PostQuestionAnswerChoicesInner';
185
189
  export * from './PostResetPassword';
186
190
  export * from './PostResource';
191
+ export * from './PostResourceSessionActivityEvent';
187
192
  export * from './PostResourceVersion';
188
193
  export * from './PostResourceVersionComplete';
189
194
  export * from './PostResourceVersionSession';
@@ -91,6 +91,10 @@ export * from './GetQuestionQuizzesInner';
91
91
  export * from './GetResource';
92
92
  export * from './GetResourceList';
93
93
  export * from './GetResourceSession';
94
+ export * from './GetResourceSessionActivity';
95
+ export * from './GetResourceSessionActivityEvent';
96
+ export * from './GetResourceSessionActivityEventList';
97
+ export * from './GetResourceSessionActivityList';
94
98
  export * from './GetResourceSessionDiagnostics';
95
99
  export * from './GetResourceSessionDiagnosticsCourseContext';
96
100
  export * from './GetResourceSessionDiagnosticsResource';
@@ -186,6 +190,7 @@ export * from './PostQuestion';
186
190
  export * from './PostQuestionAnswerChoicesInner';
187
191
  export * from './PostResetPassword';
188
192
  export * from './PostResource';
193
+ export * from './PostResourceSessionActivityEvent';
189
194
  export * from './PostResourceVersion';
190
195
  export * from './PostResourceVersionComplete';
191
196
  export * from './PostResourceVersionSession';
@@ -33,6 +33,18 @@ export interface GetCourseEnrollment {
33
33
  * @memberof GetCourseEnrollment
34
34
  */
35
35
  userId: string;
36
+ /**
37
+ * The published course version assigned to this enrollment. Null for unpinned instructor enrollments.
38
+ * @type {string}
39
+ * @memberof GetCourseEnrollment
40
+ */
41
+ courseVersionId: string | null;
42
+ /**
43
+ * The display number of the assigned course version. Null for unpinned instructor enrollments.
44
+ * @type {number}
45
+ * @memberof GetCourseEnrollment
46
+ */
47
+ courseVersionNumber: number | null;
36
48
  /**
37
49
  * Start date of the enrollment (Unix timestamp)
38
50
  * @type {number}
@@ -63,6 +63,10 @@ function instanceOfGetCourseEnrollment(value) {
63
63
  return false;
64
64
  if (!('userId' in value) || value['userId'] === undefined)
65
65
  return false;
66
+ if (!('courseVersionId' in value) || value['courseVersionId'] === undefined)
67
+ return false;
68
+ if (!('courseVersionNumber' in value) || value['courseVersionNumber'] === undefined)
69
+ return false;
66
70
  if (!('enrollmentDateStart' in value) || value['enrollmentDateStart'] === undefined)
67
71
  return false;
68
72
  if (!('enrollmentDateEnd' in value) || value['enrollmentDateEnd'] === undefined)
@@ -92,6 +96,8 @@ function GetCourseEnrollmentFromJSONTyped(json, ignoreDiscriminator) {
92
96
  'id': json['id'],
93
97
  'courseId': json['course_id'],
94
98
  'userId': json['user_id'],
99
+ 'courseVersionId': json['course_version_id'],
100
+ 'courseVersionNumber': json['course_version_number'],
95
101
  'enrollmentDateStart': json['enrollment_date_start'],
96
102
  'enrollmentDateEnd': json['enrollment_date_end'],
97
103
  'notes': json['notes'],
@@ -113,6 +119,8 @@ function GetCourseEnrollmentToJSONTyped(value, ignoreDiscriminator = false) {
113
119
  'id': value['id'],
114
120
  'course_id': value['courseId'],
115
121
  'user_id': value['userId'],
122
+ 'course_version_id': value['courseVersionId'],
123
+ 'course_version_number': value['courseVersionNumber'],
116
124
  'enrollment_date_start': value['enrollmentDateStart'],
117
125
  'enrollment_date_end': value['enrollmentDateEnd'],
118
126
  'notes': value['notes'],
@@ -33,6 +33,18 @@ export interface GetCourseEnrollmentListItem {
33
33
  * @memberof GetCourseEnrollmentListItem
34
34
  */
35
35
  userId: string;
36
+ /**
37
+ * The published course version assigned to this enrollment. Null for unpinned instructor enrollments.
38
+ * @type {string}
39
+ * @memberof GetCourseEnrollmentListItem
40
+ */
41
+ courseVersionId: string | null;
42
+ /**
43
+ * The display number of the assigned course version. Null for unpinned instructor enrollments.
44
+ * @type {number}
45
+ * @memberof GetCourseEnrollmentListItem
46
+ */
47
+ courseVersionNumber: number | null;
36
48
  /**
37
49
  * The first name of the enrolled user
38
50
  * @type {string}
@@ -63,6 +63,10 @@ function instanceOfGetCourseEnrollmentListItem(value) {
63
63
  return false;
64
64
  if (!('userId' in value) || value['userId'] === undefined)
65
65
  return false;
66
+ if (!('courseVersionId' in value) || value['courseVersionId'] === undefined)
67
+ return false;
68
+ if (!('courseVersionNumber' in value) || value['courseVersionNumber'] === undefined)
69
+ return false;
66
70
  if (!('firstName' in value) || value['firstName'] === undefined)
67
71
  return false;
68
72
  if (!('lastName' in value) || value['lastName'] === undefined)
@@ -94,6 +98,8 @@ function GetCourseEnrollmentListItemFromJSONTyped(json, ignoreDiscriminator) {
94
98
  'id': json['id'],
95
99
  'courseId': json['course_id'],
96
100
  'userId': json['user_id'],
101
+ 'courseVersionId': json['course_version_id'],
102
+ 'courseVersionNumber': json['course_version_number'],
97
103
  'firstName': json['first_name'],
98
104
  'lastName': json['last_name'],
99
105
  'enrollmentDateStart': json['enrollment_date_start'],
@@ -116,6 +122,8 @@ function GetCourseEnrollmentListItemToJSONTyped(value, ignoreDiscriminator = fal
116
122
  'id': value['id'],
117
123
  'course_id': value['courseId'],
118
124
  'user_id': value['userId'],
125
+ 'course_version_id': value['courseVersionId'],
126
+ 'course_version_number': value['courseVersionNumber'],
119
127
  'first_name': value['firstName'],
120
128
  'last_name': value['lastName'],
121
129
  'enrollment_date_start': value['enrollmentDateStart'],
@@ -102,6 +102,12 @@ export interface GetCourseVersionItemSession {
102
102
  * @memberof GetCourseVersionItemSession
103
103
  */
104
104
  scoreRaw?: number | null;
105
+ /**
106
+ * Accumulated active learner time across this session's activities.
107
+ * @type {number}
108
+ * @memberof GetCourseVersionItemSession
109
+ */
110
+ durationSeconds: number;
105
111
  /**
106
112
  *
107
113
  * @type {number}
@@ -51,6 +51,8 @@ function instanceOfGetCourseVersionItemSession(value) {
51
51
  return false;
52
52
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
53
53
  return false;
54
+ if (!('durationSeconds' in value) || value['durationSeconds'] === undefined)
55
+ return false;
54
56
  if (!('createdAt' in value) || value['createdAt'] === undefined)
55
57
  return false;
56
58
  if (!('updatedAt' in value) || value['updatedAt'] === undefined)
@@ -79,6 +81,7 @@ function GetCourseVersionItemSessionFromJSONTyped(json, ignoreDiscriminator) {
79
81
  'completionStatus': json['completion_status'],
80
82
  'gradeStatus': json['grade_status'],
81
83
  'scoreRaw': json['score_raw'] == null ? undefined : json['score_raw'],
84
+ 'durationSeconds': json['duration_seconds'],
82
85
  'createdAt': json['created_at'],
83
86
  'updatedAt': json['updated_at'],
84
87
  'completedAt': json['completed_at'] == null ? undefined : json['completed_at'],
@@ -106,6 +109,7 @@ function GetCourseVersionItemSessionToJSONTyped(value, ignoreDiscriminator = fal
106
109
  'completion_status': value['completionStatus'],
107
110
  'grade_status': value['gradeStatus'],
108
111
  'score_raw': value['scoreRaw'],
112
+ 'duration_seconds': value['durationSeconds'],
109
113
  'created_at': value['createdAt'],
110
114
  'updated_at': value['updatedAt'],
111
115
  'completed_at': value['completedAt'],
@@ -155,6 +155,12 @@ export interface GetLibraryQuizSession {
155
155
  * @memberof GetLibraryQuizSession
156
156
  */
157
157
  completedAt?: number | null;
158
+ /**
159
+ * Elapsed attempt time from start through completion, submission, or the latest saved activity.
160
+ * @type {number}
161
+ * @memberof GetLibraryQuizSession
162
+ */
163
+ durationSeconds: number;
158
164
  }
159
165
  /**
160
166
  * @export