@easyedu/js-lsm-api 1.67.0 → 1.69.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 (86) hide show
  1. package/.openapi-generator/FILES +12 -0
  2. package/README.md +10 -2
  3. package/dist/apis/ContentApi.d.ts +56 -0
  4. package/dist/apis/ContentApi.js +121 -1
  5. package/dist/esm/apis/ContentApi.d.ts +56 -0
  6. package/dist/esm/apis/ContentApi.js +120 -0
  7. package/dist/esm/models/ContentAttemptItem.d.ts +69 -0
  8. package/dist/esm/models/ContentAttemptItem.js +68 -0
  9. package/dist/esm/models/ContentAttemptRollupScore.d.ts +38 -0
  10. package/dist/esm/models/ContentAttemptRollupScore.js +47 -0
  11. package/dist/esm/models/ContentAttemptScore.d.ts +50 -0
  12. package/dist/esm/models/ContentAttemptScore.js +47 -0
  13. package/dist/esm/models/ContentAttemptSettings.d.ts +46 -0
  14. package/dist/esm/models/ContentAttemptSettings.js +54 -0
  15. package/dist/esm/models/GetContent.d.ts +7 -0
  16. package/dist/esm/models/GetContent.js +5 -0
  17. package/dist/esm/models/GetContentAttempts.d.ts +90 -0
  18. package/dist/esm/models/GetContentAttempts.js +84 -0
  19. package/dist/esm/models/GetContentSession.d.ts +12 -0
  20. package/dist/esm/models/GetContentSession.js +8 -0
  21. package/dist/esm/models/GetContentSessionDetail.d.ts +12 -0
  22. package/dist/esm/models/GetContentSessionDetail.js +8 -0
  23. package/dist/esm/models/GetContentSessionListItem.d.ts +24 -0
  24. package/dist/esm/models/GetContentSessionListItem.js +16 -0
  25. package/dist/esm/models/PostContentSession.d.ts +12 -0
  26. package/dist/esm/models/PostContentSession.js +8 -0
  27. package/dist/esm/models/PutContent.d.ts +7 -0
  28. package/dist/esm/models/PutContent.js +3 -0
  29. package/dist/esm/models/PutContentAttemptSettings.d.ts +46 -0
  30. package/dist/esm/models/PutContentAttemptSettings.js +50 -0
  31. package/dist/esm/models/index.d.ts +6 -0
  32. package/dist/esm/models/index.js +6 -0
  33. package/dist/models/ContentAttemptItem.d.ts +69 -0
  34. package/dist/models/ContentAttemptItem.js +75 -0
  35. package/dist/models/ContentAttemptRollupScore.d.ts +38 -0
  36. package/dist/models/ContentAttemptRollupScore.js +54 -0
  37. package/dist/models/ContentAttemptScore.d.ts +50 -0
  38. package/dist/models/ContentAttemptScore.js +54 -0
  39. package/dist/models/ContentAttemptSettings.d.ts +46 -0
  40. package/dist/models/ContentAttemptSettings.js +62 -0
  41. package/dist/models/GetContent.d.ts +7 -0
  42. package/dist/models/GetContent.js +5 -0
  43. package/dist/models/GetContentAttempts.d.ts +90 -0
  44. package/dist/models/GetContentAttempts.js +92 -0
  45. package/dist/models/GetContentSession.d.ts +12 -0
  46. package/dist/models/GetContentSession.js +8 -0
  47. package/dist/models/GetContentSessionDetail.d.ts +12 -0
  48. package/dist/models/GetContentSessionDetail.js +8 -0
  49. package/dist/models/GetContentSessionListItem.d.ts +24 -0
  50. package/dist/models/GetContentSessionListItem.js +16 -0
  51. package/dist/models/PostContentSession.d.ts +12 -0
  52. package/dist/models/PostContentSession.js +8 -0
  53. package/dist/models/PutContent.d.ts +7 -0
  54. package/dist/models/PutContent.js +3 -0
  55. package/dist/models/PutContentAttemptSettings.d.ts +46 -0
  56. package/dist/models/PutContentAttemptSettings.js +58 -0
  57. package/dist/models/index.d.ts +6 -0
  58. package/dist/models/index.js +6 -0
  59. package/docs/ContentApi.md +159 -0
  60. package/docs/ContentAttemptItem.md +47 -0
  61. package/docs/ContentAttemptRollupScore.md +37 -0
  62. package/docs/ContentAttemptScore.md +41 -0
  63. package/docs/ContentAttemptSettings.md +36 -0
  64. package/docs/GetContent.md +2 -0
  65. package/docs/GetContentAttempts.md +51 -0
  66. package/docs/GetContentSession.md +4 -0
  67. package/docs/GetContentSessionDetail.md +4 -0
  68. package/docs/GetContentSessionListItem.md +8 -0
  69. package/docs/PostContentSession.md +4 -0
  70. package/docs/PutContent.md +2 -0
  71. package/docs/PutContentAttemptSettings.md +36 -0
  72. package/package.json +1 -1
  73. package/src/apis/ContentApi.ts +172 -0
  74. package/src/models/ContentAttemptItem.ts +128 -0
  75. package/src/models/ContentAttemptRollupScore.ts +75 -0
  76. package/src/models/ContentAttemptScore.ts +89 -0
  77. package/src/models/ContentAttemptSettings.ts +86 -0
  78. package/src/models/GetContent.ts +16 -0
  79. package/src/models/GetContentAttempts.ts +164 -0
  80. package/src/models/GetContentSession.ts +18 -0
  81. package/src/models/GetContentSessionDetail.ts +18 -0
  82. package/src/models/GetContentSessionListItem.ts +36 -0
  83. package/src/models/PostContentSession.ts +18 -0
  84. package/src/models/PutContent.ts +15 -0
  85. package/src/models/PutContentAttemptSettings.ts +84 -0
  86. package/src/models/index.ts +6 -0
