@easyedu/js-lsm-api 1.74.0 → 1.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @easyedu/js-lsm-api@1.74.0
1
+ # @easyedu/js-lsm-api@1.76.0
2
2
 
3
3
  A TypeScript SDK client for the sbzw93t49b.execute-api.us-east-2.amazonaws.com API.
4
4
 
@@ -538,7 +538,7 @@ and is automatically generated by the
538
538
  [OpenAPI Generator](https://openapi-generator.tech) project:
539
539
 
540
540
  - API version: `1.0.0`
541
- - Package version: `1.74.0`
541
+ - Package version: `1.76.0`
542
542
  - Generator version: `7.22.0`
543
543
  - Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
544
544
 
@@ -32,6 +32,8 @@ export interface GetContentGradesRequest {
32
32
  page?: number;
33
33
  pageSize?: number;
34
34
  search?: string;
35
+ includeInactive?: boolean;
36
+ enrollmentStatus?: string;
35
37
  }
36
38
  export interface GetContentInstructorBasicReportingRequest {
37
39
  courseId: string;
@@ -112,6 +112,12 @@ class ReportingApi extends runtime.BaseAPI {
112
112
  if (requestParameters['search'] != null) {
113
113
  queryParameters['search'] = requestParameters['search'];
114
114
  }
115
+ if (requestParameters['includeInactive'] != null) {
116
+ queryParameters['includeInactive'] = requestParameters['includeInactive'];
117
+ }
118
+ if (requestParameters['enrollmentStatus'] != null) {
119
+ queryParameters['enrollmentStatus'] = requestParameters['enrollmentStatus'];
120
+ }
115
121
  const headerParameters = {};
116
122
  let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/{contentId}/reporting/grades`;
117
123
  urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
@@ -32,6 +32,8 @@ export interface GetContentGradesRequest {
32
32
  page?: number;
33
33
  pageSize?: number;
34
34
  search?: string;
35
+ includeInactive?: boolean;
36
+ enrollmentStatus?: string;
35
37
  }
36
38
  export interface GetContentInstructorBasicReportingRequest {
37
39
  courseId: string;
@@ -109,6 +109,12 @@ export class ReportingApi extends runtime.BaseAPI {
109
109
  if (requestParameters['search'] != null) {
110
110
  queryParameters['search'] = requestParameters['search'];
111
111
  }
112
+ if (requestParameters['includeInactive'] != null) {
113
+ queryParameters['includeInactive'] = requestParameters['includeInactive'];
114
+ }
115
+ if (requestParameters['enrollmentStatus'] != null) {
116
+ queryParameters['enrollmentStatus'] = requestParameters['enrollmentStatus'];
117
+ }
112
118
  const headerParameters = {};
113
119
  let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/{contentId}/reporting/grades`;
114
120
  urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
@@ -40,6 +40,18 @@ export interface GetContentGradesItemsInner {
40
40
  * @memberof GetContentGradesItemsInner
41
41
  */
42
42
  gradeStatus: GetContentGradesItemsInnerGradeStatusEnum;
43
+ /**
44
+ * Canonical student enrollment status used for this grade row
45
+ * @type {GetContentGradesItemsInnerEnrollmentStatusEnum}
46
+ * @memberof GetContentGradesItemsInner
47
+ */
48
+ enrollmentStatus: GetContentGradesItemsInnerEnrollmentStatusEnum;
49
+ /**
50
+ * Derived learner access state for UI indicators
51
+ * @type {GetContentGradesItemsInnerAccessStateEnum}
52
+ * @memberof GetContentGradesItemsInner
53
+ */
54
+ accessState: GetContentGradesItemsInnerAccessStateEnum;
43
55
  }
44
56
  /**
45
57
  * @export
@@ -62,6 +74,31 @@ export declare const GetContentGradesItemsInnerGradeStatusEnum: {
62
74
  readonly NotApplicable: "NotApplicable";
63
75
  };
64
76
  export type GetContentGradesItemsInnerGradeStatusEnum = typeof GetContentGradesItemsInnerGradeStatusEnum[keyof typeof GetContentGradesItemsInnerGradeStatusEnum];
77
+ /**
78
+ * @export
79
+ */
80
+ export declare const GetContentGradesItemsInnerEnrollmentStatusEnum: {
81
+ readonly Enrolled: "Enrolled";
82
+ readonly InProgress: "InProgress";
83
+ readonly Completed: "Completed";
84
+ readonly Failed: "Failed";
85
+ readonly Expired: "Expired";
86
+ readonly Withdrawn: "Withdrawn";
87
+ readonly Suspended: "Suspended";
88
+ };
89
+ export type GetContentGradesItemsInnerEnrollmentStatusEnum = typeof GetContentGradesItemsInnerEnrollmentStatusEnum[keyof typeof GetContentGradesItemsInnerEnrollmentStatusEnum];
90
+ /**
91
+ * @export
92
+ */
93
+ export declare const GetContentGradesItemsInnerAccessStateEnum: {
94
+ readonly Active: "active";
95
+ readonly CompletedReview: "completed_review";
96
+ readonly Expired: "expired";
97
+ readonly Suspended: "suspended";
98
+ readonly Failed: "failed";
99
+ readonly Withdrawn: "withdrawn";
100
+ };
101
+ export type GetContentGradesItemsInnerAccessStateEnum = typeof GetContentGradesItemsInnerAccessStateEnum[keyof typeof GetContentGradesItemsInnerAccessStateEnum];
65
102
  /**
66
103
  * Check if a given object implements the GetContentGradesItemsInner interface.
67
104
  */
@@ -31,6 +31,29 @@ export const GetContentGradesItemsInnerGradeStatusEnum = {
31
31
  PercentageEarned: 'PercentageEarned',
32
32
  NotApplicable: 'NotApplicable'
33
33
  };
34
+ /**
35
+ * @export
36
+ */
37
+ export const GetContentGradesItemsInnerEnrollmentStatusEnum = {
38
+ Enrolled: 'Enrolled',
39
+ InProgress: 'InProgress',
40
+ Completed: 'Completed',
41
+ Failed: 'Failed',
42
+ Expired: 'Expired',
43
+ Withdrawn: 'Withdrawn',
44
+ Suspended: 'Suspended'
45
+ };
46
+ /**
47
+ * @export
48
+ */
49
+ export const GetContentGradesItemsInnerAccessStateEnum = {
50
+ Active: 'active',
51
+ CompletedReview: 'completed_review',
52
+ Expired: 'expired',
53
+ Suspended: 'suspended',
54
+ Failed: 'failed',
55
+ Withdrawn: 'withdrawn'
56
+ };
34
57
  /**
35
58
  * Check if a given object implements the GetContentGradesItemsInner interface.
36
59
  */
@@ -41,6 +64,10 @@ export function instanceOfGetContentGradesItemsInner(value) {
41
64
  return false;
42
65
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
43
66
  return false;
67
+ if (!('enrollmentStatus' in value) || value['enrollmentStatus'] === undefined)
68
+ return false;
69
+ if (!('accessState' in value) || value['accessState'] === undefined)
70
+ return false;
44
71
  return true;
45
72
  }
46
73
  export function GetContentGradesItemsInnerFromJSON(json) {
@@ -55,6 +82,8 @@ export function GetContentGradesItemsInnerFromJSONTyped(json, ignoreDiscriminato
55
82
  'user': GetContentGradesItemsInnerUserFromJSON(json['user']),
56
83
  'completion': json['completion'],
57
84
  'gradeStatus': json['grade_status'],
85
+ 'enrollmentStatus': json['enrollment_status'],
86
+ 'accessState': json['access_state'],
58
87
  };
59
88
  }
60
89
  export function GetContentGradesItemsInnerToJSON(json) {
@@ -69,5 +98,7 @@ export function GetContentGradesItemsInnerToJSONTyped(value, ignoreDiscriminator
69
98
  'user': GetContentGradesItemsInnerUserToJSON(value['user']),
70
99
  'completion': value['completion'],
71
100
  'grade_status': value['gradeStatus'],
101
+ 'enrollment_status': value['enrollmentStatus'],
102
+ 'access_state': value['accessState'],
72
103
  };
73
104
  }
@@ -40,6 +40,18 @@ export interface GetContentGradesItemsInner {
40
40
  * @memberof GetContentGradesItemsInner
41
41
  */
42
42
  gradeStatus: GetContentGradesItemsInnerGradeStatusEnum;
43
+ /**
44
+ * Canonical student enrollment status used for this grade row
45
+ * @type {GetContentGradesItemsInnerEnrollmentStatusEnum}
46
+ * @memberof GetContentGradesItemsInner
47
+ */
48
+ enrollmentStatus: GetContentGradesItemsInnerEnrollmentStatusEnum;
49
+ /**
50
+ * Derived learner access state for UI indicators
51
+ * @type {GetContentGradesItemsInnerAccessStateEnum}
52
+ * @memberof GetContentGradesItemsInner
53
+ */
54
+ accessState: GetContentGradesItemsInnerAccessStateEnum;
43
55
  }
44
56
  /**
45
57
  * @export
@@ -62,6 +74,31 @@ export declare const GetContentGradesItemsInnerGradeStatusEnum: {
62
74
  readonly NotApplicable: "NotApplicable";
63
75
  };
64
76
  export type GetContentGradesItemsInnerGradeStatusEnum = typeof GetContentGradesItemsInnerGradeStatusEnum[keyof typeof GetContentGradesItemsInnerGradeStatusEnum];
77
+ /**
78
+ * @export
79
+ */
80
+ export declare const GetContentGradesItemsInnerEnrollmentStatusEnum: {
81
+ readonly Enrolled: "Enrolled";
82
+ readonly InProgress: "InProgress";
83
+ readonly Completed: "Completed";
84
+ readonly Failed: "Failed";
85
+ readonly Expired: "Expired";
86
+ readonly Withdrawn: "Withdrawn";
87
+ readonly Suspended: "Suspended";
88
+ };
89
+ export type GetContentGradesItemsInnerEnrollmentStatusEnum = typeof GetContentGradesItemsInnerEnrollmentStatusEnum[keyof typeof GetContentGradesItemsInnerEnrollmentStatusEnum];
90
+ /**
91
+ * @export
92
+ */
93
+ export declare const GetContentGradesItemsInnerAccessStateEnum: {
94
+ readonly Active: "active";
95
+ readonly CompletedReview: "completed_review";
96
+ readonly Expired: "expired";
97
+ readonly Suspended: "suspended";
98
+ readonly Failed: "failed";
99
+ readonly Withdrawn: "withdrawn";
100
+ };
101
+ export type GetContentGradesItemsInnerAccessStateEnum = typeof GetContentGradesItemsInnerAccessStateEnum[keyof typeof GetContentGradesItemsInnerAccessStateEnum];
65
102
  /**
66
103
  * Check if a given object implements the GetContentGradesItemsInner interface.
67
104
  */
@@ -13,7 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GetContentGradesItemsInnerGradeStatusEnum = exports.GetContentGradesItemsInnerCompletionEnum = void 0;
16
+ exports.GetContentGradesItemsInnerAccessStateEnum = exports.GetContentGradesItemsInnerEnrollmentStatusEnum = exports.GetContentGradesItemsInnerGradeStatusEnum = exports.GetContentGradesItemsInnerCompletionEnum = void 0;
17
17
  exports.instanceOfGetContentGradesItemsInner = instanceOfGetContentGradesItemsInner;
18
18
  exports.GetContentGradesItemsInnerFromJSON = GetContentGradesItemsInnerFromJSON;
19
19
  exports.GetContentGradesItemsInnerFromJSONTyped = GetContentGradesItemsInnerFromJSONTyped;
@@ -39,6 +39,29 @@ exports.GetContentGradesItemsInnerGradeStatusEnum = {
39
39
  PercentageEarned: 'PercentageEarned',
40
40
  NotApplicable: 'NotApplicable'
41
41
  };
42
+ /**
43
+ * @export
44
+ */
45
+ exports.GetContentGradesItemsInnerEnrollmentStatusEnum = {
46
+ Enrolled: 'Enrolled',
47
+ InProgress: 'InProgress',
48
+ Completed: 'Completed',
49
+ Failed: 'Failed',
50
+ Expired: 'Expired',
51
+ Withdrawn: 'Withdrawn',
52
+ Suspended: 'Suspended'
53
+ };
54
+ /**
55
+ * @export
56
+ */
57
+ exports.GetContentGradesItemsInnerAccessStateEnum = {
58
+ Active: 'active',
59
+ CompletedReview: 'completed_review',
60
+ Expired: 'expired',
61
+ Suspended: 'suspended',
62
+ Failed: 'failed',
63
+ Withdrawn: 'withdrawn'
64
+ };
42
65
  /**
43
66
  * Check if a given object implements the GetContentGradesItemsInner interface.
44
67
  */
@@ -49,6 +72,10 @@ function instanceOfGetContentGradesItemsInner(value) {
49
72
  return false;
50
73
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined)
51
74
  return false;
75
+ if (!('enrollmentStatus' in value) || value['enrollmentStatus'] === undefined)
76
+ return false;
77
+ if (!('accessState' in value) || value['accessState'] === undefined)
78
+ return false;
52
79
  return true;
53
80
  }
54
81
  function GetContentGradesItemsInnerFromJSON(json) {
@@ -63,6 +90,8 @@ function GetContentGradesItemsInnerFromJSONTyped(json, ignoreDiscriminator) {
63
90
  'user': (0, GetContentGradesItemsInnerUser_1.GetContentGradesItemsInnerUserFromJSON)(json['user']),
64
91
  'completion': json['completion'],
65
92
  'gradeStatus': json['grade_status'],
93
+ 'enrollmentStatus': json['enrollment_status'],
94
+ 'accessState': json['access_state'],
66
95
  };
67
96
  }
68
97
  function GetContentGradesItemsInnerToJSON(json) {
@@ -77,5 +106,7 @@ function GetContentGradesItemsInnerToJSONTyped(value, ignoreDiscriminator = fals
77
106
  'user': (0, GetContentGradesItemsInnerUser_1.GetContentGradesItemsInnerUserToJSON)(value['user']),
78
107
  'completion': value['completion'],
79
108
  'grade_status': value['gradeStatus'],
109
+ 'enrollment_status': value['enrollmentStatus'],
110
+ 'access_state': value['accessState'],
80
111
  };
81
112
  }
@@ -100,6 +100,7 @@ No authorization required
100
100
  |-------------|-------------|------------------|
101
101
  | **200** | Successfully committed SCORM session data | - |
102
102
  | **401** | Unauthorized | - |
103
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
103
104
  | **404** | SCORM session not found | - |
104
105
 
105
106
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -1070,6 +1071,7 @@ No authorization required
1070
1071
  |-------------|-------------|------------------|
1071
1072
  | **200** | Successfully retrieved CMI element value | - |
1072
1073
  | **401** | Unauthorized | - |
1074
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
1073
1075
  | **404** | SCORM session not found | - |
1074
1076
 
1075
1077
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -1139,6 +1141,7 @@ No authorization required
1139
1141
  |-------------|-------------|------------------|
1140
1142
  | **200** | Successfully initialized SCORM session | - |
1141
1143
  | **401** | Unauthorized | - |
1144
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
1142
1145
  | **404** | SCORM session not found | - |
1143
1146
 
1144
1147
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -1522,6 +1525,8 @@ No authorization required
1522
1525
  | Status code | Description | Response headers |
1523
1526
  |-------------|-------------|------------------|
1524
1527
  | **200** | post session response OK | - |
1528
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
1529
+ | **404** | Course, module, or content not found | - |
1525
1530
 
1526
1531
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1527
1532
 
@@ -1596,6 +1601,8 @@ No authorization required
1596
1601
  | Status code | Description | Response headers |
1597
1602
  |-------------|-------------|------------------|
1598
1603
  | **200** | post retake session response OK | - |
1604
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
1605
+ | **404** | Course, module, or content not found | - |
1599
1606
  | **409** | Maximum attempts reached for this content | - |
1600
1607
 
1601
1608
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -2045,6 +2052,7 @@ No authorization required
2045
2052
  |-------------|-------------|------------------|
2046
2053
  | **200** | Successfully set CMI element value | - |
2047
2054
  | **401** | Unauthorized | - |
2055
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
2048
2056
  | **404** | SCORM session not found | - |
2049
2057
 
2050
2058
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -2114,6 +2122,7 @@ No authorization required
2114
2122
  |-------------|-------------|------------------|
2115
2123
  | **200** | Successfully terminated SCORM session | - |
2116
2124
  | **401** | Unauthorized | - |
2125
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
2117
2126
  | **404** | SCORM session not found | - |
2118
2127
 
2119
2128
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -10,6 +10,8 @@ Name | Type
10
10
  `user` | [GetContentGradesItemsInnerUser](GetContentGradesItemsInnerUser.md)
11
11
  `completion` | string
12
12
  `gradeStatus` | string
13
+ `enrollmentStatus` | string
14
+ `accessState` | string
13
15
 
14
16
  ## Example
15
17
 
@@ -22,6 +24,8 @@ const example = {
22
24
  "user": null,
23
25
  "completion": null,
24
26
  "gradeStatus": null,
27
+ "enrollmentStatus": null,
28
+ "accessState": null,
25
29
  } satisfies GetContentGradesItemsInner
26
30
 
27
31
  console.log(example)
package/docs/PlayerApi.md CHANGED
@@ -146,7 +146,7 @@ No authorization required
146
146
  | Status code | Description | Response headers |
147
147
  |-------------|-------------|------------------|
148
148
  | **302** | Redirect to asset URL | - |
149
- | **403** | Forbidden | - |
149
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
150
150
  | **404** | Content not found | - |
151
151
 
152
152
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -213,7 +213,7 @@ No authorization required
213
213
  | Status code | Description | Response headers |
214
214
  |-------------|-------------|------------------|
215
215
  | **200** | HTML player page | - |
216
- | **403** | Forbidden | - |
216
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
217
217
  | **404** | Session not found | - |
218
218
 
219
219
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -280,7 +280,7 @@ No authorization required
280
280
  | Status code | Description | Response headers |
281
281
  |-------------|-------------|------------------|
282
282
  | **200** | HTML player page | - |
283
- | **403** | Forbidden | - |
283
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
284
284
  | **404** | Session not found | - |
285
285
 
286
286
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -347,7 +347,7 @@ No authorization required
347
347
  | Status code | Description | Response headers |
348
348
  |-------------|-------------|------------------|
349
349
  | **302** | Redirect to asset URL | - |
350
- | **403** | Forbidden | - |
350
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
351
351
  | **404** | Content not found | - |
352
352
 
353
353
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -414,7 +414,7 @@ No authorization required
414
414
  | Status code | Description | Response headers |
415
415
  |-------------|-------------|------------------|
416
416
  | **200** | HTML player page | - |
417
- | **403** | Forbidden | - |
417
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
418
418
  | **404** | Session not found | - |
419
419
 
420
420
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -481,7 +481,7 @@ No authorization required
481
481
  | Status code | Description | Response headers |
482
482
  |-------------|-------------|------------------|
483
483
  | **200** | HTML player page | - |
484
- | **403** | Forbidden | - |
484
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
485
485
  | **404** | Session not found | - |
486
486
 
487
487
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -552,7 +552,7 @@ No authorization required
552
552
  |-------------|-------------|------------------|
553
553
  | **200** | SCORM asset content | - |
554
554
  | **302** | Redirect to asset URL | - |
555
- | **403** | Forbidden | - |
555
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
556
556
  | **404** | Content or asset not found | - |
557
557
 
558
558
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -619,7 +619,7 @@ No authorization required
619
619
  | Status code | Description | Response headers |
620
620
  |-------------|-------------|------------------|
621
621
  | **200** | HTML player page | - |
622
- | **403** | Forbidden | - |
622
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
623
623
  | **404** | Session not found | - |
624
624
 
625
625
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -686,7 +686,7 @@ No authorization required
686
686
  | Status code | Description | Response headers |
687
687
  |-------------|-------------|------------------|
688
688
  | **302** | Redirect to asset URL | - |
689
- | **403** | Forbidden | - |
689
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
690
690
  | **404** | Content not found | - |
691
691
 
692
692
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -753,7 +753,7 @@ No authorization required
753
753
  | Status code | Description | Response headers |
754
754
  |-------------|-------------|------------------|
755
755
  | **200** | HTML player page | - |
756
- | **403** | Forbidden | - |
756
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
757
757
  | **404** | Session not found | - |
758
758
 
759
759
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
package/docs/QuizApi.md CHANGED
@@ -642,7 +642,7 @@ No authorization required
642
642
  |-------------|-------------|------------------|
643
643
  | **200** | Quiz attempt retrieved successfully | - |
644
644
  | **404** | Attempt not found | - |
645
- | **403** | Not authorized to view this attempt | - |
645
+ | **403** | Not authorized to view this attempt, or enrollment is expired, suspended, or otherwise not launchable | - |
646
646
 
647
647
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
648
648
 
@@ -1584,7 +1584,7 @@ No authorization required
1584
1584
  | **200** | Answer saved successfully | - |
1585
1585
  | **400** | Invalid answer format | - |
1586
1586
  | **404** | Attempt or question not found | - |
1587
- | **403** | Not authorized to answer this question | - |
1587
+ | **403** | Not authorized to answer this question, or enrollment is expired, suspended, or otherwise not launchable | - |
1588
1588
  | **409** | Attempt is not in progress | - |
1589
1589
 
1590
1590
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -1652,6 +1652,7 @@ No authorization required
1652
1652
  |-------------|-------------|------------------|
1653
1653
  | **201** | Quiz attempt started successfully | - |
1654
1654
  | **400** | Cannot start attempt (max attempts reached, etc.) | - |
1655
+ | **403** | Forbidden - enrollment is expired, suspended, or otherwise not launchable | - |
1655
1656
  | **404** | Quiz not found | - |
1656
1657
 
1657
1658
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -1723,7 +1724,7 @@ No authorization required
1723
1724
  | **200** | Quiz submitted successfully | - |
1724
1725
  | **400** | Cannot submit (missing required answers, etc.) | - |
1725
1726
  | **404** | Attempt not found | - |
1726
- | **403** | Not authorized to submit this attempt | - |
1727
+ | **403** | Not authorized to submit this attempt, or enrollment is expired, suspended, or otherwise not launchable | - |
1727
1728
  | **409** | Attempt already submitted | - |
1728
1729
 
1729
1730
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
@@ -95,7 +95,7 @@ No authorization required
95
95
 
96
96
  ## getContentGrades
97
97
 
98
- > GetContentGrades getContentGrades(courseId, moduleId, contentId, page, pageSize, search)
98
+ > GetContentGrades getContentGrades(courseId, moduleId, contentId, page, pageSize, search, includeInactive, enrollmentStatus)
99
99
 
100
100
  Get grades for all students enrolled in course for specific content
101
101
 
@@ -125,6 +125,10 @@ async function example() {
125
125
  pageSize: 56,
126
126
  // string | Search filter for user first name or last name (optional)
127
127
  search: search_example,
128
+ // boolean | Include inactive student enrollment statuses in the gradebook result. When false, includes Enrolled, InProgress, and Completed. When true, also includes Failed, Expired, Withdrawn, and Suspended. Removed and Archived are always excluded. (optional)
129
+ includeInactive: true,
130
+ // string | Comma-separated enrollment statuses to include. Allowed values are Enrolled, InProgress, Completed, Failed, Expired, Withdrawn, and Suspended. Overrides includeInactive when present. (optional)
131
+ enrollmentStatus: enrollmentStatus_example,
128
132
  } satisfies GetContentGradesRequest;
129
133
 
130
134
  try {
@@ -150,6 +154,8 @@ example().catch(console.error);
150
154
  | **page** | `number` | Page number for pagination | [Optional] [Defaults to `1`] |
151
155
  | **pageSize** | `number` | Number of items per page | [Optional] [Defaults to `20`] |
152
156
  | **search** | `string` | Search filter for user first name or last name | [Optional] [Defaults to `undefined`] |
157
+ | **includeInactive** | `boolean` | Include inactive student enrollment statuses in the gradebook result. When false, includes Enrolled, InProgress, and Completed. When true, also includes Failed, Expired, Withdrawn, and Suspended. Removed and Archived are always excluded. | [Optional] [Defaults to `false`] |
158
+ | **enrollmentStatus** | `string` | Comma-separated enrollment statuses to include. Allowed values are Enrolled, InProgress, Completed, Failed, Expired, Withdrawn, and Suspended. Overrides includeInactive when present. | [Optional] [Defaults to `undefined`] |
153
159
 
154
160
  ### Return type
155
161
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.74.0",
3
+ "version": "1.76.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -73,6 +73,8 @@ export interface GetContentGradesRequest {
73
73
  page?: number;
74
74
  pageSize?: number;
75
75
  search?: string;
76
+ includeInactive?: boolean;
77
+ enrollmentStatus?: string;
76
78
  }
77
79
 
78
80
  export interface GetContentInstructorBasicReportingRequest {
@@ -223,6 +225,14 @@ export class ReportingApi extends runtime.BaseAPI {
223
225
  queryParameters['search'] = requestParameters['search'];
224
226
  }
225
227
 
228
+ if (requestParameters['includeInactive'] != null) {
229
+ queryParameters['includeInactive'] = requestParameters['includeInactive'];
230
+ }
231
+
232
+ if (requestParameters['enrollmentStatus'] != null) {
233
+ queryParameters['enrollmentStatus'] = requestParameters['enrollmentStatus'];
234
+ }
235
+
226
236
  const headerParameters: runtime.HTTPHeaders = {};
227
237
 
228
238
 
@@ -51,6 +51,18 @@ export interface GetContentGradesItemsInner {
51
51
  * @memberof GetContentGradesItemsInner
52
52
  */
53
53
  gradeStatus: GetContentGradesItemsInnerGradeStatusEnum;
54
+ /**
55
+ * Canonical student enrollment status used for this grade row
56
+ * @type {GetContentGradesItemsInnerEnrollmentStatusEnum}
57
+ * @memberof GetContentGradesItemsInner
58
+ */
59
+ enrollmentStatus: GetContentGradesItemsInnerEnrollmentStatusEnum;
60
+ /**
61
+ * Derived learner access state for UI indicators
62
+ * @type {GetContentGradesItemsInnerAccessStateEnum}
63
+ * @memberof GetContentGradesItemsInner
64
+ */
65
+ accessState: GetContentGradesItemsInnerAccessStateEnum;
54
66
  }
55
67
 
56
68
 
@@ -77,6 +89,33 @@ export const GetContentGradesItemsInnerGradeStatusEnum = {
77
89
  } as const;
78
90
  export type GetContentGradesItemsInnerGradeStatusEnum = typeof GetContentGradesItemsInnerGradeStatusEnum[keyof typeof GetContentGradesItemsInnerGradeStatusEnum];
79
91
 
92
+ /**
93
+ * @export
94
+ */
95
+ export const GetContentGradesItemsInnerEnrollmentStatusEnum = {
96
+ Enrolled: 'Enrolled',
97
+ InProgress: 'InProgress',
98
+ Completed: 'Completed',
99
+ Failed: 'Failed',
100
+ Expired: 'Expired',
101
+ Withdrawn: 'Withdrawn',
102
+ Suspended: 'Suspended'
103
+ } as const;
104
+ export type GetContentGradesItemsInnerEnrollmentStatusEnum = typeof GetContentGradesItemsInnerEnrollmentStatusEnum[keyof typeof GetContentGradesItemsInnerEnrollmentStatusEnum];
105
+
106
+ /**
107
+ * @export
108
+ */
109
+ export const GetContentGradesItemsInnerAccessStateEnum = {
110
+ Active: 'active',
111
+ CompletedReview: 'completed_review',
112
+ Expired: 'expired',
113
+ Suspended: 'suspended',
114
+ Failed: 'failed',
115
+ Withdrawn: 'withdrawn'
116
+ } as const;
117
+ export type GetContentGradesItemsInnerAccessStateEnum = typeof GetContentGradesItemsInnerAccessStateEnum[keyof typeof GetContentGradesItemsInnerAccessStateEnum];
118
+
80
119
 
81
120
  /**
82
121
  * Check if a given object implements the GetContentGradesItemsInner interface.
@@ -85,6 +124,8 @@ export function instanceOfGetContentGradesItemsInner(value: object): value is Ge
85
124
  if (!('user' in value) || value['user'] === undefined) return false;
86
125
  if (!('completion' in value) || value['completion'] === undefined) return false;
87
126
  if (!('gradeStatus' in value) || value['gradeStatus'] === undefined) return false;
127
+ if (!('enrollmentStatus' in value) || value['enrollmentStatus'] === undefined) return false;
128
+ if (!('accessState' in value) || value['accessState'] === undefined) return false;
88
129
  return true;
89
130
  }
90
131
 
@@ -102,6 +143,8 @@ export function GetContentGradesItemsInnerFromJSONTyped(json: any, ignoreDiscrim
102
143
  'user': GetContentGradesItemsInnerUserFromJSON(json['user']),
103
144
  'completion': json['completion'],
104
145
  'gradeStatus': json['grade_status'],
146
+ 'enrollmentStatus': json['enrollment_status'],
147
+ 'accessState': json['access_state'],
105
148
  };
106
149
  }
107
150
 
@@ -120,6 +163,8 @@ export function GetContentGradesItemsInnerToJSONTyped(value?: GetContentGradesIt
120
163
  'user': GetContentGradesItemsInnerUserToJSON(value['user']),
121
164
  'completion': value['completion'],
122
165
  'grade_status': value['gradeStatus'],
166
+ 'enrollment_status': value['enrollmentStatus'],
167
+ 'access_state': value['accessState'],
123
168
  };
124
169
  }
125
170