@easyedu/js-lsm-api 1.65.0 → 1.67.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 (115) hide show
  1. package/.openapi-generator/FILES +2 -2
  2. package/README.md +9 -3
  3. package/dist/apis/ContentApi.d.ts +18 -0
  4. package/dist/apis/ContentApi.js +51 -0
  5. package/dist/apis/CourseApi.d.ts +16 -0
  6. package/dist/apis/CourseApi.js +43 -0
  7. package/dist/apis/PortalApi.d.ts +58 -0
  8. package/dist/apis/PortalApi.js +152 -0
  9. package/dist/apis/SupportTicketApi.d.ts +2 -3
  10. package/dist/apis/SupportTicketApi.js +1 -2
  11. package/dist/esm/apis/ContentApi.d.ts +18 -0
  12. package/dist/esm/apis/ContentApi.js +51 -0
  13. package/dist/esm/apis/CourseApi.d.ts +16 -0
  14. package/dist/esm/apis/CourseApi.js +43 -0
  15. package/dist/esm/apis/PortalApi.d.ts +58 -0
  16. package/dist/esm/apis/PortalApi.js +152 -0
  17. package/dist/esm/apis/SupportTicketApi.d.ts +2 -3
  18. package/dist/esm/apis/SupportTicketApi.js +1 -2
  19. package/dist/esm/models/ContentLaunchMode.d.ts +26 -0
  20. package/dist/esm/models/ContentLaunchMode.js +44 -0
  21. package/dist/esm/models/GetContent.d.ts +7 -0
  22. package/dist/esm/models/GetContent.js +5 -0
  23. package/dist/esm/models/GetCourse.d.ts +27 -0
  24. package/dist/esm/models/GetCourse.js +20 -0
  25. package/dist/esm/models/GetCourseEnrollment.d.ts +29 -1
  26. package/dist/esm/models/GetCourseEnrollment.js +23 -1
  27. package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +28 -1
  28. package/dist/esm/models/GetCourseEnrollmentListItem.js +23 -1
  29. package/dist/esm/models/GetPortal.d.ts +2 -2
  30. package/dist/esm/models/GetPortalFaviconUpload.d.ts +1 -1
  31. package/dist/esm/models/GetPortalLogoUpload.d.ts +1 -1
  32. package/dist/esm/models/GetPublicPortalBranding.d.ts +2 -2
  33. package/dist/esm/models/PostContentSession.d.ts +7 -0
  34. package/dist/esm/models/PostContentSession.js +5 -0
  35. package/dist/esm/models/PostCourse.d.ts +29 -0
  36. package/dist/esm/models/PostCourse.js +14 -0
  37. package/dist/esm/models/PostCourseEnrollment.d.ts +18 -1
  38. package/dist/esm/models/PostCourseEnrollment.js +10 -3
  39. package/dist/esm/models/PutContent.d.ts +7 -0
  40. package/dist/esm/models/PutContent.js +3 -0
  41. package/dist/esm/models/PutCourse.d.ts +27 -0
  42. package/dist/esm/models/PutCourse.js +14 -0
  43. package/dist/esm/models/PutCourseEnrollment.d.ts +8 -1
  44. package/dist/esm/models/PutCourseEnrollment.js +4 -1
  45. package/dist/esm/models/index.d.ts +1 -1
  46. package/dist/esm/models/index.js +1 -1
  47. package/dist/models/ContentLaunchMode.d.ts +26 -0
  48. package/dist/models/ContentLaunchMode.js +52 -0
  49. package/dist/models/GetContent.d.ts +7 -0
  50. package/dist/models/GetContent.js +5 -0
  51. package/dist/models/GetCourse.d.ts +27 -0
  52. package/dist/models/GetCourse.js +21 -0
  53. package/dist/models/GetCourseEnrollment.d.ts +29 -1
  54. package/dist/models/GetCourseEnrollment.js +24 -2
  55. package/dist/models/GetCourseEnrollmentListItem.d.ts +28 -1
  56. package/dist/models/GetCourseEnrollmentListItem.js +24 -2
  57. package/dist/models/GetPortal.d.ts +2 -2
  58. package/dist/models/GetPortalFaviconUpload.d.ts +1 -1
  59. package/dist/models/GetPortalLogoUpload.d.ts +1 -1
  60. package/dist/models/GetPublicPortalBranding.d.ts +2 -2
  61. package/dist/models/PostContentSession.d.ts +7 -0
  62. package/dist/models/PostContentSession.js +5 -0
  63. package/dist/models/PostCourse.d.ts +29 -0
  64. package/dist/models/PostCourse.js +15 -0
  65. package/dist/models/PostCourseEnrollment.d.ts +18 -1
  66. package/dist/models/PostCourseEnrollment.js +11 -4
  67. package/dist/models/PutContent.d.ts +7 -0
  68. package/dist/models/PutContent.js +3 -0
  69. package/dist/models/PutCourse.d.ts +27 -0
  70. package/dist/models/PutCourse.js +15 -0
  71. package/dist/models/PutCourseEnrollment.d.ts +8 -1
  72. package/dist/models/PutCourseEnrollment.js +4 -1
  73. package/dist/models/index.d.ts +1 -1
  74. package/dist/models/index.js +1 -1
  75. package/docs/ContentApi.md +79 -0
  76. package/docs/{DownloadSupportTicketAttachment200Response.md → ContentLaunchMode.md} +5 -6
  77. package/docs/CourseApi.md +72 -0
  78. package/docs/GetContent.md +2 -0
  79. package/docs/GetCourse.md +6 -0
  80. package/docs/GetCourseEnrollment.md +4 -0
  81. package/docs/GetCourseEnrollmentListItem.md +4 -0
  82. package/docs/PortalApi.md +258 -0
  83. package/docs/PostContentSession.md +2 -0
  84. package/docs/PostCourse.md +6 -0
  85. package/docs/PostCourseEnrollment.md +2 -0
  86. package/docs/PutContent.md +2 -0
  87. package/docs/PutCourse.md +6 -0
  88. package/docs/PutCourseEnrollment.md +2 -0
  89. package/docs/SupportTicketApi.md +4 -4
  90. package/package.json +1 -1
  91. package/src/apis/ContentApi.ts +77 -0
  92. package/src/apis/CourseApi.ts +58 -0
  93. package/src/apis/PortalApi.ts +176 -0
  94. package/src/apis/SupportTicketApi.ts +3 -8
  95. package/src/models/ContentLaunchMode.ts +54 -0
  96. package/src/models/GetContent.ts +16 -0
  97. package/src/models/GetCourse.ts +39 -0
  98. package/src/models/GetCourseEnrollment.ts +37 -2
  99. package/src/models/GetCourseEnrollmentListItem.ts +36 -2
  100. package/src/models/GetPortal.ts +2 -2
  101. package/src/models/GetPortalFaviconUpload.ts +1 -1
  102. package/src/models/GetPortalLogoUpload.ts +1 -1
  103. package/src/models/GetPublicPortalBranding.ts +2 -2
  104. package/src/models/PostContentSession.ts +19 -0
  105. package/src/models/PostCourse.ts +38 -0
  106. package/src/models/PostCourseEnrollment.ts +22 -3
  107. package/src/models/PutContent.ts +18 -0
  108. package/src/models/PutCourse.ts +36 -0
  109. package/src/models/PutCourseEnrollment.ts +11 -2
  110. package/src/models/index.ts +1 -1
  111. package/dist/esm/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
  112. package/dist/esm/models/DownloadSupportTicketAttachment200Response.js +0 -43
  113. package/dist/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
  114. package/dist/models/DownloadSupportTicketAttachment200Response.js +0 -50
  115. package/src/models/DownloadSupportTicketAttachment200Response.ts +0 -66