@@ -27,6 +27,10 @@ export function instanceOfGetContentSession(value) {
27
27
  return false;
28
28
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
29
29
  return false;
30
+ if (!('attemptNumber' in value) || value['attemptNumber'] === undefined)
31
+ return false;
32
+ if (!('isCurrent' in value) || value['isCurrent'] === undefined)
33
+ return false;
30
34
  return true;
31
35
  }
32
36
  export function GetContentSessionFromJSON(json) {
@@ -43,6 +47,8 @@ export function GetContentSessionFromJSONTyped(json, ignoreDiscriminator) {
43
47
  'updatedAt': json['updated_at'],
44
48
  'completionStatus': json['completion_status'],
45
49
  'gradeStatus': json['grade_status'],
50
+ 'attemptNumber': json['attempt_number'],
51
+ 'isCurrent': json['is_current'],
46
52
  };
47
53
  }
48
54
  export function GetContentSessionToJSON(json) {
@@ -59,5 +65,7 @@ export function GetContentSessionToJSONTyped(value, ignoreDiscriminator = false)
59
65
  'updated_at': value['updatedAt'],
60
66
  'completion_status': value['completionStatus'],
61
67
  'grade_status': value['gradeStatus'],
68
+ 'attempt_number': value['attemptNumber'],
69
+ 'is_current': value['isCurrent'],
62
70
  };
63
71
  }
