@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.
- package/README.md +2 -2
- package/dist/esm/models/GetCourse.d.ts +27 -0
- package/dist/esm/models/GetCourse.js +20 -0
- package/dist/esm/models/GetCourseEnrollment.d.ts +29 -1
- package/dist/esm/models/GetCourseEnrollment.js +23 -1
- package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +28 -1
- package/dist/esm/models/GetCourseEnrollmentListItem.js +23 -1
- package/dist/esm/models/PostCourse.d.ts +29 -0
- package/dist/esm/models/PostCourse.js +14 -0
- package/dist/esm/models/PostCourseEnrollment.d.ts +18 -1
- package/dist/esm/models/PostCourseEnrollment.js +10 -3
- package/dist/esm/models/PutCourse.d.ts +27 -0
- package/dist/esm/models/PutCourse.js +14 -0
- package/dist/esm/models/PutCourseEnrollment.d.ts +8 -1
- package/dist/esm/models/PutCourseEnrollment.js +4 -1
- package/dist/models/GetCourse.d.ts +27 -0
- package/dist/models/GetCourse.js +21 -0
- package/dist/models/GetCourseEnrollment.d.ts +29 -1
- package/dist/models/GetCourseEnrollment.js +24 -2
- package/dist/models/GetCourseEnrollmentListItem.d.ts +28 -1
- package/dist/models/GetCourseEnrollmentListItem.js +24 -2
- package/dist/models/PostCourse.d.ts +29 -0
- package/dist/models/PostCourse.js +15 -0
- package/dist/models/PostCourseEnrollment.d.ts +18 -1
- package/dist/models/PostCourseEnrollment.js +11 -4
- package/dist/models/PutCourse.d.ts +27 -0
- package/dist/models/PutCourse.js +15 -0
- package/dist/models/PutCourseEnrollment.d.ts +8 -1
- package/dist/models/PutCourseEnrollment.js +4 -1
- package/docs/GetCourse.md +6 -0
- package/docs/GetCourseEnrollment.md +4 -0
- package/docs/GetCourseEnrollmentListItem.md +4 -0
- package/docs/PostCourse.md +6 -0
- package/docs/PostCourseEnrollment.md +2 -0
- package/docs/PutCourse.md +6 -0
- package/docs/PutCourseEnrollment.md +2 -0
- package/package.json +1 -1
- package/src/models/GetCourse.ts +39 -0
- package/src/models/GetCourseEnrollment.ts +37 -2
- package/src/models/GetCourseEnrollmentListItem.ts +36 -2
- package/src/models/PostCourse.ts +38 -0
- package/src/models/PostCourseEnrollment.ts +22 -3
- package/src/models/PutCourse.ts +36 -0
- package/src/models/PutCourseEnrollment.ts +11 -2
package/src/models/GetCourse.ts
CHANGED
|
@@ -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
|
};
|
package/src/models/PostCourse.ts
CHANGED
|
@@ -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
|
|
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
|
|
package/src/models/PutCourse.ts
CHANGED
|
@@ -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
|
}
|