@easyedu/js-lsm-api 1.65.0 → 1.66.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 (44) hide show
  1. package/README.md +2 -2
  2. package/dist/esm/models/GetCourse.d.ts +27 -0
  3. package/dist/esm/models/GetCourse.js +20 -0
  4. package/dist/esm/models/GetCourseEnrollment.d.ts +29 -1
  5. package/dist/esm/models/GetCourseEnrollment.js +23 -1
  6. package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +28 -1
  7. package/dist/esm/models/GetCourseEnrollmentListItem.js +23 -1
  8. package/dist/esm/models/PostCourse.d.ts +29 -0
  9. package/dist/esm/models/PostCourse.js +14 -0
  10. package/dist/esm/models/PostCourseEnrollment.d.ts +18 -1
  11. package/dist/esm/models/PostCourseEnrollment.js +10 -3
  12. package/dist/esm/models/PutCourse.d.ts +27 -0
  13. package/dist/esm/models/PutCourse.js +14 -0
  14. package/dist/esm/models/PutCourseEnrollment.d.ts +8 -1
  15. package/dist/esm/models/PutCourseEnrollment.js +4 -1
  16. package/dist/models/GetCourse.d.ts +27 -0
  17. package/dist/models/GetCourse.js +21 -0
  18. package/dist/models/GetCourseEnrollment.d.ts +29 -1
  19. package/dist/models/GetCourseEnrollment.js +24 -2
  20. package/dist/models/GetCourseEnrollmentListItem.d.ts +28 -1
  21. package/dist/models/GetCourseEnrollmentListItem.js +24 -2
  22. package/dist/models/PostCourse.d.ts +29 -0
  23. package/dist/models/PostCourse.js +15 -0
  24. package/dist/models/PostCourseEnrollment.d.ts +18 -1
  25. package/dist/models/PostCourseEnrollment.js +11 -4
  26. package/dist/models/PutCourse.d.ts +27 -0
  27. package/dist/models/PutCourse.js +15 -0
  28. package/dist/models/PutCourseEnrollment.d.ts +8 -1
  29. package/dist/models/PutCourseEnrollment.js +4 -1
  30. package/docs/GetCourse.md +6 -0
  31. package/docs/GetCourseEnrollment.md +4 -0
  32. package/docs/GetCourseEnrollmentListItem.md +4 -0
  33. package/docs/PostCourse.md +6 -0
  34. package/docs/PostCourseEnrollment.md +2 -0
  35. package/docs/PutCourse.md +6 -0
  36. package/docs/PutCourseEnrollment.md +2 -0
  37. package/package.json +1 -1
  38. package/src/models/GetCourse.ts +39 -0
  39. package/src/models/GetCourseEnrollment.ts +37 -2
  40. package/src/models/GetCourseEnrollmentListItem.ts +36 -2
  41. package/src/models/PostCourse.ts +38 -0
  42. package/src/models/PostCourseEnrollment.ts +22 -3
  43. package/src/models/PutCourse.ts +36 -0
  44. package/src/models/PutCourseEnrollment.ts +11 -2
@@ -55,8 +55,38 @@ export interface GetCourse {
55
55
  * @memberof GetCourse
56
56
  */
57
57
  createdAt: number;
58
+ /**
59
+ * Course-level learner access policy.
60
+ * @type {GetCourseAccessPolicyTypeEnum}
61
+ * @memberof GetCourse
62
+ */
63
+ accessPolicyType: GetCourseAccessPolicyTypeEnum;
64
+ /**
65
+ * Number of access days from enrollment start when access_policy_type is duration_days.
66
+ * @type {number}
67
+ * @memberof GetCourse
68
+ */
69
+ accessDurationDays: number | null;
70
+ /**
71
+ * Fixed Unix timestamp when access expires when access_policy_type is fixed_end_date.
72
+ * @type {number}
73
+ * @memberof GetCourse
74
+ */
75
+ accessFixedEndAt: number | null;
58
76
  }
59
77
 
78
+
79
+ /**
80
+ * @export
81
+ */
82
+ export const GetCourseAccessPolicyTypeEnum = {
83
+ DurationDays: 'duration_days',
84
+ FixedEndDate: 'fixed_end_date',
85
+ NeverExpires: 'never_expires'
86
+ } as const;
87
+ export type GetCourseAccessPolicyTypeEnum = typeof GetCourseAccessPolicyTypeEnum[keyof typeof GetCourseAccessPolicyTypeEnum];
88
+
89
+
60
90
  /**
61
91
  * Check if a given object implements the GetCourse interface.
62
92
  */