@@ -59,6 +59,18 @@ export interface GetContentSessionDetail {
59
59
  * @memberof GetContentSessionDetail
60
60
  */
61
61
  durationInSeconds: number;
62
+ /**
63
+ * The learner attempt number for this content session
64
+ * @type {number}
65
+ * @memberof GetContentSessionDetail
66
+ */
67
+ attemptNumber: number;
68
+ /**
69
+ * Whether this is the current attempt used for learner progress display
70
+ * @type {boolean}
71
+ * @memberof GetContentSessionDetail
72
+ */
73
+ isCurrent: boolean;
62
74
  /**
63
75
  *
64
76
  * @type {GetContentSessionDetailUserData}
@@ -50,6 +50,10 @@ export function instanceOfGetContentSessionDetail(value) {
50
50
  return false;
51
51
  if (!('durationInSeconds' in value) || value['durationInSeconds'] === undefined)
52
52
  return false;
53
+ if (!('attemptNumber' in value) || value['attemptNumber'] === undefined)
54
+ return false;
55
+ if (!('isCurrent' in value) || value['isCurrent'] === undefined)
56
+ return false;
53
57
  if (!('userData' in value) || value['userData'] === undefined)
54
58
  return false;
55
59
  if (!('scormSessionData' in value) || value['scormSessionData'] === undefined)
@@ -71,6 +75,8 @@ export function GetContentSessionDetailFromJSONTyped(json, ignoreDiscriminator)
71
75
  'completionStatus': json['completion_status'],
72
76
  'gradeStatus': json['grade_status'],
73
77
  'durationInSeconds': json['duration_in_seconds'],
78
+ 'attemptNumber': json['attempt_number'],
79
+ 'isCurrent': json['is_current'],
74
80
  'userData': GetContentSessionDetailUserDataFromJSON(json['user_data']),
75
81
  'scormSessionData': (json['scorm_session_data'] == null ? null : json['scorm_session_data'].map(GetContentSessionDetailScormSessionDataInnerFromJSON)),
76
82
  };
@@ -90,6 +96,8 @@ export function GetContentSessionDetailToJSONTyped(value, ignoreDiscriminator =
90
96
  'completion_status': value['completionStatus'],
91
97
  'grade_status': value['gradeStatus'],
92
98
  'duration_in_seconds': value['durationInSeconds'],
99
+ 'attempt_number': value['attemptNumber'],
100
+ 'is_current': value['isCurrent'],
93
101
  'user_data': GetContentSessionDetailUserDataToJSON(value['userData']),
94
102
  'scorm_session_data': (value['scormSessionData'] == null ? null : value['scormSessionData'].map(GetContentSessionDetailScormSessionDataInnerToJSON)),
95
103
  };
@@ -41,6 +41,30 @@ export interface GetContentSessionListItem {
41
41
  * @memberof GetContentSessionListItem
42
42
  */
43
43
  contentId: string;
44
+ /**
45
+ * The completion status of the content session
46
+ * @type {string}
47
+ * @memberof GetContentSessionListItem
48
+ */
49
+ completionStatus: string;
50
+ /**
51
+ * The grade status of the content session
52
+ * @type {string}
53
+ * @memberof GetContentSessionListItem
54
+ */
55
+ gradeStatus: string;
56
+ /**
57
+ * The learner attempt number for this content session
58
+ * @type {number}
59
+ * @memberof GetContentSessionListItem
60
+ */
61
+ attemptNumber: number;
62
+ /**
63
+ * Whether this is the current attempt used for learner progress display
64
+ * @type {boolean}
65
+ * @memberof GetContentSessionListItem
66
+ */
67
+ isCurrent: boolean;
44
68
  /**
45
69
  *
46
70
  * @type {GetContentSessionDetailUserData}
@@ -25,6 +25,14 @@ export function instanceOfGetContentSessionListItem(value) {
25
25
  return false;
26
26
  if (!('contentId' in value) || value['contentId'] === undefined)
27
27
  return false;
28
+ if (!('completionStatus' in value) || value['completionStatus'] === undefined)
29
+ return false;
30
+ if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
31
+ return false;
32
+ if (!('attemptNumber' in value) || value['attemptNumber'] === undefined)
33
+ return false;
34
+ if (!('isCurrent' in value) || value['isCurrent'] === undefined)
35
+ return false;
28
36
  if (!('userData' in value) || value['userData'] === undefined)
29
37
  return false;
30
38
  if (!('scormSessionData' in value) || value['scormSessionData'] === undefined)
@@ -43,6 +51,10 @@ export function GetContentSessionListItemFromJSONTyped(json, ignoreDiscriminator
43
51
  'createdAt': json['created_at'],
44
52
  'updatedAt': json['updated_at'],
45
53
  'contentId': json['content_id'],
54
+ 'completionStatus': json['completion_status'],
55
+ 'gradeStatus': json['grade_status'],
56
+ 'attemptNumber': json['attempt_number'],
57
+ 'isCurrent': json['is_current'],
46
58
  'userData': GetContentSessionDetailUserDataFromJSON(json['user_data']),
47
59
  'scormSessionData': GetContentSessionListItemScormSessionDataFromJSON(json['scorm_session_data']),
48
60
  };
@@ -59,6 +71,10 @@ export function GetContentSessionListItemToJSONTyped(value, ignoreDiscriminator
59
71
  'created_at': value['createdAt'],
60
72
  'updated_at': value['updatedAt'],
61
73
  'content_id': value['contentId'],
74
+ 'completion_status': value['completionStatus'],
75
+ 'grade_status': value['gradeStatus'],
76
+ 'attempt_number': value['attemptNumber'],
77
+ 'is_current': value['isCurrent'],
62
78
  'user_data': GetContentSessionDetailUserDataToJSON(value['userData']),
63
79
  'scorm_session_data': GetContentSessionListItemScormSessionDataToJSON(value['scormSessionData']),
64
80
  };
@@ -52,6 +52,18 @@ export interface PostContentSession {
52
52
  * @memberof PostContentSession
53
53
  */
54
54
  playerSessionId?: string | null;
55
+ /**
56
+ * The learner attempt number for this content session
57
+ * @type {number}
58
+ * @memberof PostContentSession
59
+ */
60
+ attemptNumber: number;
61
+ /**
62
+ * Whether this is the current attempt used for learner progress display
63
+ * @type {boolean}
64
+ * @memberof PostContentSession
65
+ */
66
+ isCurrent: boolean;
55
67
  }