@@ -22,7 +22,21 @@ export const GetCourseEnrollmentStatusEnum = {
22
22
  Expired: 'Expired',
23
23
  Withdrawn: 'Withdrawn',
24
24
  Removed: 'Removed',
25
- Archived: 'Archived'
25
+ Archived: 'Archived',
26
+ Suspended: 'Suspended'
27
+ };
28
+ /**
29
+ * @export
30
+ */
31
+ export const GetCourseEnrollmentAccessStateEnum = {
32
+ Active: 'active',
33
+ CompletedReview: 'completed_review',
34
+ Expired: 'expired',
35
+ Suspended: 'suspended',
36
+ Failed: 'failed',
37
+ Withdrawn: 'withdrawn',
38
+ Removed: 'removed',
39
+ Archived: 'archived'
26
40
  };
27
41
  /**
28
42
  * @export
@@ -49,6 +63,10 @@ export function instanceOfGetCourseEnrollment(value) {
49
63
  return false;
50
64
  if (!('status' in value) || value['status'] === undefined)
51
65
  return false;
66
+ if (!('accessState' in value) || value['accessState'] === undefined)
67
+ return false;
68
+ if (!('daysUntilExpiry' in value) || value['daysUntilExpiry'] === undefined)
69
+ return false;
52
70
  if (!('userType' in value) || value['userType'] === undefined)
53
71
  return false;
54
72
  if (!('completionDate' in value) || value['completionDate'] === undefined)
@@ -70,6 +88,8 @@ export function GetCourseEnrollmentFromJSONTyped(json, ignoreDiscriminator) {
70
88
  'enrollmentDateEnd': json['enrollment_date_end'],
71
89
  'notes': json['notes'],
72
90
  'status': json['status'],
91
+ 'accessState': json['access_state'],
92
+ 'daysUntilExpiry': json['days_until_expiry'],
73
93
  'userType': json['user_type'],
74
94
  'completionDate': json['completion_date'],
75
95
  };
@@ -89,6 +109,8 @@ export function GetCourseEnrollmentToJSONTyped(value, ignoreDiscriminator = fals
89
109
  'enrollment_date_end': value['enrollmentDateEnd'],
90
110
  'notes': value['notes'],
91
111
  'status': value['status'],
112
+ 'access_state': value['accessState'],
113
+ 'days_until_expiry': value['daysUntilExpiry'],
92
114
  'user_type': value['userType'],
93
115
  'completion_date': value['completionDate'],
94
116
  };
@@ -56,13 +56,25 @@ export interface GetCourseEnrollmentListItem {
56
56
  * @type {number}
57
57
  * @memberof GetCourseEnrollmentListItem
58
58
  */