@@ -67,6 +97,9 @@ export function instanceOfGetCourse(value: object): value is GetCourse {
67
97
  if (!('imageUrl' in value) || value['imageUrl'] === undefined) return false;
68
98
  if (!('published' in value) || value['published'] === undefined) return false;
69
99
  if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
100
+ if (!('accessPolicyType' in value) || value['accessPolicyType'] === undefined) return false;
101
+ if (!('accessDurationDays' in value) || value['accessDurationDays'] === undefined) return false;
102
+ if (!('accessFixedEndAt' in value) || value['accessFixedEndAt'] === undefined) return false;
70
103
  return true;
71
104
  }
72
105
 
@@ -86,6 +119,9 @@ export function GetCourseFromJSONTyped(json: any, ignoreDiscriminator: boolean):
86
119
  'imageUrl': json['image_url'],
87
120
  'published': json['published'],
88
121
  'createdAt': json['created_at'],
122
+ 'accessPolicyType': json['access_policy_type'],
123
+ 'accessDurationDays': json['access_duration_days'],
124
+ 'accessFixedEndAt': json['access_fixed_end_at'],
89
125
  };
90
126
  }
91
127
 
@@ -105,6 +141,9 @@ export function GetCourseToJSONTyped(value?: Omit<GetCourse, 'id'> | null, ignor
105
141
  'image_url': value['imageUrl'],
106
142
  'published': value['published'],
107
143
  'created_at': value['createdAt'],
144
+ 'access_policy_type': value['accessPolicyType'],
145
+ 'access_duration_days': value['accessDurationDays'],
146
+ 'access_fixed_end_at': value['accessFixedEndAt'],
108
147
  };
109
148
  }
110
149
 