56
68
  /**
57
69
  * Check if a given object implements the PostContentSession interface.
@@ -26,6 +26,10 @@ export function instanceOfPostContentSession(value) {
26
26
  return false;
27
27
  if (!('createdAt' in value) || value['createdAt'] === undefined)
28
28
  return false;
29
+ if (!('attemptNumber' in value) || value['attemptNumber'] === undefined)
30
+ return false;
31
+ if (!('isCurrent' in value) || value['isCurrent'] === undefined)
32
+ return false;
29
33
  return true;
30
34
  }
31
35
  export function PostContentSessionFromJSON(json) {
@@ -42,6 +46,8 @@ export function PostContentSessionFromJSONTyped(json, ignoreDiscriminator) {
42
46
  'launchMode': ContentLaunchModeFromJSON(json['launch_mode']),
43
47
  'createdAt': json['created_at'],
44
48
  'playerSessionId': json['player_session_id'] == null ? undefined : json['player_session_id'],
49
+ 'attemptNumber': json['attempt_number'],
50
+ 'isCurrent': json['is_current'],
45
51
  };
46
52
  }
47
53
  export function PostContentSessionToJSON(json) {
@@ -58,5 +64,7 @@ export function PostContentSessionToJSONTyped(value, ignoreDiscriminator = false
58
64
  'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
59
65
  'created_at': value['createdAt'],
60
66
  'player_session_id': value['playerSessionId'],
67
+ 'attempt_number': value['attemptNumber'],
68
+ 'is_current': value['isCurrent'],
61
69
  };
62
70
  }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { ContentLaunchMode } from './ContentLaunchMode';
13
+ import type { PutContentAttemptSettings } from './PutContentAttemptSettings';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -34,6 +35,12 @@ export interface PutContent {
34
35
  * @memberof PutContent
35
36
  */
