@easyedu/js-lsm-api 1.67.0 → 1.68.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 (62) hide show
  1. package/.openapi-generator/FILES +8 -0
  2. package/README.md +8 -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/GetContentAttempts.d.ts +90 -0
  14. package/dist/esm/models/GetContentAttempts.js +84 -0
  15. package/dist/esm/models/GetContentSession.d.ts +12 -0
  16. package/dist/esm/models/GetContentSession.js +8 -0
  17. package/dist/esm/models/GetContentSessionDetail.d.ts +12 -0
  18. package/dist/esm/models/GetContentSessionDetail.js +8 -0
  19. package/dist/esm/models/GetContentSessionListItem.d.ts +24 -0
  20. package/dist/esm/models/GetContentSessionListItem.js +16 -0
  21. package/dist/esm/models/PostContentSession.d.ts +12 -0
  22. package/dist/esm/models/PostContentSession.js +8 -0
  23. package/dist/esm/models/index.d.ts +4 -0
  24. package/dist/esm/models/index.js +4 -0
  25. package/dist/models/ContentAttemptItem.d.ts +69 -0
  26. package/dist/models/ContentAttemptItem.js +75 -0
  27. package/dist/models/ContentAttemptRollupScore.d.ts +38 -0
  28. package/dist/models/ContentAttemptRollupScore.js +54 -0
  29. package/dist/models/ContentAttemptScore.d.ts +50 -0
  30. package/dist/models/ContentAttemptScore.js +54 -0
  31. package/dist/models/GetContentAttempts.d.ts +90 -0
  32. package/dist/models/GetContentAttempts.js +92 -0
  33. package/dist/models/GetContentSession.d.ts +12 -0
  34. package/dist/models/GetContentSession.js +8 -0
  35. package/dist/models/GetContentSessionDetail.d.ts +12 -0
  36. package/dist/models/GetContentSessionDetail.js +8 -0
  37. package/dist/models/GetContentSessionListItem.d.ts +24 -0
  38. package/dist/models/GetContentSessionListItem.js +16 -0
  39. package/dist/models/PostContentSession.d.ts +12 -0
  40. package/dist/models/PostContentSession.js +8 -0
  41. package/dist/models/index.d.ts +4 -0
  42. package/dist/models/index.js +4 -0
  43. package/docs/ContentApi.md +159 -0
  44. package/docs/ContentAttemptItem.md +47 -0
  45. package/docs/ContentAttemptRollupScore.md +37 -0
  46. package/docs/ContentAttemptScore.md +41 -0
  47. package/docs/GetContentAttempts.md +51 -0
  48. package/docs/GetContentSession.md +4 -0
  49. package/docs/GetContentSessionDetail.md +4 -0
  50. package/docs/GetContentSessionListItem.md +8 -0
  51. package/docs/PostContentSession.md +4 -0
  52. package/package.json +1 -1
  53. package/src/apis/ContentApi.ts +172 -0
  54. package/src/models/ContentAttemptItem.ts +128 -0
  55. package/src/models/ContentAttemptRollupScore.ts +75 -0
  56. package/src/models/ContentAttemptScore.ts +89 -0
  57. package/src/models/GetContentAttempts.ts +164 -0
  58. package/src/models/GetContentSession.ts +18 -0
  59. package/src/models/GetContentSessionDetail.ts +18 -0
  60. package/src/models/GetContentSessionListItem.ts +36 -0
  61. package/src/models/PostContentSession.ts +18 -0
  62. package/src/models/index.ts +4 -0