@@ -48,7 +48,7 @@ export interface GetCourseEnrollment {
48
48
  * @type {number}
49
49
  * @memberof GetCourseEnrollment
50
50
  */
51
- enrollmentDateEnd: number;
51
+ enrollmentDateEnd: number | null;
52
52
  /**
53
53
  * Optional notes about the enrollment
54
54
  * @type {string}
@@ -65,11 +65,24 @@ export interface GetCourseEnrollment {
65
65
  * - Withdrawn: learner pulled out before completion
66
66
  * - Removed: admin-removed enrollment
67
67
  * - Archived: historical / read-only (e.g. course share revoked)
68
+ * - Suspended: access temporarily disabled by an admin
68
69
  *
69
70
  * @type {GetCourseEnrollmentStatusEnum}
70
71
  * @memberof GetCourseEnrollment
71
72
  */
72
73
  status: GetCourseEnrollmentStatusEnum;
74
+ /**
75
+ * Derived learner access state for UI indicators and access decisions.
76
+ * @type {GetCourseEnrollmentAccessStateEnum}
77
+ * @memberof GetCourseEnrollment
78
+ */
79
+ accessState: GetCourseEnrollmentAccessStateEnum;
80
+ /**
81
+ * Whole days until access expiry; null for never-expiring or already inactive enrollments.
82
+ * @type {number}
83
+ * @memberof GetCourseEnrollment
84
+ */
85
+ daysUntilExpiry: number | null;
73
86
  /**
74
87
  * The role/type of the user in this enrollment
75
88
  * @type {GetCourseEnrollmentUserTypeEnum}
@@ -96,10 +109,26 @@ export const GetCourseEnrollmentStatusEnum = {
96
109
  Expired: 'Expired',
97
110
  Withdrawn: 'Withdrawn',
98
111
  Removed: 'Removed',
99
- Archived: 'Archived'
112
+ Archived: 'Archived',
113
+ Suspended: 'Suspended'
100
114
  } as const;
101
115
  export type GetCourseEnrollmentStatusEnum = typeof GetCourseEnrollmentStatusEnum[keyof typeof GetCourseEnrollmentStatusEnum];
102
116
 
117
+ /**
118
+ * @export
119
+ */
120
+ export const GetCourseEnrollmentAccessStateEnum = {
121
+ Active: 'active',
122
+ CompletedReview: 'completed_review',
123
+ Expired: 'expired',
124
+ Suspended: 'suspended',
125
+ Failed: 'failed',
126
+ Withdrawn: 'withdrawn',
127
+ Removed: 'removed',
128
+ Archived: 'archived'
129
+ } as const;
130
+ export type GetCourseEnrollmentAccessStateEnum = typeof GetCourseEnrollmentAccessStateEnum[keyof typeof GetCourseEnrollmentAccessStateEnum];
131
+
103
132
  /**
104
133
  * @export
105
134
  */
@@ -121,6 +150,8 @@ export function instanceOfGetCourseEnrollment(value: object): value is GetCourse
121
150
  if (!('enrollmentDateEnd' in value) || value['enrollmentDateEnd'] === undefined) return false;
122
151
  if (!('notes' in value) || value['notes'] === undefined) return false;
123
152
  if (!('status' in value) || value['status'] === undefined) return false;
153
+ if (!('accessState' in value) || value['accessState'] === undefined) return false;
154
+ if (!('daysUntilExpiry' in value) || value['daysUntilExpiry'] === undefined) return false;
124
155
  if (!('userType' in value) || value['userType'] === undefined) return false;
125
156
  if (!('completionDate' in value) || value['completionDate'] === undefined) return false;
126
157
  return true;
@@ -143,6 +174,8 @@ export function GetCourseEnrollmentFromJSONTyped(json: any, ignoreDiscriminator:
143
174
  'enrollmentDateEnd': json['enrollment_date_end'],
144
175
  'notes': json['notes'],
145
176
  'status': json['status'],
177
+ 'accessState': json['access_state'],
178
+ 'daysUntilExpiry': json['days_until_expiry'],
146
179
  'userType': json['user_type'],
147
180
  'completionDate': json['completion_date'],
148
181
  };
@@ -166,6 +199,8 @@ export function GetCourseEnrollmentToJSONTyped(value?: GetCourseEnrollment | nul
166
199
  'enrollment_date_end': value['enrollmentDateEnd'],
167
200
  'notes': value['notes'],
168
201
  'status': value['status'],
202
+ 'access_state': value['accessState'],
203
+ 'days_until_expiry': value['daysUntilExpiry'],
169
204
  'user_type': value['userType'],
170
205
  'completion_date': value['completionDate'],
171
206
  };
@@ -60,13 +60,25 @@ export interface GetCourseEnrollmentListItem {
60
60
  * @type {number}
61
61
  * @memberof GetCourseEnrollmentListItem
62
62
  */
63
- enrollmentDateEnd: number;
63
+ enrollmentDateEnd: number | null;
64
64
  /**
65
65
  * Current status of the enrollment
66
66
  * @type {GetCourseEnrollmentListItemStatusEnum}
67
67
  * @memberof GetCourseEnrollmentListItem
68
68
  */
69
69
  status: GetCourseEnrollmentListItemStatusEnum;
70
+ /**
71
+ * Derived learner access state for UI indicators and access decisions.
72
+ * @type {GetCourseEnrollmentListItemAccessStateEnum}
73
+ * @memberof GetCourseEnrollmentListItem
74
+ */
75
+ accessState: GetCourseEnrollmentListItemAccessStateEnum;
76
+ /**
77
+ * Whole days until access expiry; null for never-expiring or already inactive enrollments.
78
+ * @type {number}
79
+ * @memberof GetCourseEnrollmentListItem
80
+ */
81
+ daysUntilExpiry: number | null;
70
82
  /**
71
83
  * The role/type of the user in this enrollment
72
84
  * @type {GetCourseEnrollmentListItemUserTypeEnum}
@@ -93,10 +105,26 @@ export const GetCourseEnrollmentListItemStatusEnum = {
93
105
  Expired: 'Expired',
94
106
  Withdrawn: 'Withdrawn',
95
107
  Removed: 'Removed',
96
- Archived: 'Archived'
108
+ Archived: 'Archived',
109
+ Suspended: 'Suspended'
97
110
  } as const;
98
111
  export type GetCourseEnrollmentListItemStatusEnum = typeof GetCourseEnrollmentListItemStatusEnum[keyof typeof GetCourseEnrollmentListItemStatusEnum];
99
112
 
113
+ /**
114
+ * @export
115
+ */
116
+ export const GetCourseEnrollmentListItemAccessStateEnum = {
117
+ Active: 'active',
118
+ CompletedReview: 'completed_review',
119
+ Expired: 'expired',
120
+ Suspended: 'suspended',
121
+ Failed: 'failed',
122
+ Withdrawn: 'withdrawn',
123
+ Removed: 'removed',
124
+ Archived: 'archived'
125
+ } as const;
126
+ export type GetCourseEnrollmentListItemAccessStateEnum = typeof GetCourseEnrollmentListItemAccessStateEnum[keyof typeof GetCourseEnrollmentListItemAccessStateEnum];
127
+
100
128
  /**
101
129
  * @export
102
130
  */
@@ -119,6 +147,8 @@ export function instanceOfGetCourseEnrollmentListItem(value: object): value is G
119
147
  if (!('enrollmentDateStart' in value) || value['enrollmentDateStart'] === undefined) return false;
120
148
  if (!('enrollmentDateEnd' in value) || value['enrollmentDateEnd'] === undefined) return false;
121
149
  if (!('status' in value) || value['status'] === undefined) return false;
150
+ if (!('accessState' in value) || value['accessState'] === undefined) return false;
151
+ if (!('daysUntilExpiry' in value) || value['daysUntilExpiry'] === undefined) return false;
122
152
  if (!('userType' in value) || value['userType'] === undefined) return false;
123
153
  if (!('completionDate' in value) || value['completionDate'] === undefined) return false;
124
154
  return true;
@@ -142,6 +172,8 @@ export function GetCourseEnrollmentListItemFromJSONTyped(json: any, ignoreDiscri
142
172
  'enrollmentDateStart': json['enrollment_date_start'],
143
173
  'enrollmentDateEnd': json['enrollment_date_end'],
144
174
  'status': json['status'],
175
+ 'accessState': json['access_state'],
176
+ 'daysUntilExpiry': json['days_until_expiry'],
145
177
  'userType': json['user_type'],
146
178
  'completionDate': json['completion_date'],
147
179
  };
@@ -166,6 +198,8 @@ export function GetCourseEnrollmentListItemToJSONTyped(value?: GetCourseEnrollme
166
198
  'enrollment_date_start': value['enrollmentDateStart'],
167
199
  'enrollment_date_end': value['enrollmentDateEnd'],
168
200
  'status': value['status'],
201
+ 'access_state': value['accessState'],
202
+ 'days_until_expiry': value['daysUntilExpiry'],
169
203
  'user_type': value['userType'],
170
204
  'completion_date': value['completionDate'],
171
205
  };
@@ -31,8 +31,40 @@ export interface PostCourse {
31
31
  * @memberof PostCourse
32
32
  */
33
33
  description: string;
34
+ /**
35
+ * Course-level learner access policy. If omitted, new courses default to
36
+ * duration_days with 90 days.
37
+ *
38
+ * @type {PostCourseAccessPolicyTypeEnum}
39
+ * @memberof PostCourse
40
+ */
41
+ accessPolicyType?: PostCourseAccessPolicyTypeEnum;
42
+ /**
43
+ * Number of access days from enrollment start when access_policy_type is duration_days.
44
+ * @type {number}
45
+ * @memberof PostCourse
46
+ */
47
+ accessDurationDays?: number | null;
48
+ /**
49
+ * Fixed Unix timestamp when access expires when access_policy_type is fixed_end_date.
50
+ * @type {number}
51
+ * @memberof PostCourse
52
+ */
53
+ accessFixedEndAt?: number | null;
34
54
  }
35
55
 
56
+
57
+ /**
58
+ * @export
59
+ */
60
+ export const PostCourseAccessPolicyTypeEnum = {
61
+ DurationDays: 'duration_days',
62
+ FixedEndDate: 'fixed_end_date',
63
+ NeverExpires: 'never_expires'
64
+ } as const;
65
+ export type PostCourseAccessPolicyTypeEnum = typeof PostCourseAccessPolicyTypeEnum[keyof typeof PostCourseAccessPolicyTypeEnum];
66
+
67
+
36
68
  /**
37
69
  * Check if a given object implements the PostCourse interface.
38
70
  */
@@ -54,6 +86,9 @@ export function PostCourseFromJSONTyped(json: any, ignoreDiscriminator: boolean)
54
86
 
55
87
  'name': json['name'],
56
88
  'description': json['description'],
89
+ 'accessPolicyType': json['access_policy_type'] == null ? undefined : json['access_policy_type'],
90
+ 'accessDurationDays': json['access_duration_days'] == null ? undefined : json['access_duration_days'],
91
+ 'accessFixedEndAt': json['access_fixed_end_at'] == null ? undefined : json['access_fixed_end_at'],
57
92
  };
58
93
  }