36
37
  launchMode?: ContentLaunchMode;
38
+ /**
39
+ *
40
+ * @type {PutContentAttemptSettings}
41
+ * @memberof PutContent
42
+ */
43
+ attemptSettings?: PutContentAttemptSettings;
37
44
  }
38
45
  /**
39
46
  * Check if a given object implements the PutContent interface.
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { ContentLaunchModeFromJSON, ContentLaunchModeToJSON, } from './ContentLaunchMode';
15
+ import { PutContentAttemptSettingsFromJSON, PutContentAttemptSettingsToJSON, } from './PutContentAttemptSettings';
15
16
  /**
16
17
  * Check if a given object implements the PutContent interface.
17
18
  */
@@ -29,6 +30,7 @@ export function PutContentFromJSONTyped(json, ignoreDiscriminator) {
29
30
  'name': json['name'] == null ? undefined : json['name'],
30
31
  'published': json['published'] == null ? undefined : json['published'],
31
32
  'launchMode': json['launch_mode'] == null ? undefined : ContentLaunchModeFromJSON(json['launch_mode']),
33
+ 'attemptSettings': json['attempt_settings'] == null ? undefined : PutContentAttemptSettingsFromJSON(json['attempt_settings']),
32
34
  };
33
35
  }
34
36
  export function PutContentToJSON(json) {
@@ -42,5 +44,6 @@ export function PutContentToJSONTyped(value, ignoreDiscriminator = false) {
42
44
  'name': value['name'],
43
45
  'published': value['published'],
44
46
  'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
47
+ 'attempt_settings': PutContentAttemptSettingsToJSON(value['attemptSettings']),
45
48
  };
46
49
  }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * LMS API
3
+ * LMS API
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface PutContentAttemptSettings
16
+ */
17
+ export interface PutContentAttemptSettings {
18
+ /**
19
+ * Maximum allowed attempts for this content
20
+ * @type {number}
21
+ * @memberof PutContentAttemptSettings
22
+ */
23
+ maxAttempts?: number;
24
+ /**
25
+ * Strategy used to calculate the content rollup score
26
+ * @type {PutContentAttemptSettingsScoreRollupStrategyEnum}
27
+ * @memberof PutContentAttemptSettings
28
+ */
29
+ scoreRollupStrategy?: PutContentAttemptSettingsScoreRollupStrategyEnum;
30
+ }
31
+ /**
32
+ * @export
33
+ */
34
+ export declare const PutContentAttemptSettingsScoreRollupStrategyEnum: {
35
+ readonly Latest: "Latest";
36
+ readonly Best: "Best";
37
+ };
38
+ export type PutContentAttemptSettingsScoreRollupStrategyEnum = typeof PutContentAttemptSettingsScoreRollupStrategyEnum[keyof typeof PutContentAttemptSettingsScoreRollupStrategyEnum];
39
+ /**
40
+ * Check if a given object implements the PutContentAttemptSettings interface.
41
+ */
42
+ export declare function instanceOfPutContentAttemptSettings(value: object): value is PutContentAttemptSettings;
43
+ export declare function PutContentAttemptSettingsFromJSON(json: any): PutContentAttemptSettings;
44
+ export declare function PutContentAttemptSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PutContentAttemptSettings;
45
+ export declare function PutContentAttemptSettingsToJSON(json: any): PutContentAttemptSettings;
46
+ export declare function PutContentAttemptSettingsToJSONTyped(value?: PutContentAttemptSettings | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,50 @@
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 PutContentAttemptSettingsScoreRollupStrategyEnum = {
18
+ Latest: 'Latest',
19
+ Best: 'Best'
20
+ };
21
+ /**
22
+ * Check if a given object implements the PutContentAttemptSettings interface.
23
+ */
24
+ export function instanceOfPutContentAttemptSettings(value) {
25
+ return true;
26
+ }
27
+ export function PutContentAttemptSettingsFromJSON(json) {
28
+ return PutContentAttemptSettingsFromJSONTyped(json, false);
29
+ }
30
+ export function PutContentAttemptSettingsFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'maxAttempts': json['max_attempts'] == null ? undefined : json['max_attempts'],
36
+ 'scoreRollupStrategy': json['score_rollup_strategy'] == null ? undefined : json['score_rollup_strategy'],
37
+ };
38
+ }
39
+ export function PutContentAttemptSettingsToJSON(json) {
40
+ return PutContentAttemptSettingsToJSONTyped(json, false);
41
+ }
42
+ export function PutContentAttemptSettingsToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'max_attempts': value['maxAttempts'],
48
+ 'score_rollup_strategy': value['scoreRollupStrategy'],
49
+ };
50
+ }
@@ -1,6 +1,10 @@
1
1
  export * from './Certificate';