59
- enrollmentDateEnd: number;
59
+ enrollmentDateEnd: number | null;
60
60
  /**
61
61
  * Current status of the enrollment
62
62
  * @type {GetCourseEnrollmentListItemStatusEnum}
63
63
  * @memberof GetCourseEnrollmentListItem
64
64
  */
65
65
  status: GetCourseEnrollmentListItemStatusEnum;
66
+ /**
67
+ * Derived learner access state for UI indicators and access decisions.
68
+ * @type {GetCourseEnrollmentListItemAccessStateEnum}
69
+ * @memberof GetCourseEnrollmentListItem
70
+ */
71
+ accessState: GetCourseEnrollmentListItemAccessStateEnum;
72
+ /**
73
+ * Whole days until access expiry; null for never-expiring or already inactive enrollments.
74
+ * @type {number}
75
+ * @memberof GetCourseEnrollmentListItem
76
+ */
77
+ daysUntilExpiry: number | null;
66
78
  /**
67
79
  * The role/type of the user in this enrollment
68
80
  * @type {GetCourseEnrollmentListItemUserTypeEnum}
@@ -88,8 +100,23 @@ export declare const GetCourseEnrollmentListItemStatusEnum: {
88
100
  readonly Withdrawn: "Withdrawn";
89
101
  readonly Removed: "Removed";
90
102
  readonly Archived: "Archived";
103
+ readonly Suspended: "Suspended";
91
104
  };
92
105
  export type GetCourseEnrollmentListItemStatusEnum = typeof GetCourseEnrollmentListItemStatusEnum[keyof typeof GetCourseEnrollmentListItemStatusEnum];
106
+ /**
107
+ * @export
108
+ */
109
+ export declare const GetCourseEnrollmentListItemAccessStateEnum: {
110
+ readonly Active: "active";
111
+ readonly CompletedReview: "completed_review";
112
+ readonly Expired: "expired";
113
+ readonly Suspended: "suspended";
114
+ readonly Failed: "failed";
115
+ readonly Withdrawn: "withdrawn";
116
+ readonly Removed: "removed";
117
+ readonly Archived: "archived";
118
+ };
119
+ export type GetCourseEnrollmentListItemAccessStateEnum = typeof GetCourseEnrollmentListItemAccessStateEnum[keyof typeof GetCourseEnrollmentListItemAccessStateEnum];
93
120
  /**
94
121
  * @export
95
122
  */
@@ -22,7 +22,21 @@ export const GetCourseEnrollmentListItemStatusEnum = {
22
22
  Expired: 'Expired',
23
23
  Withdrawn: 'Withdrawn',
24
24
  Removed: 'Removed',
25
- Archived: 'Archived'
25
+ Archived: 'Archived',
26
+ Suspended: 'Suspended'
27
+ };
28
+ /**
29
+ * @export
30
+ */
31
+ export const GetCourseEnrollmentListItemAccessStateEnum = {
32
+ Active: 'active',
33
+ CompletedReview: 'completed_review',
34
+ Expired: 'expired',
35
+ Suspended: 'suspended',
36
+ Failed: 'failed',
37
+ Withdrawn: 'withdrawn',
38
+ Removed: 'removed',
39
+ Archived: 'archived'
26
40
  };