59
94
 
@@ -70,6 +105,9 @@ export function PostCourseToJSONTyped(value?: PostCourse | null, ignoreDiscrimin
70
105
 
71
106
  'name': value['name'],
72
107
  'description': value['description'],
108
+ 'access_policy_type': value['accessPolicyType'],
109
+ 'access_duration_days': value['accessDurationDays'],
110
+ 'access_fixed_end_at': value['accessFixedEndAt'],
73
111
  };
74
112
  }
75
113
 
@@ -30,7 +30,7 @@ export interface PostCourseEnrollment {
30
30
  * @type {number}
31
31
  * @memberof PostCourseEnrollment
32
32
  */
33
- enrollmentDateStart: number;
33
+ enrollmentDateStart?: number;
34
34
  /**
35
35
  * End date of the enrollment (Unix timestamp)
36
36
  * @type {number}
@@ -49,6 +49,15 @@ export interface PostCourseEnrollment {
49
49
  * @memberof PostCourseEnrollment
50
50
  */
51
51
  userType?: PostCourseEnrollmentUserTypeEnum | null;
52
+ /**
53
+ * How to handle a learner with a prior terminal enrollment for this course.
54
+ * restart creates a new enrollment period; resume reopens the latest terminal
55
+ * enrollment. Active enrollments always conflict.
56
+ *
57
+ * @type {PostCourseEnrollmentReEnrollmentModeEnum}
58
+ * @memberof PostCourseEnrollment
59
+ */
60
+ reEnrollmentMode?: PostCourseEnrollmentReEnrollmentModeEnum | null;
52
61
  }