2
2
  export * from './CertificateConfig';
3
3
  export * from './CertificatePublic';
4
+ export * from './ContentAttemptItem';
5
+ export * from './ContentAttemptRollupScore';
6
+ export * from './ContentAttemptScore';
7
+ export * from './ContentAttemptSettings';
4
8
  export * from './ContentLaunchMode';
5
9
  export * from './CourseCatalog';
6
10
  export * from './CourseShare';
@@ -16,6 +20,7 @@ export * from './GetCertificateConfigList';
16
20
  export * from './GetCertificateList';
17
21
  export * from './GetChatMessage';
18
22
  export * from './GetContent';
23
+ export * from './GetContentAttempts';
19
24
  export * from './GetContentContentData';
20
25
  export * from './GetContentGradeDetail';
21
26
  export * from './GetContentGrades';
@@ -219,6 +224,7 @@ export * from './PostVerifyManifestItemsInner';
219
224
  export * from './PostVerifyManifestResourcesInner';
220
225
  export * from './PutCertificateConfig';
221
226
  export * from './PutContent';
227
+ export * from './PutContentAttemptSettings';
222
228
  export * from './PutContentReorder';
223
229
  export * from './PutContentVersion';
224
230
  export * from './PutCourse';
@@ -3,6 +3,10 @@
3
3
  export * from './Certificate';
4
4
  export * from './CertificateConfig';
5
5
  export * from './CertificatePublic';
6
+ export * from './ContentAttemptItem';
7
+ export * from './ContentAttemptRollupScore';
8
+ export * from './ContentAttemptScore';
9
+ export * from './ContentAttemptSettings';
6
10
  export * from './ContentLaunchMode';
7
11
  export * from './CourseCatalog';
8
12
  export * from './CourseShare';
@@ -18,6 +22,7 @@ export * from './GetCertificateConfigList';
18
22
  export * from './GetCertificateList';
19
23
  export * from './GetChatMessage';
20
24
  export * from './GetContent';
25
+ export * from './GetContentAttempts';
21
26
  export * from './GetContentContentData';
22
27
  export * from './GetContentGradeDetail';
23
28
  export * from './GetContentGrades';
@@ -221,6 +226,7 @@ export * from './PostVerifyManifestItemsInner';
221
226
  export * from './PostVerifyManifestResourcesInner';
222
227
  export * from './PutCertificateConfig';
223
228
  export * from './PutContent';
229
+ export * from './PutContentAttemptSettings';
224
230
  export * from './PutContentReorder';
225
231
  export * from './PutContentVersion';
226
232
  export * from './PutCourse';