@@ -0,0 +1,68 @@
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 { ContentAttemptScoreFromJSON, ContentAttemptScoreToJSON, } from './ContentAttemptScore';
15
+ /**
16
+ * Check if a given object implements the ContentAttemptItem interface.
17
+ */
18
+ export function instanceOfContentAttemptItem(value) {
19
+ if (!('sessionId' in value) || value['sessionId'] === undefined)
20
+ return false;
21
+ if (!('attemptNumber' in value) || value['attemptNumber'] === undefined)
22
+ return false;
23
+ if (!('completionStatus' in value) || value['completionStatus'] === undefined)
24
+ return false;
25
+ if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
26
+ return false;
27
+ if (!('score' in value) || value['score'] === undefined)
28
+ return false;
29
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
30
+ return false;
31
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined)
32
+ return false;
33
+ return true;
34
+ }
35
+ export function ContentAttemptItemFromJSON(json) {
36
+ return ContentAttemptItemFromJSONTyped(json, false);
37
+ }
38
+ export function ContentAttemptItemFromJSONTyped(json, ignoreDiscriminator) {
39
+ if (json == null) {
40
+ return json;
41
+ }
42
+ return {
43
+ 'sessionId': json['session_id'],
44
+ 'attemptNumber': json['attempt_number'],
45
+ 'completionStatus': json['completion_status'],
46
+ 'gradeStatus': json['grade_status'],
47
+ 'score': ContentAttemptScoreFromJSON(json['score']),
48
+ 'createdAt': json['created_at'],
49
+ 'updatedAt': json['updated_at'],
50
+ };
51
+ }
52
+ export function ContentAttemptItemToJSON(json) {
53
+ return ContentAttemptItemToJSONTyped(json, false);
54
+ }
55
+ export function ContentAttemptItemToJSONTyped(value, ignoreDiscriminator = false) {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+ return {
60
+ 'session_id': value['sessionId'],
61
+ 'attempt_number': value['attemptNumber'],
62
+ 'completion_status': value['completionStatus'],
63
+ 'grade_status': value['gradeStatus'],
64
+ 'score': ContentAttemptScoreToJSON(value['score']),
65
+ 'created_at': value['createdAt'],
66
+ 'updated_at': value['updatedAt'],
67
+ };
68
+ }
@@ -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,47 @@
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 ContentAttemptRollupScore interface.
16
+ */
17
+ export function instanceOfContentAttemptRollupScore(value) {
18
+ if (!('percentage' in value) || value['percentage'] === undefined)
19
+ return false;
20
+ if (!('sourceAttemptNumber' in value) || value['sourceAttemptNumber'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function ContentAttemptRollupScoreFromJSON(json) {
25
+ return ContentAttemptRollupScoreFromJSONTyped(json, false);
26
+ }
27
+ export function ContentAttemptRollupScoreFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'percentage': json['percentage'],
33
+ 'sourceAttemptNumber': json['source_attempt_number'],
34
+ };
35
+ }
36
+ export function ContentAttemptRollupScoreToJSON(json) {
37
+ return ContentAttemptRollupScoreToJSONTyped(json, false);
38
+ }
39
+ export function ContentAttemptRollupScoreToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'percentage': value['percentage'],
45
+ 'source_attempt_number': value['sourceAttemptNumber'],
46
+ };
47
+ }
@@ -0,0 +1,50 @@
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
+ * Normalized score data for a content attempt
14
+ * @export
15
+ * @interface ContentAttemptScore
16
+ */
17
+ export interface ContentAttemptScore {
18
+ /**
19
+ * Raw score reported by the content, if available
20
+ * @type {number}
21
+ * @memberof ContentAttemptScore
22
+ */
23
+ raw?: number | null;
24
+ /**
25
+ * Minimum possible score, if available
26
+ * @type {number}
27
+ * @memberof ContentAttemptScore
28
+ */
29
+ min?: number | null;
30
+ /**
31
+ * Maximum possible score, if available
32
+ * @type {number}
33
+ * @memberof ContentAttemptScore
34
+ */
35
+ max?: number | null;
36
+ /**
37
+ * Score normalized to a 0-100 percentage, if available
38
+ * @type {number}
39
+ * @memberof ContentAttemptScore
40
+ */
41
+ percentage?: number | null;
42
+ }
43
+ /**
44
+ * Check if a given object implements the ContentAttemptScore interface.
45
+ */
46
+ export declare function instanceOfContentAttemptScore(value: object): value is ContentAttemptScore;
47
+ export declare function ContentAttemptScoreFromJSON(json: any): ContentAttemptScore;
48
+ export declare function ContentAttemptScoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContentAttemptScore;
49
+ export declare function ContentAttemptScoreToJSON(json: any): ContentAttemptScore;
50
+ export declare function ContentAttemptScoreToJSONTyped(value?: ContentAttemptScore | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
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 ContentAttemptScore interface.
16
+ */
17
+ export function instanceOfContentAttemptScore(value) {
18
+ return true;
19
+ }
20
+ export function ContentAttemptScoreFromJSON(json) {
21
+ return ContentAttemptScoreFromJSONTyped(json, false);
22
+ }
23
+ export function ContentAttemptScoreFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'raw': json['raw'] == null ? undefined : json['raw'],
29
+ 'min': json['min'] == null ? undefined : json['min'],
30
+ 'max': json['max'] == null ? undefined : json['max'],
31
+ 'percentage': json['percentage'] == null ? undefined : json['percentage'],
32
+ };
33
+ }
34
+ export function ContentAttemptScoreToJSON(json) {
35
+ return ContentAttemptScoreToJSONTyped(json, false);
36
+ }
37
+ export function ContentAttemptScoreToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'raw': value['raw'],
43
+ 'min': value['min'],
44
+ 'max': value['max'],
45
+ 'percentage': value['percentage'],
46
+ };
47
+ }
@@ -0,0 +1,90 @@
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 { ContentAttemptRollupScore } from './ContentAttemptRollupScore';
13
+ import type { ContentAttemptItem } from './ContentAttemptItem';
14
+ /**
15
+ * Learner attempt history and rollup for a content item
16
+ * @export
17
+ * @interface GetContentAttempts
18
+ */
19
+ export interface GetContentAttempts {
20
+ /**
21
+ * Content external ID
22
+ * @type {string}
23
+ * @memberof GetContentAttempts
24
+ */
25
+ contentId: string;
26
+ /**
27
+ * User ID these attempts belong to
28
+ * @type {string}
29
+ * @memberof GetContentAttempts
30
+ */
31
+ userId: string;
32
+ /**
33
+ * Maximum content sessions allowed for this learner/content pair
34
+ * @type {number}
35
+ * @memberof GetContentAttempts
36
+ */
37
+ maxAttempts: number;
38
+ /**
39
+ * Number of attempts already created
40
+ * @type {number}
41
+ * @memberof GetContentAttempts
42
+ */
43
+ attemptsUsed: number;
44
+ /**
45
+ * Number of additional attempts that can be created
46
+ * @type {number}
47
+ * @memberof GetContentAttempts
48
+ */
49
+ attemptsRemaining: number;
50
+ /**
51
+ * Whether another attempt may be started under the current policy
52
+ * @type {boolean}
53
+ * @memberof GetContentAttempts
54
+ */
55
+ canStartNewAttempt: boolean;
56
+ /**
57
+ * Strategy used to compute rollup_score from attempts
58
+ * @type {GetContentAttemptsScoreRollupStrategyEnum}
59
+ * @memberof GetContentAttempts
60
+ */
61
+ scoreRollupStrategy: GetContentAttemptsScoreRollupStrategyEnum;
62
+ /**
63
+ *
64
+ * @type {ContentAttemptRollupScore}
65
+ * @memberof GetContentAttempts
66
+ */
67
+ rollupScore: ContentAttemptRollupScore | null;
68
+ /**
69
+ *
70
+ * @type {Array<ContentAttemptItem>}
71
+ * @memberof GetContentAttempts
72
+ */
73
+ attempts: Array<ContentAttemptItem>;
74
+ }
75
+ /**
76
+ * @export
77
+ */
78
+ export declare const GetContentAttemptsScoreRollupStrategyEnum: {
79
+ readonly Latest: "Latest";
80
+ readonly Best: "Best";
81
+ };
82
+ export type GetContentAttemptsScoreRollupStrategyEnum = typeof GetContentAttemptsScoreRollupStrategyEnum[keyof typeof GetContentAttemptsScoreRollupStrategyEnum];
83
+ /**
84
+ * Check if a given object implements the GetContentAttempts interface.
85
+ */
86
+ export declare function instanceOfGetContentAttempts(value: object): value is GetContentAttempts;
87
+ export declare function GetContentAttemptsFromJSON(json: any): GetContentAttempts;
88
+ export declare function GetContentAttemptsFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetContentAttempts;
89
+ export declare function GetContentAttemptsToJSON(json: any): GetContentAttempts;
90
+ export declare function GetContentAttemptsToJSONTyped(value?: GetContentAttempts | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,84 @@
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 { ContentAttemptRollupScoreFromJSON, ContentAttemptRollupScoreToJSON, } from './ContentAttemptRollupScore';
15
+ import { ContentAttemptItemFromJSON, ContentAttemptItemToJSON, } from './ContentAttemptItem';
16
+ /**
17
+ * @export
18
+ */
19
+ export const GetContentAttemptsScoreRollupStrategyEnum = {
20
+ Latest: 'Latest',
21
+ Best: 'Best'
22
+ };
23
+ /**
24
+ * Check if a given object implements the GetContentAttempts interface.
25
+ */
26
+ export function instanceOfGetContentAttempts(value) {
27
+ if (!('contentId' in value) || value['contentId'] === undefined)
28
+ return false;
29
+ if (!('userId' in value) || value['userId'] === undefined)
30
+ return false;
31
+ if (!('maxAttempts' in value) || value['maxAttempts'] === undefined)
32
+ return false;
33
+ if (!('attemptsUsed' in value) || value['attemptsUsed'] === undefined)
34
+ return false;
35
+ if (!('attemptsRemaining' in value) || value['attemptsRemaining'] === undefined)
36
+ return false;
37
+ if (!('canStartNewAttempt' in value) || value['canStartNewAttempt'] === undefined)
38
+ return false;
39
+ if (!('scoreRollupStrategy' in value) || value['scoreRollupStrategy'] === undefined)
40
+ return false;
41
+ if (!('rollupScore' in value) || value['rollupScore'] === undefined)
42
+ return false;
43
+ if (!('attempts' in value) || value['attempts'] === undefined)
44
+ return false;
45
+ return true;
46
+ }
47
+ export function GetContentAttemptsFromJSON(json) {
48
+ return GetContentAttemptsFromJSONTyped(json, false);
49
+ }
50
+ export function GetContentAttemptsFromJSONTyped(json, ignoreDiscriminator) {
51
+ if (json == null) {
52
+ return json;
53
+ }
54
+ return {
55
+ 'contentId': json['content_id'],
56
+ 'userId': json['user_id'],
57
+ 'maxAttempts': json['max_attempts'],
58
+ 'attemptsUsed': json['attempts_used'],
59
+ 'attemptsRemaining': json['attempts_remaining'],
60
+ 'canStartNewAttempt': json['can_start_new_attempt'],
61
+ 'scoreRollupStrategy': json['score_rollup_strategy'],
62
+ 'rollupScore': ContentAttemptRollupScoreFromJSON(json['rollup_score']),
63
+ 'attempts': (json['attempts'].map(ContentAttemptItemFromJSON)),
64
+ };
65
+ }
66
+ export function GetContentAttemptsToJSON(json) {
67
+ return GetContentAttemptsToJSONTyped(json, false);
68
+ }
69
+ export function GetContentAttemptsToJSONTyped(value, ignoreDiscriminator = false) {
70
+ if (value == null) {
71
+ return value;
72
+ }
73
+ return {
74
+ 'content_id': value['contentId'],
75
+ 'user_id': value['userId'],
76
+ 'max_attempts': value['maxAttempts'],
77
+ 'attempts_used': value['attemptsUsed'],
78
+ 'attempts_remaining': value['attemptsRemaining'],
79
+ 'can_start_new_attempt': value['canStartNewAttempt'],
80
+ 'score_rollup_strategy': value['scoreRollupStrategy'],
81
+ 'rollup_score': ContentAttemptRollupScoreToJSON(value['rollupScore']),
82
+ 'attempts': (value['attempts'].map(ContentAttemptItemToJSON)),
83
+ };
84
+ }
@@ -51,6 +51,18 @@ export interface GetContentSession {
51
51
  * @memberof GetContentSession
52
52
  */
53
53
  gradeStatus: string;
54
+ /**
55
+ * The learner attempt number for this content session
56
+ * @type {number}
57
+ * @memberof GetContentSession
58
+ */
59
+ attemptNumber: number;
60
+ /**
61
+ * Whether this is the current attempt used for learner progress display
62
+ * @type {boolean}
63
+ * @memberof GetContentSession
64
+ */
65
+ isCurrent: boolean;
54
66
  }
55
67
  /**
56
68
  * Check if a given object implements the GetContentSession interface.
@@ -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
  }
@@ -1,6 +1,9 @@
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';
4
7
  export * from './ContentLaunchMode';
5
8
  export * from './CourseCatalog';
6
9
  export * from './CourseShare';
@@ -16,6 +19,7 @@ export * from './GetCertificateConfigList';
16
19
  export * from './GetCertificateList';
17
20
  export * from './GetChatMessage';
18
21
  export * from './GetContent';
22
+ export * from './GetContentAttempts';
19
23
  export * from './GetContentContentData';
20
24
  export * from './GetContentGradeDetail';
21
25
  export * from './GetContentGrades';