53
62
 
54
63
 
@@ -61,13 +70,21 @@ export const PostCourseEnrollmentUserTypeEnum = {
61
70
  } as const;
62
71
  export type PostCourseEnrollmentUserTypeEnum = typeof PostCourseEnrollmentUserTypeEnum[keyof typeof PostCourseEnrollmentUserTypeEnum];
63
72
 
73
+ /**
74
+ * @export
75
+ */
76
+ export const PostCourseEnrollmentReEnrollmentModeEnum = {
77
+ Restart: 'restart',
78
+ Resume: 'resume'
79
+ } as const;
80
+ export type PostCourseEnrollmentReEnrollmentModeEnum = typeof PostCourseEnrollmentReEnrollmentModeEnum[keyof typeof PostCourseEnrollmentReEnrollmentModeEnum];
81
+
64
82
 
65
83
  /**
66
84
  * Check if a given object implements the PostCourseEnrollment interface.
67
85
  */
68
86
  export function instanceOfPostCourseEnrollment(value: object): value is PostCourseEnrollment {
69
87
  if (!('userId' in value) || value['userId'] === undefined) return false;
70
- if (!('enrollmentDateStart' in value) || value['enrollmentDateStart'] === undefined) return false;
71
88
  return true;
72
89
  }
73
90
 
@@ -82,10 +99,11 @@ export function PostCourseEnrollmentFromJSONTyped(json: any, ignoreDiscriminator
82
99
  return {
83
100
 
84
101
  'userId': json['user_id'],
85
- 'enrollmentDateStart': json['enrollment_date_start'],
102
+ 'enrollmentDateStart': json['enrollment_date_start'] == null ? undefined : json['enrollment_date_start'],
86
103
  'enrollmentDateEnd': json['enrollment_date_end'] == null ? undefined : json['enrollment_date_end'],
87
104
  'notes': json['notes'] == null ? undefined : json['notes'],
88
105
  'userType': json['user_type'] == null ? undefined : json['user_type'],
106
+ 'reEnrollmentMode': json['re_enrollment_mode'] == null ? undefined : json['re_enrollment_mode'],
89
107
  };
90
108
  }
91
109
 
@@ -105,6 +123,7 @@ export function PostCourseEnrollmentToJSONTyped(value?: PostCourseEnrollment | n
105
123
  'enrollment_date_end': value['enrollmentDateEnd'],
106
124
  'notes': value['notes'],
107
125
  'user_type': value['userType'],
126
+ 're_enrollment_mode': value['reEnrollmentMode'],
108
127
  };
109
128
  }
110
129
 