27
41
  /**
28
42
  * @export
@@ -51,6 +65,10 @@ export function instanceOfGetCourseEnrollmentListItem(value) {
51
65
  return false;
52
66
  if (!('status' in value) || value['status'] === undefined)
53
67
  return false;
68
+ if (!('accessState' in value) || value['accessState'] === undefined)
69
+ return false;
70
+ if (!('daysUntilExpiry' in value) || value['daysUntilExpiry'] === undefined)
71
+ return false;
54
72
  if (!('userType' in value) || value['userType'] === undefined)
55
73
  return false;
56
74
  if (!('completionDate' in value) || value['completionDate'] === undefined)
@@ -73,6 +91,8 @@ export function GetCourseEnrollmentListItemFromJSONTyped(json, ignoreDiscriminat
73
91
  'enrollmentDateStart': json['enrollment_date_start'],
74
92
  'enrollmentDateEnd': json['enrollment_date_end'],
75
93
  'status': json['status'],
94
+ 'accessState': json['access_state'],
95
+ 'daysUntilExpiry': json['days_until_expiry'],
76
96
  'userType': json['user_type'],
77
97
  'completionDate': json['completion_date'],
78
98
  };
@@ -93,6 +113,8 @@ export function GetCourseEnrollmentListItemToJSONTyped(value, ignoreDiscriminato
93
113
  'enrollment_date_start': value['enrollmentDateStart'],
94
114
  'enrollment_date_end': value['enrollmentDateEnd'],
95
115
  'status': value['status'],
116
+ 'access_state': value['accessState'],
117
+ 'days_until_expiry': value['daysUntilExpiry'],
96
118
  'user_type': value['userType'],
97
119
  'completion_date': value['completionDate'],
98
120
  };
@@ -46,13 +46,13 @@ export interface GetPortal {
46
46
  */
47
47
  clientDomain?: string | null;
48
48
  /**
49
- *
49
+ * API-proxied portal logo URL when a logo is configured.
50
50
  * @type {string}
51
51
  * @memberof GetPortal
52
52
  */
53
53
  logoUrl?: string | null;
54
54
  /**
55
- *
55
+ * API-proxied portal favicon URL when a favicon is configured.
56
56
  * @type {string}
57
57
  * @memberof GetPortal
58
58
  */
@@ -16,7 +16,7 @@
16
16
  */