@@ -0,0 +1,69 @@
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 { ContentAttemptScore } from './ContentAttemptScore';
13
+ /**
14
+ * A single learner attempt for a content item
15
+ * @export
16
+ * @interface ContentAttemptItem
17
+ */
18
+ export interface ContentAttemptItem {
19
+ /**
20
+ * Content session UUID for this attempt
21
+ * @type {string}
22
+ * @memberof ContentAttemptItem
23
+ */
24
+ sessionId: string;
25
+ /**
26
+ * Learner attempt number for this content item
27
+ * @type {number}
28
+ * @memberof ContentAttemptItem
29
+ */
30
+ attemptNumber: number;
31
+ /**
32
+ * Completion status for this attempt
33
+ * @type {string}
34
+ * @memberof ContentAttemptItem
35
+ */
36
+ completionStatus: string;
37
+ /**
38
+ * Grade status for this attempt
39
+ * @type {string}
40
+ * @memberof ContentAttemptItem
41
+ */
42
+ gradeStatus: string;
43
+ /**
44
+ *
45
+ * @type {ContentAttemptScore}
46
+ * @memberof ContentAttemptItem
47
+ */
48
+ score: ContentAttemptScore | null;
49
+ /**
50
+ * Attempt creation time as a Unix timestamp in seconds
51
+ * @type {number}
52
+ * @memberof ContentAttemptItem
53
+ */
54
+ createdAt: number;
55
+ /**
56
+ * Attempt update time as a Unix timestamp in seconds
57
+ * @type {number}
58
+ * @memberof ContentAttemptItem
59
+ */
60
+ updatedAt: number;
61
+ }
62
+ /**
63
+ * Check if a given object implements the ContentAttemptItem interface.
64
+ */
65
+ export declare function instanceOfContentAttemptItem(value: object): value is ContentAttemptItem;
66
+ export declare function ContentAttemptItemFromJSON(json: any): ContentAttemptItem;
67
+ export declare function ContentAttemptItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContentAttemptItem;
68
+ export declare function ContentAttemptItemToJSON(json: any): ContentAttemptItem;
69
+ export declare function ContentAttemptItemToJSONTyped(value?: ContentAttemptItem | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * LMS API
6
+ * LMS API
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfContentAttemptItem = instanceOfContentAttemptItem;
17
+ exports.ContentAttemptItemFromJSON = ContentAttemptItemFromJSON;
18
+ exports.ContentAttemptItemFromJSONTyped = ContentAttemptItemFromJSONTyped;
19
+ exports.ContentAttemptItemToJSON = ContentAttemptItemToJSON;
20
+ exports.ContentAttemptItemToJSONTyped = ContentAttemptItemToJSONTyped;
21
+ const ContentAttemptScore_1 = require("./ContentAttemptScore");
22
+ /**
23
+ * Check if a given object implements the ContentAttemptItem interface.
24
+ */
25
+ function instanceOfContentAttemptItem(value) {
26
+ if (!('sessionId' in value) || value['sessionId'] === undefined)
27
+ return false;
28
+ if (!('attemptNumber' in value) || value['attemptNumber'] === undefined)
29
+ return false;
30
+ if (!('completionStatus' in value) || value['completionStatus'] === undefined)
31
+ return false;
32
+ if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
33
+ return false;
34
+ if (!('score' in value) || value['score'] === undefined)
35
+ return false;
36
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
37
+ return false;
38
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined)
39
+ return false;
40
+ return true;
41
+ }
42
+ function ContentAttemptItemFromJSON(json) {
43
+ return ContentAttemptItemFromJSONTyped(json, false);
44
+ }
45
+ function ContentAttemptItemFromJSONTyped(json, ignoreDiscriminator) {
46
+ if (json == null) {
47
+ return json;
48
+ }
49
+ return {
50
+ 'sessionId': json['session_id'],
51
+ 'attemptNumber': json['attempt_number'],
52
+ 'completionStatus': json['completion_status'],
53
+ 'gradeStatus': json['grade_status'],
54
+ 'score': (0, ContentAttemptScore_1.ContentAttemptScoreFromJSON)(json['score']),
55
+ 'createdAt': json['created_at'],
56
+ 'updatedAt': json['updated_at'],
57
+ };
58
+ }
59
+ function ContentAttemptItemToJSON(json) {
60
+ return ContentAttemptItemToJSONTyped(json, false);
61
+ }
62
+ function ContentAttemptItemToJSONTyped(value, ignoreDiscriminator = false) {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+ return {
67
+ 'session_id': value['sessionId'],
68
+ 'attempt_number': value['attemptNumber'],
69
+ 'completion_status': value['completionStatus'],
70
+ 'grade_status': value['gradeStatus'],
71
+ 'score': (0, ContentAttemptScore_1.ContentAttemptScoreToJSON)(value['score']),
72
+ 'created_at': value['createdAt'],
73
+ 'updated_at': value['updatedAt'],
74
+ };
75
+ }
@@ -0,0 +1,38 @@
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
+ * Rolled-up score for a content item
14
+ * @export
15
+ * @interface ContentAttemptRollupScore
16
+ */
17
+ export interface ContentAttemptRollupScore {
18
+ /**
19
+ * Rolled-up score normalized to a 0-100 percentage
20
+ * @type {number}
21
+ * @memberof ContentAttemptRollupScore
22
+ */
23
+ percentage: number;
24
+ /**
25
+ * Attempt number that supplied the rolled-up score
26
+ * @type {number}
27
+ * @memberof ContentAttemptRollupScore
28
+ */
29
+ sourceAttemptNumber: number;
30
+ }
31
+ /**
32
+ * Check if a given object implements the ContentAttemptRollupScore interface.
33
+ */
34
+ export declare function instanceOfContentAttemptRollupScore(value: object): value is ContentAttemptRollupScore;
35
+ export declare function ContentAttemptRollupScoreFromJSON(json: any): ContentAttemptRollupScore;
36
+ export declare function ContentAttemptRollupScoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContentAttemptRollupScore;
37
+ export declare function ContentAttemptRollupScoreToJSON(json: any): ContentAttemptRollupScore;
38
+ export declare function ContentAttemptRollupScoreToJSONTyped(value?: ContentAttemptRollupScore | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * LMS API
6
+ * LMS API
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfContentAttemptRollupScore = instanceOfContentAttemptRollupScore;
17
+ exports.ContentAttemptRollupScoreFromJSON = ContentAttemptRollupScoreFromJSON;
18
+ exports.ContentAttemptRollupScoreFromJSONTyped = ContentAttemptRollupScoreFromJSONTyped;
19
+ exports.ContentAttemptRollupScoreToJSON = ContentAttemptRollupScoreToJSON;
20
+ exports.ContentAttemptRollupScoreToJSONTyped = ContentAttemptRollupScoreToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the ContentAttemptRollupScore interface.
23
+ */
24
+ function instanceOfContentAttemptRollupScore(value) {
25
+ if (!('percentage' in value) || value['percentage'] === undefined)
26
+ return false;
27
+ if (!('sourceAttemptNumber' in value) || value['sourceAttemptNumber'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ function ContentAttemptRollupScoreFromJSON(json) {
32
+ return ContentAttemptRollupScoreFromJSONTyped(json, false);
33
+ }
34
+ function ContentAttemptRollupScoreFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'percentage': json['percentage'],
40
+ 'sourceAttemptNumber': json['source_attempt_number'],
41
+ };
42
+ }
43
+ function ContentAttemptRollupScoreToJSON(json) {
44
+ return ContentAttemptRollupScoreToJSONTyped(json, false);
45
+ }
46
+ function ContentAttemptRollupScoreToJSONTyped(value, ignoreDiscriminator = false) {
47
+ if (value == null) {
48
+ return value;
49
+ }
50
+ return {
51
+ 'percentage': value['percentage'],
52
+ 'source_attempt_number': value['sourceAttemptNumber'],
53
+ };
54
+ }