@@ -43,8 +43,38 @@ export interface PutCourse {
43
43
  * @memberof PutCourse
44
44
  */
45
45
  published?: boolean;
46
+ /**
47
+ * Course-level learner access policy.
48
+ * @type {PutCourseAccessPolicyTypeEnum}
49
+ * @memberof PutCourse
50
+ */
51
+ accessPolicyType?: PutCourseAccessPolicyTypeEnum;
52
+ /**
53
+ * Number of access days from enrollment start when access_policy_type is duration_days.
54
+ * @type {number}
55
+ * @memberof PutCourse
56
+ */
57
+ accessDurationDays?: number | null;
58
+ /**
59
+ * Fixed Unix timestamp when access expires when access_policy_type is fixed_end_date.
60
+ * @type {number}
61
+ * @memberof PutCourse
62
+ */
63
+ accessFixedEndAt?: number | null;
46
64
  }
47
65
 
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const PutCourseAccessPolicyTypeEnum = {
71
+ DurationDays: 'duration_days',
72
+ FixedEndDate: 'fixed_end_date',
73
+ NeverExpires: 'never_expires'
74
+ } as const;
75
+ export type PutCourseAccessPolicyTypeEnum = typeof PutCourseAccessPolicyTypeEnum[keyof typeof PutCourseAccessPolicyTypeEnum];
76
+
77
+
48
78
  /**
49
79
  * Check if a given object implements the PutCourse interface.
50
80
  */
@@ -66,6 +96,9 @@ export function PutCourseFromJSONTyped(json: any, ignoreDiscriminator: boolean):
66
96
  'name': json['name'] == null ? undefined : json['name'],
67
97
  'description': json['description'] == null ? undefined : json['description'],
68
98
  'published': json['published'] == null ? undefined : json['published'],
99
+ 'accessPolicyType': json['access_policy_type'] == null ? undefined : json['access_policy_type'],
100
+ 'accessDurationDays': json['access_duration_days'] == null ? undefined : json['access_duration_days'],
101
+ 'accessFixedEndAt': json['access_fixed_end_at'] == null ? undefined : json['access_fixed_end_at'],
69
102
  };
70
103
  }
71
104
 
@@ -83,6 +116,9 @@ export function PutCourseToJSONTyped(value?: Omit<PutCourse, 'id'> | null, ignor
83
116
  'name': value['name'],
84
117
  'description': value['description'],
85
118
  'published': value['published'],
119
+ 'access_policy_type': value['accessPolicyType'],
120
+ 'access_duration_days': value['accessDurationDays'],
121
+ 'access_fixed_end_at': value['accessFixedEndAt'],
86
122
  };
87
123
  }
88
124
 
@@ -39,7 +39,13 @@ export interface PutCourseEnrollment {
39
39
  * @type {number}
40
40
  * @memberof PutCourseEnrollment
41
41
  */
42
- enrollmentDateEnd?: number;
42
+ enrollmentDateEnd?: number | null;
43
+ /**
44
+ * Add this many days to the current end date, or to now if the enrollment is already expired.
45
+ * @type {number}
46
+ * @memberof PutCourseEnrollment
47
+ */
48
+ extensionDays?: number;
43
49
  /**
44
50
  * Optional notes about the enrollment
45
51
  * @type {string}
@@ -58,7 +64,8 @@ export const PutCourseEnrollmentStatusEnum = {
58
64
  Failed: 'Failed',
59
65
  Withdrawn: 'Withdrawn',
60
66
  Removed: 'Removed',
61
- Archived: 'Archived'
67
+ Archived: 'Archived',
68
+ Suspended: 'Suspended'
62
69
  } as const;
63
70
  export type PutCourseEnrollmentStatusEnum = typeof PutCourseEnrollmentStatusEnum[keyof typeof PutCourseEnrollmentStatusEnum];
64
71
 
@@ -92,6 +99,7 @@ export function PutCourseEnrollmentFromJSONTyped(json: any, ignoreDiscriminator:
92
99
  'status': json['status'] == null ? undefined : json['status'],
93
100
  'userType': json['user_type'] == null ? undefined : json['user_type'],
94
101
  'enrollmentDateEnd': json['enrollment_date_end'] == null ? undefined : json['enrollment_date_end'],
102
+ 'extensionDays': json['extension_days'] == null ? undefined : json['extension_days'],
95
103
  'notes': json['notes'] == null ? undefined : json['notes'],
96
104
  };
97
105
  }
@@ -110,6 +118,7 @@ export function PutCourseEnrollmentToJSONTyped(value?: PutCourseEnrollment | nul
110
118
  'status': value['status'],
111
119
  'user_type': value['userType'],
112
120
  'enrollment_date_end': value['enrollmentDateEnd'],
121
+ 'extension_days': value['extensionDays'],
113
122
  'notes': value['notes'],
114
123
  };
115
124
  }