17
17
  export interface GetPortalFaviconUpload {
18
18
  /**
19
- * Presigned URL for the uploaded favicon image
19
+ * API-proxied URL for the uploaded favicon image
20
20
  * @type {string}
21
21
  * @memberof GetPortalFaviconUpload
22
22
  */
@@ -16,7 +16,7 @@
16
16
  */
17
17
  export interface GetPortalLogoUpload {
18
18
  /**
19
- * Presigned URL for the uploaded logo image
19
+ * API-proxied URL for the uploaded logo image
20
20
  * @type {string}
21
21
  * @memberof GetPortalLogoUpload
22
22
  */
@@ -34,13 +34,13 @@ export interface GetPublicPortalBranding {
34
34
  */
35
35
  slug: string | null;
36
36
  /**
37
- * Presigned portal logo URL when a logo is configured.
37
+ * API-proxied portal logo URL when a logo is configured.
38
38
  * @type {string}
39
39
  * @memberof GetPublicPortalBranding
40
40
  */
41
41
  logoUrl: string | null;
42
42
  /**
43
- * Presigned portal favicon URL when a favicon is configured.
43
+ * API-proxied portal favicon URL when a favicon is configured.
44
44
  * @type {string}
45
45
  * @memberof GetPublicPortalBranding
46
46
  */
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { ContentLaunchMode } from './ContentLaunchMode';
12
13
  /**
13
14
  * A content session
14
15
  * @export
@@ -33,6 +34,12 @@ export interface PostContentSession {
33
34
  * @memberof PostContentSession
34
35
  */
35
36
  launchUrl: string;
37
+ /**
38
+ *
39
+ * @type {ContentLaunchMode}
40
+ * @memberof PostContentSession
41
+ */
42
+ launchMode: ContentLaunchMode;
36
43
  /**
37
44
  * The date and time the content session was created
38
45
  * @type {number}
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { ContentLaunchModeFromJSON, ContentLaunchModeToJSON, } from './ContentLaunchMode';
14
15
  /**
15
16
  * Check if a given object implements the PostContentSession interface.
16
17
  */
@@ -21,6 +22,8 @@ export function instanceOfPostContentSession(value) {
21
22
  return false;
22
23
  if (!('launchUrl' in value) || value['launchUrl'] === undefined)
23
24
  return false;
25
+ if (!('launchMode' in value) || value['launchMode'] === undefined)
26
+ return false;
24
27
  if (!('createdAt' in value) || value['createdAt'] === undefined)
25
28
  return false;
26
29
  return true;
@@ -36,6 +39,7 @@ export function PostContentSessionFromJSONTyped(json, ignoreDiscriminator) {
36
39
  'contentId': json['content_id'],
37
40
  'userId': json['user_id'],
38
41
  'launchUrl': json['launch_url'],
42
+ 'launchMode': ContentLaunchModeFromJSON(json['launch_mode']),
39
43
  'createdAt': json['created_at'],
40
44
  'playerSessionId': json['player_session_id'] == null ? undefined : json['player_session_id'],
41
45
  };
@@ -51,6 +55,7 @@ export function PostContentSessionToJSONTyped(value, ignoreDiscriminator = false
51
55
  'content_id': value['contentId'],
52
56
  'user_id': value['userId'],
53
57
  'launch_url': value['launchUrl'],
58
+ 'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
54
59
  'created_at': value['createdAt'],
55
60
  'player_session_id': value['playerSessionId'],
56
61
  };
@@ -27,7 +27,36 @@ export interface PostCourse {
27
27
  * @memberof PostCourse
28
28
  */
29
29
  description: string;
30
+ /**
31
+ * Course-level learner access policy. If omitted, new courses default to
32
+ * duration_days with 90 days.
33
+ *
34
+ * @type {PostCourseAccessPolicyTypeEnum}
35
+ * @memberof PostCourse
36
+ */
37
+ accessPolicyType?: PostCourseAccessPolicyTypeEnum;
38
+ /**
39
+ * Number of access days from enrollment start when access_policy_type is duration_days.
40
+ * @type {number}
41
+ * @memberof PostCourse
42
+ */
43
+ accessDurationDays?: number | null;
44
+ /**
45
+ * Fixed Unix timestamp when access expires when access_policy_type is fixed_end_date.
46
+ * @type {number}
47
+ * @memberof PostCourse
48
+ */
49
+ accessFixedEndAt?: number | null;
30
50
  }
51
+ /**
52
+ * @export
53
+ */
54
+ export declare const PostCourseAccessPolicyTypeEnum: {
55
+ readonly DurationDays: "duration_days";
56
+ readonly FixedEndDate: "fixed_end_date";
57
+ readonly NeverExpires: "never_expires";
58
+ };
59
+ export type PostCourseAccessPolicyTypeEnum = typeof PostCourseAccessPolicyTypeEnum[keyof typeof PostCourseAccessPolicyTypeEnum];
31
60
  /**
32
61
  * Check if a given object implements the PostCourse interface.
33
62
  */
@@ -11,6 +11,14 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ /**
15
+ * @export
16
+ */
17
+ export const PostCourseAccessPolicyTypeEnum = {
18
+ DurationDays: 'duration_days',
19
+ FixedEndDate: 'fixed_end_date',
20
+ NeverExpires: 'never_expires'
21
+ };
14
22
  /**
15
23
  * Check if a given object implements the PostCourse interface.
16
24
  */
@@ -31,6 +39,9 @@ export function PostCourseFromJSONTyped(json, ignoreDiscriminator) {
31
39
  return {
32
40
  'name': json['name'],
33
41
  'description': json['description'],
42
+ 'accessPolicyType': json['access_policy_type'] == null ? undefined : json['access_policy_type'],
43
+ 'accessDurationDays': json['access_duration_days'] == null ? undefined : json['access_duration_days'],
44
+ 'accessFixedEndAt': json['access_fixed_end_at'] == null ? undefined : json['access_fixed_end_at'],
34
45
  };
35
46
  }
36
47
  export function PostCourseToJSON(json) {
@@ -43,5 +54,8 @@ export function PostCourseToJSONTyped(value, ignoreDiscriminator = false) {
43
54
  return {
44
55
  'name': value['name'],
45
56
  'description': value['description'],
57
+ 'access_policy_type': value['accessPolicyType'],
58
+ 'access_duration_days': value['accessDurationDays'],
59
+ 'access_fixed_end_at': value['accessFixedEndAt'],
46
60
  };
47
61
  }
@@ -26,7 +26,7 @@ export interface PostCourseEnrollment {
26
26
  * @type {number}
27
27
  * @memberof PostCourseEnrollment
28
28
  */
29
- enrollmentDateStart: number;
29
+ enrollmentDateStart?: number;
30
30
  /**
31
31
  * End date of the enrollment (Unix timestamp)
32
32
  * @type {number}
@@ -45,6 +45,15 @@ export interface PostCourseEnrollment {
45
45
  * @memberof PostCourseEnrollment
46
46
  */
47
47
  userType?: PostCourseEnrollmentUserTypeEnum | null;
48
+ /**
49
+ * How to handle a learner with a prior terminal enrollment for this course.
50
+ * restart creates a new enrollment period; resume reopens the latest terminal
51
+ * enrollment. Active enrollments always conflict.
52
+ *
53
+ * @type {PostCourseEnrollmentReEnrollmentModeEnum}
54
+ * @memberof PostCourseEnrollment
55
+ */
56
+ reEnrollmentMode?: PostCourseEnrollmentReEnrollmentModeEnum | null;
48
57
  }
49
58
  /**
50
59
  * @export
@@ -54,6 +63,14 @@ export declare const PostCourseEnrollmentUserTypeEnum: {
54
63
  readonly Instructor: "Instructor";
55
64
  };
56
65
  export type PostCourseEnrollmentUserTypeEnum = typeof PostCourseEnrollmentUserTypeEnum[keyof typeof PostCourseEnrollmentUserTypeEnum];
66
+ /**
67
+ * @export
68
+ */
69
+ export declare const PostCourseEnrollmentReEnrollmentModeEnum: {
70
+ readonly Restart: "restart";
71
+ readonly Resume: "resume";
72
+ };
73
+ export type PostCourseEnrollmentReEnrollmentModeEnum = typeof PostCourseEnrollmentReEnrollmentModeEnum[keyof typeof PostCourseEnrollmentReEnrollmentModeEnum];
57
74
  /**
58
75
  * Check if a given object implements the PostCourseEnrollment interface.
59
76
  */
@@ -18,14 +18,19 @@ export const PostCourseEnrollmentUserTypeEnum = {
18
18
  Student: 'Student',
19
19
  Instructor: 'Instructor'
20
20
  };
21
+ /**
22
+ * @export
23
+ */
24
+ export const PostCourseEnrollmentReEnrollmentModeEnum = {
25
+ Restart: 'restart',
26
+ Resume: 'resume'
27
+ };
21
28
  /**
22
29
  * Check if a given object implements the PostCourseEnrollment interface.
23
30
  */
24
31
  export function instanceOfPostCourseEnrollment(value) {
25
32
  if (!('userId' in value) || value['userId'] === undefined)
26
33
  return false;
27
- if (!('enrollmentDateStart' in value) || value['enrollmentDateStart'] === undefined)
28
- return false;
29
34
  return true;
30
35
  }
31
36
  export function PostCourseEnrollmentFromJSON(json) {
@@ -37,10 +42,11 @@ export function PostCourseEnrollmentFromJSONTyped(json, ignoreDiscriminator) {
37
42
  }
38
43
  return {
39
44
  'userId': json['user_id'],
40
- 'enrollmentDateStart': json['enrollment_date_start'],
45
+ 'enrollmentDateStart': json['enrollment_date_start'] == null ? undefined : json['enrollment_date_start'],
41
46
  'enrollmentDateEnd': json['enrollment_date_end'] == null ? undefined : json['enrollment_date_end'],
42
47
  'notes': json['notes'] == null ? undefined : json['notes'],
43
48
  'userType': json['user_type'] == null ? undefined : json['user_type'],
49
+ 'reEnrollmentMode': json['re_enrollment_mode'] == null ? undefined : json['re_enrollment_mode'],
44
50
  };
45
51
  }
46
52
  export function PostCourseEnrollmentToJSON(json) {
@@ -56,5 +62,6 @@ export function PostCourseEnrollmentToJSONTyped(value, ignoreDiscriminator = fal
56
62
  'enrollment_date_end': value['enrollmentDateEnd'],
57
63
  'notes': value['notes'],
58
64
  'user_type': value['userType'],
65
+ 're_enrollment_mode': value['reEnrollmentMode'],
59
66
  };
60
67
  }
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { ContentLaunchMode } from './ContentLaunchMode';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -27,6 +28,12 @@ export interface PutContent {
27
28
  * @memberof PutContent
28
29
  */
29
30
  published?: boolean;
31
+ /**
32
+ *
33
+ * @type {ContentLaunchMode}
34
+ * @memberof PutContent
35
+ */
36
+ launchMode?: ContentLaunchMode;
30
37
  }
31
38
  /**
32
39
  * Check if a given object implements the PutContent interface.
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { ContentLaunchModeFromJSON, ContentLaunchModeToJSON, } from './ContentLaunchMode';
14
15
  /**
15
16
  * Check if a given object implements the PutContent interface.
16
17
  */
@@ -27,6 +28,7 @@ export function PutContentFromJSONTyped(json, ignoreDiscriminator) {
27
28
  return {
28
29
  'name': json['name'] == null ? undefined : json['name'],
29
30
  'published': json['published'] == null ? undefined : json['published'],
31
+ 'launchMode': json['launch_mode'] == null ? undefined : ContentLaunchModeFromJSON(json['launch_mode']),
30
32
  };
31
33
  }
32
34
  export function PutContentToJSON(json) {
@@ -39,5 +41,6 @@ export function PutContentToJSONTyped(value, ignoreDiscriminator = false) {
39
41
  return {
40
42
  'name': value['name'],
41
43
  'published': value['published'],
44
+ 'launch_mode': ContentLaunchModeToJSON(value['launchMode']),
42
45
  };
43
46
  }
@@ -39,7 +39,34 @@ export interface PutCourse {
39
39
  * @memberof PutCourse
40
40
  */
41
41
  published?: boolean;
42
+ /**
43
+ * Course-level learner access policy.
44
+ * @type {PutCourseAccessPolicyTypeEnum}
45
+ * @memberof PutCourse
46
+ */
47
+ accessPolicyType?: PutCourseAccessPolicyTypeEnum;
48
+ /**
49
+ * Number of access days from enrollment start when access_policy_type is duration_days.
50
+ * @type {number}
51
+ * @memberof PutCourse
52
+ */
53
+ accessDurationDays?: number | null;
54
+ /**
55
+ * Fixed Unix timestamp when access expires when access_policy_type is fixed_end_date.
56
+ * @type {number}
57
+ * @memberof PutCourse
58
+ */
59
+ accessFixedEndAt?: number | null;
42
60
  }
61
+ /**
62
+ * @export
63
+ */
64
+ export declare const PutCourseAccessPolicyTypeEnum: {
65
+ readonly DurationDays: "duration_days";
66
+ readonly FixedEndDate: "fixed_end_date";
67
+ readonly NeverExpires: "never_expires";
68
+ };
69
+ export type PutCourseAccessPolicyTypeEnum = typeof PutCourseAccessPolicyTypeEnum[keyof typeof PutCourseAccessPolicyTypeEnum];
43
70
  /**
44
71
  * Check if a given object implements the PutCourse interface.
45
72
  */
@@ -11,6 +11,14 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ /**
15
+ * @export
16
+ */
17
+ export const PutCourseAccessPolicyTypeEnum = {
18
+ DurationDays: 'duration_days',
19
+ FixedEndDate: 'fixed_end_date',
20
+ NeverExpires: 'never_expires'
21
+ };
14
22
  /**
15
23
  * Check if a given object implements the PutCourse interface.
16
24
  */
@@ -29,6 +37,9 @@ export function PutCourseFromJSONTyped(json, ignoreDiscriminator) {
29
37
  'name': json['name'] == null ? undefined : json['name'],
30
38
  'description': json['description'] == null ? undefined : json['description'],
31
39
  'published': json['published'] == null ? undefined : json['published'],
40
+ 'accessPolicyType': json['access_policy_type'] == null ? undefined : json['access_policy_type'],
41
+ 'accessDurationDays': json['access_duration_days'] == null ? undefined : json['access_duration_days'],
42
+ 'accessFixedEndAt': json['access_fixed_end_at'] == null ? undefined : json['access_fixed_end_at'],
32
43
  };
33
44
  }
34
45
  export function PutCourseToJSON(json) {
@@ -42,5 +53,8 @@ export function PutCourseToJSONTyped(value, ignoreDiscriminator = false) {
42
53
  'name': value['name'],
43
54
  'description': value['description'],
44
55
  'published': value['published'],
56
+ 'access_policy_type': value['accessPolicyType'],
57
+ 'access_duration_days': value['accessDurationDays'],
58
+ 'access_fixed_end_at': value['accessFixedEndAt'],
45
59
  };
46
60
  }
@@ -35,7 +35,13 @@ export interface PutCourseEnrollment {
35
35
  * @type {number}
36
36
  * @memberof PutCourseEnrollment
37
37
  */
38
- enrollmentDateEnd?: number;
38
+ enrollmentDateEnd?: number | null;
39
+ /**
40
+ * Add this many days to the current end date, or to now if the enrollment is already expired.
41
+ * @type {number}
42
+ * @memberof PutCourseEnrollment
43
+ */
44
+ extensionDays?: number;
39
45
  /**
40
46
  * Optional notes about the enrollment
41
47
  * @type {string}
@@ -53,6 +59,7 @@ export declare const PutCourseEnrollmentStatusEnum: {
53
59
  readonly Withdrawn: "Withdrawn";
54
60
  readonly Removed: "Removed";
55
61
  readonly Archived: "Archived";
62
+ readonly Suspended: "Suspended";
56
63
  };
57
64
  export type PutCourseEnrollmentStatusEnum = typeof PutCourseEnrollmentStatusEnum[keyof typeof PutCourseEnrollmentStatusEnum];
58
65
  /**
@@ -20,7 +20,8 @@ export const PutCourseEnrollmentStatusEnum = {
20
20
  Failed: 'Failed',
21
21
  Withdrawn: 'Withdrawn',
22
22
  Removed: 'Removed',
23
- Archived: 'Archived'
23
+ Archived: 'Archived',
24
+ Suspended: 'Suspended'
24
25
  };
25
26
  /**
26
27
  * @export
@@ -46,6 +47,7 @@ export function PutCourseEnrollmentFromJSONTyped(json, ignoreDiscriminator) {
46
47
  'status': json['status'] == null ? undefined : json['status'],
47
48
  'userType': json['user_type'] == null ? undefined : json['user_type'],
48
49
  'enrollmentDateEnd': json['enrollment_date_end'] == null ? undefined : json['enrollment_date_end'],
50
+ 'extensionDays': json['extension_days'] == null ? undefined : json['extension_days'],
49
51
  'notes': json['notes'] == null ? undefined : json['notes'],
50
52
  };
51
53
  }
@@ -60,6 +62,7 @@ export function PutCourseEnrollmentToJSONTyped(value, ignoreDiscriminator = fals
60
62
  'status': value['status'],
61
63
  'user_type': value['userType'],
62
64
  'enrollment_date_end': value['enrollmentDateEnd'],
65
+ 'extension_days': value['extensionDays'],
63
66
  'notes': value['notes'],
64
67
  };
65
68
  }
@@ -1,12 +1,12 @@
1
1
  export * from './Certificate';
2
2
  export * from './CertificateConfig';
3
3
  export * from './CertificatePublic';
4
+ export * from './ContentLaunchMode';
4
5
  export * from './CourseCatalog';
5
6
  export * from './CourseShare';
6
7
  export * from './CriteriaBasedSelection';
7
8
  export * from './CriteriaBasedSelectionCriteria';
8
9
  export * from './CriteriaBasedSelectionDistribution';
9
- export * from './DownloadSupportTicketAttachment200Response';
10
10
  export * from './EffectiveCertificateConfig';
11
11
  export * from './Essay';
12
12
  export * from './Essay1';
@@ -3,12 +3,12 @@
3
3
  export * from './Certificate';
4
4
  export * from './CertificateConfig';
5
5
  export * from './CertificatePublic';
6
+ export * from './ContentLaunchMode';
6
7
  export * from './CourseCatalog';
7
8
  export * from './CourseShare';
8
9
  export * from './CriteriaBasedSelection';
9
10
  export * from './CriteriaBasedSelectionCriteria';
10
11
  export * from './CriteriaBasedSelectionDistribution';
11
- export * from './DownloadSupportTicketAttachment200Response';
12
12
  export * from './EffectiveCertificateConfig';
13
13
  export * from './Essay';
14
14
  export * from './Essay1';
@@ -0,0 +1,26 @@
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
+ * How the learner player should present the launched content.
14
+ * @export
15
+ */
16
+ export declare const ContentLaunchMode: {
17
+ readonly Embedded: "embedded";
18
+ readonly Fullscreen: "fullscreen";
19
+ readonly NewWindow: "new_window";
20
+ };
21
+ export type ContentLaunchMode = typeof ContentLaunchMode[keyof typeof ContentLaunchMode];
22
+ export declare function instanceOfContentLaunchMode(value: any): boolean;
23
+ export declare function ContentLaunchModeFromJSON(json: any): ContentLaunchMode;
24
+ export declare function ContentLaunchModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContentLaunchMode;
25
+ export declare function ContentLaunchModeToJSON(value?: ContentLaunchMode | null): any;
26
+ export declare function ContentLaunchModeToJSONTyped(value: any, ignoreDiscriminator: boolean): ContentLaunchMode;