@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
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * LMS API
6
+ * LMS API
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ContentLaunchMode = void 0;
17
+ exports.instanceOfContentLaunchMode = instanceOfContentLaunchMode;
18
+ exports.ContentLaunchModeFromJSON = ContentLaunchModeFromJSON;
19
+ exports.ContentLaunchModeFromJSONTyped = ContentLaunchModeFromJSONTyped;
20
+ exports.ContentLaunchModeToJSON = ContentLaunchModeToJSON;
21
+ exports.ContentLaunchModeToJSONTyped = ContentLaunchModeToJSONTyped;
22
+ /**
23
+ * How the learner player should present the launched content.
24
+ * @export
25
+ */
26
+ exports.ContentLaunchMode = {
27
+ Embedded: 'embedded',
28
+ Fullscreen: 'fullscreen',
29
+ NewWindow: 'new_window'
30
+ };
31
+ function instanceOfContentLaunchMode(value) {
32
+ for (const key in exports.ContentLaunchMode) {
33
+ if (Object.prototype.hasOwnProperty.call(exports.ContentLaunchMode, key)) {
34
+ if (exports.ContentLaunchMode[key] === value) {
35
+ return true;
36
+ }
37
+ }
38
+ }
39
+ return false;
40
+ }
41
+ function ContentLaunchModeFromJSON(json) {
42
+ return ContentLaunchModeFromJSONTyped(json, false);
43
+ }
44
+ function ContentLaunchModeFromJSONTyped(json, ignoreDiscriminator) {
45
+ return json;
46
+ }
47
+ function ContentLaunchModeToJSON(value) {
48
+ return value;
49
+ }
50
+ function ContentLaunchModeToJSONTyped(value, ignoreDiscriminator) {
51
+ return value;
52
+ }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { GetContentContentData } from './GetContentContentData';
13
+ import type { ContentLaunchMode } from './ContentLaunchMode';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -46,6 +47,12 @@ export interface GetContent {
46
47
  * @memberof GetContent
47
48
  */
48
49
  contentType: GetContentContentTypeEnum;
50
+ /**
51
+ *
52
+ * @type {ContentLaunchMode}
53
+ * @memberof GetContent
54
+ */
55
+ launchMode: ContentLaunchMode;
49
56
  /**
50
57
  *
51
58
  * @type {GetContentContentData}
@@ -20,6 +20,7 @@ exports.GetContentFromJSONTyped = GetContentFromJSONTyped;
20
20
  exports.GetContentToJSON = GetContentToJSON;
21
21
  exports.GetContentToJSONTyped = GetContentToJSONTyped;
22
22
  const GetContentContentData_1 = require("./GetContentContentData");
23
+ const ContentLaunchMode_1 = require("./ContentLaunchMode");
23
24
  /**
24
25
  * @export
25
26
  */
@@ -44,6 +45,8 @@ function instanceOfGetContent(value) {
44
45
  return false;
45
46
  if (!('contentType' in value) || value['contentType'] === undefined)
46
47
  return false;
48
+ if (!('launchMode' in value) || value['launchMode'] === undefined)
49
+ return false;
47
50
  if (!('contentData' in value) || value['contentData'] === undefined)
48
51
  return false;
49
52
  if (!('published' in value) || value['published'] === undefined)
@@ -63,6 +66,7 @@ function GetContentFromJSONTyped(json, ignoreDiscriminator) {
63
66
  'name': json['name'],
64
67
  'description': json['description'] == null ? undefined : json['description'],
65
68
  'contentType': json['content_type'],
69
+ 'launchMode': (0, ContentLaunchMode_1.ContentLaunchModeFromJSON)(json['launch_mode']),
66
70
  'contentData': (0, GetContentContentData_1.GetContentContentDataFromJSON)(json['content_data']),
67
71
  'order': json['order'] == null ? undefined : json['order'],
68
72
  'published': json['published'],
@@ -85,6 +89,7 @@ function GetContentToJSONTyped(value, ignoreDiscriminator = false) {
85
89
  'name': value['name'],
86
90
  'description': value['description'],
87
91
  'content_type': value['contentType'],
92
+ 'launch_mode': (0, ContentLaunchMode_1.ContentLaunchModeToJSON)(value['launchMode']),
88
93
  'content_data': (0, GetContentContentData_1.GetContentContentDataToJSON)(value['contentData']),
89
94
  'order': value['order'],
90
95
  'published': value['published'],
@@ -51,7 +51,34 @@ export interface GetCourse {
51
51
  * @memberof GetCourse
52
52
  */
53
53
  createdAt: number;
54
+ /**
55
+ * Course-level learner access policy.
56
+ * @type {GetCourseAccessPolicyTypeEnum}
57
+ * @memberof GetCourse
58
+ */
59
+ accessPolicyType: GetCourseAccessPolicyTypeEnum;
60
+ /**
61
+ * Number of access days from enrollment start when access_policy_type is duration_days.
62
+ * @type {number}
63
+ * @memberof GetCourse
64
+ */
65
+ accessDurationDays: number | null;
66
+ /**
67
+ * Fixed Unix timestamp when access expires when access_policy_type is fixed_end_date.
68
+ * @type {number}
69
+ * @memberof GetCourse
70
+ */
71
+ accessFixedEndAt: number | null;
54
72
  }
73
+ /**
74
+ * @export
75
+ */
76
+ export declare const GetCourseAccessPolicyTypeEnum: {
77
+ readonly DurationDays: "duration_days";
78
+ readonly FixedEndDate: "fixed_end_date";
79
+ readonly NeverExpires: "never_expires";
80
+ };
81
+ export type GetCourseAccessPolicyTypeEnum = typeof GetCourseAccessPolicyTypeEnum[keyof typeof GetCourseAccessPolicyTypeEnum];
55
82
  /**
56
83
  * Check if a given object implements the GetCourse interface.
57
84
  */
@@ -13,11 +13,20 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.GetCourseAccessPolicyTypeEnum = void 0;
16
17
  exports.instanceOfGetCourse = instanceOfGetCourse;
17
18
  exports.GetCourseFromJSON = GetCourseFromJSON;
18
19
  exports.GetCourseFromJSONTyped = GetCourseFromJSONTyped;
19
20
  exports.GetCourseToJSON = GetCourseToJSON;
20
21
  exports.GetCourseToJSONTyped = GetCourseToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.GetCourseAccessPolicyTypeEnum = {
26
+ DurationDays: 'duration_days',
27
+ FixedEndDate: 'fixed_end_date',
28
+ NeverExpires: 'never_expires'
29
+ };
21
30
  /**
22
31
  * Check if a given object implements the GetCourse interface.
23
32
  */
@@ -34,6 +43,12 @@ function instanceOfGetCourse(value) {
34
43
  return false;
35
44
  if (!('createdAt' in value) || value['createdAt'] === undefined)
36
45
  return false;
46
+ if (!('accessPolicyType' in value) || value['accessPolicyType'] === undefined)
47
+ return false;
48
+ if (!('accessDurationDays' in value) || value['accessDurationDays'] === undefined)
49
+ return false;
50
+ if (!('accessFixedEndAt' in value) || value['accessFixedEndAt'] === undefined)
51
+ return false;
37
52
  return true;
38
53
  }
39
54
  function GetCourseFromJSON(json) {
@@ -50,6 +65,9 @@ function GetCourseFromJSONTyped(json, ignoreDiscriminator) {
50
65
  'imageUrl': json['image_url'],
51
66
  'published': json['published'],
52
67
  'createdAt': json['created_at'],
68
+ 'accessPolicyType': json['access_policy_type'],
69
+ 'accessDurationDays': json['access_duration_days'],
70
+ 'accessFixedEndAt': json['access_fixed_end_at'],
53
71
  };
54
72
  }
55
73
  function GetCourseToJSON(json) {
@@ -65,5 +83,8 @@ function GetCourseToJSONTyped(value, ignoreDiscriminator = false) {
65
83
  'image_url': value['imageUrl'],
66
84
  'published': value['published'],
67
85
  'created_at': value['createdAt'],
86
+ 'access_policy_type': value['accessPolicyType'],
87
+ 'access_duration_days': value['accessDurationDays'],
88
+ 'access_fixed_end_at': value['accessFixedEndAt'],
68
89
  };
69
90
  }
@@ -44,7 +44,7 @@ export interface GetCourseEnrollment {
44
44
  * @type {number}
45
45
  * @memberof GetCourseEnrollment
46
46
  */
47
- enrollmentDateEnd: number;
47
+ enrollmentDateEnd: number | null;
48
48
  /**
49
49
  * Optional notes about the enrollment
50
50
  * @type {string}
@@ -61,11 +61,24 @@ export interface GetCourseEnrollment {
61
61
  * - Withdrawn: learner pulled out before completion
62
62
  * - Removed: admin-removed enrollment
63
63
  * - Archived: historical / read-only (e.g. course share revoked)
64
+ * - Suspended: access temporarily disabled by an admin
64
65
  *
65
66
  * @type {GetCourseEnrollmentStatusEnum}
66
67
  * @memberof GetCourseEnrollment
67
68
  */
68
69
  status: GetCourseEnrollmentStatusEnum;
70
+ /**
71
+ * Derived learner access state for UI indicators and access decisions.
72
+ * @type {GetCourseEnrollmentAccessStateEnum}
73
+ * @memberof GetCourseEnrollment
74
+ */
75
+ accessState: GetCourseEnrollmentAccessStateEnum;
76
+ /**
77
+ * Whole days until access expiry; null for never-expiring or already inactive enrollments.
78
+ * @type {number}
79
+ * @memberof GetCourseEnrollment
80
+ */
81
+ daysUntilExpiry: number | null;
69
82
  /**
70
83
  * The role/type of the user in this enrollment
71
84
  * @type {GetCourseEnrollmentUserTypeEnum}
@@ -91,8 +104,23 @@ export declare const GetCourseEnrollmentStatusEnum: {
91
104
  readonly Withdrawn: "Withdrawn";
92
105
  readonly Removed: "Removed";
93
106
  readonly Archived: "Archived";
107
+ readonly Suspended: "Suspended";
94
108
  };
95
109
  export type GetCourseEnrollmentStatusEnum = typeof GetCourseEnrollmentStatusEnum[keyof typeof GetCourseEnrollmentStatusEnum];
110
+ /**
111
+ * @export
112
+ */
113
+ export declare const GetCourseEnrollmentAccessStateEnum: {
114
+ readonly Active: "active";
115
+ readonly CompletedReview: "completed_review";
116
+ readonly Expired: "expired";
117
+ readonly Suspended: "suspended";
118
+ readonly Failed: "failed";
119
+ readonly Withdrawn: "withdrawn";
120
+ readonly Removed: "removed";
121
+ readonly Archived: "archived";
122
+ };
123
+ export type GetCourseEnrollmentAccessStateEnum = typeof GetCourseEnrollmentAccessStateEnum[keyof typeof GetCourseEnrollmentAccessStateEnum];
96
124
  /**
97
125
  * @export
98
126
  */
@@ -13,7 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GetCourseEnrollmentUserTypeEnum = exports.GetCourseEnrollmentStatusEnum = void 0;
16
+ exports.GetCourseEnrollmentUserTypeEnum = exports.GetCourseEnrollmentAccessStateEnum = exports.GetCourseEnrollmentStatusEnum = void 0;
17
17
  exports.instanceOfGetCourseEnrollment = instanceOfGetCourseEnrollment;
18
18
  exports.GetCourseEnrollmentFromJSON = GetCourseEnrollmentFromJSON;
19
19
  exports.GetCourseEnrollmentFromJSONTyped = GetCourseEnrollmentFromJSONTyped;
@@ -30,7 +30,21 @@ exports.GetCourseEnrollmentStatusEnum = {
30
30
  Expired: 'Expired',
31
31
  Withdrawn: 'Withdrawn',
32
32
  Removed: 'Removed',
33
- Archived: 'Archived'
33
+ Archived: 'Archived',
34
+ Suspended: 'Suspended'
35
+ };
36
+ /**
37
+ * @export
38
+ */
39
+ exports.GetCourseEnrollmentAccessStateEnum = {
40
+ Active: 'active',
41
+ CompletedReview: 'completed_review',
42
+ Expired: 'expired',
43
+ Suspended: 'suspended',
44
+ Failed: 'failed',
45
+ Withdrawn: 'withdrawn',
46
+ Removed: 'removed',
47
+ Archived: 'archived'
34
48
  };
35
49
  /**
36
50
  * @export
@@ -57,6 +71,10 @@ function instanceOfGetCourseEnrollment(value) {
57
71
  return false;
58
72
  if (!('status' in value) || value['status'] === undefined)
59
73
  return false;
74
+ if (!('accessState' in value) || value['accessState'] === undefined)
75
+ return false;
76
+ if (!('daysUntilExpiry' in value) || value['daysUntilExpiry'] === undefined)
77
+ return false;
60
78
  if (!('userType' in value) || value['userType'] === undefined)
61
79
  return false;
62
80
  if (!('completionDate' in value) || value['completionDate'] === undefined)
@@ -78,6 +96,8 @@ function GetCourseEnrollmentFromJSONTyped(json, ignoreDiscriminator) {
78
96
  'enrollmentDateEnd': json['enrollment_date_end'],
79
97
  'notes': json['notes'],
80
98
  'status': json['status'],
99
+ 'accessState': json['access_state'],
100
+ 'daysUntilExpiry': json['days_until_expiry'],
81
101
  'userType': json['user_type'],
82
102
  'completionDate': json['completion_date'],
83
103
  };
@@ -97,6 +117,8 @@ function GetCourseEnrollmentToJSONTyped(value, ignoreDiscriminator = false) {
97
117
  'enrollment_date_end': value['enrollmentDateEnd'],
98
118
  'notes': value['notes'],
99
119
  'status': value['status'],
120
+ 'access_state': value['accessState'],
121
+ 'days_until_expiry': value['daysUntilExpiry'],
100
122
  'user_type': value['userType'],
101
123
  'completion_date': value['completionDate'],
102
124
  };
@@ -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
  */
@@ -13,7 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GetCourseEnrollmentListItemUserTypeEnum = exports.GetCourseEnrollmentListItemStatusEnum = void 0;
16
+ exports.GetCourseEnrollmentListItemUserTypeEnum = exports.GetCourseEnrollmentListItemAccessStateEnum = exports.GetCourseEnrollmentListItemStatusEnum = void 0;
17
17
  exports.instanceOfGetCourseEnrollmentListItem = instanceOfGetCourseEnrollmentListItem;
18
18
  exports.GetCourseEnrollmentListItemFromJSON = GetCourseEnrollmentListItemFromJSON;
19
19
  exports.GetCourseEnrollmentListItemFromJSONTyped = GetCourseEnrollmentListItemFromJSONTyped;
@@ -30,7 +30,21 @@ exports.GetCourseEnrollmentListItemStatusEnum = {
30
30
  Expired: 'Expired',
31
31
  Withdrawn: 'Withdrawn',
32
32
  Removed: 'Removed',
33
- Archived: 'Archived'
33
+ Archived: 'Archived',
34
+ Suspended: 'Suspended'
35
+ };
36
+ /**
37
+ * @export
38
+ */
39
+ exports.GetCourseEnrollmentListItemAccessStateEnum = {
40
+ Active: 'active',
41
+ CompletedReview: 'completed_review',
42
+ Expired: 'expired',
43
+ Suspended: 'suspended',
44
+ Failed: 'failed',
45
+ Withdrawn: 'withdrawn',
46
+ Removed: 'removed',
47
+ Archived: 'archived'
34
48
  };
35
49
  /**
36
50
  * @export
@@ -59,6 +73,10 @@ function instanceOfGetCourseEnrollmentListItem(value) {
59
73
  return false;
60
74
  if (!('status' in value) || value['status'] === undefined)
61
75
  return false;
76
+ if (!('accessState' in value) || value['accessState'] === undefined)
77
+ return false;
78
+ if (!('daysUntilExpiry' in value) || value['daysUntilExpiry'] === undefined)
79
+ return false;
62
80
  if (!('userType' in value) || value['userType'] === undefined)
63
81
  return false;
64
82
  if (!('completionDate' in value) || value['completionDate'] === undefined)
@@ -81,6 +99,8 @@ function GetCourseEnrollmentListItemFromJSONTyped(json, ignoreDiscriminator) {
81
99
  'enrollmentDateStart': json['enrollment_date_start'],
82
100
  'enrollmentDateEnd': json['enrollment_date_end'],
83
101
  'status': json['status'],
102
+ 'accessState': json['access_state'],
103
+ 'daysUntilExpiry': json['days_until_expiry'],
84
104
  'userType': json['user_type'],
85
105
  'completionDate': json['completion_date'],
86
106
  };
@@ -101,6 +121,8 @@ function GetCourseEnrollmentListItemToJSONTyped(value, ignoreDiscriminator = fal
101
121
  'enrollment_date_start': value['enrollmentDateStart'],
102
122
  'enrollment_date_end': value['enrollmentDateEnd'],
103
123
  'status': value['status'],
124
+ 'access_state': value['accessState'],
125
+ 'days_until_expiry': value['daysUntilExpiry'],
104
126
  'user_type': value['userType'],
105
127
  'completion_date': value['completionDate'],
106
128
  };
@@ -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}
@@ -18,6 +18,7 @@ exports.PostContentSessionFromJSON = PostContentSessionFromJSON;
18
18
  exports.PostContentSessionFromJSONTyped = PostContentSessionFromJSONTyped;
19
19
  exports.PostContentSessionToJSON = PostContentSessionToJSON;
20
20
  exports.PostContentSessionToJSONTyped = PostContentSessionToJSONTyped;
21
+ const ContentLaunchMode_1 = require("./ContentLaunchMode");
21
22
  /**
22
23
  * Check if a given object implements the PostContentSession interface.
23
24
  */
@@ -28,6 +29,8 @@ function instanceOfPostContentSession(value) {
28
29
  return false;
29
30
  if (!('launchUrl' in value) || value['launchUrl'] === undefined)
30
31
  return false;
32
+ if (!('launchMode' in value) || value['launchMode'] === undefined)
33
+ return false;
31
34
  if (!('createdAt' in value) || value['createdAt'] === undefined)
32
35
  return false;
33
36
  return true;
@@ -43,6 +46,7 @@ function PostContentSessionFromJSONTyped(json, ignoreDiscriminator) {
43
46
  'contentId': json['content_id'],
44
47
  'userId': json['user_id'],
45
48
  'launchUrl': json['launch_url'],
49
+ 'launchMode': (0, ContentLaunchMode_1.ContentLaunchModeFromJSON)(json['launch_mode']),
46
50
  'createdAt': json['created_at'],
47
51
  'playerSessionId': json['player_session_id'] == null ? undefined : json['player_session_id'],
48
52
  };
@@ -58,6 +62,7 @@ function PostContentSessionToJSONTyped(value, ignoreDiscriminator = false) {
58
62
  'content_id': value['contentId'],
59
63
  'user_id': value['userId'],
60
64
  'launch_url': value['launchUrl'],
65
+ 'launch_mode': (0, ContentLaunchMode_1.ContentLaunchModeToJSON)(value['launchMode']),
61
66
  'created_at': value['createdAt'],
62
67
  'player_session_id': value['playerSessionId'],
63
68
  };
@@ -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
  */
@@ -13,11 +13,20 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.PostCourseAccessPolicyTypeEnum = void 0;
16
17
  exports.instanceOfPostCourse = instanceOfPostCourse;
17
18
  exports.PostCourseFromJSON = PostCourseFromJSON;
18
19
  exports.PostCourseFromJSONTyped = PostCourseFromJSONTyped;
19
20
  exports.PostCourseToJSON = PostCourseToJSON;
20
21
  exports.PostCourseToJSONTyped = PostCourseToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.PostCourseAccessPolicyTypeEnum = {
26
+ DurationDays: 'duration_days',
27
+ FixedEndDate: 'fixed_end_date',
28
+ NeverExpires: 'never_expires'
29
+ };
21
30
  /**
22
31
  * Check if a given object implements the PostCourse interface.
23
32
  */
@@ -38,6 +47,9 @@ function PostCourseFromJSONTyped(json, ignoreDiscriminator) {
38
47
  return {
39
48
  'name': json['name'],
40
49
  'description': json['description'],
50
+ 'accessPolicyType': json['access_policy_type'] == null ? undefined : json['access_policy_type'],
51
+ 'accessDurationDays': json['access_duration_days'] == null ? undefined : json['access_duration_days'],
52
+ 'accessFixedEndAt': json['access_fixed_end_at'] == null ? undefined : json['access_fixed_end_at'],
41
53
  };
42
54
  }
43
55
  function PostCourseToJSON(json) {
@@ -50,5 +62,8 @@ function PostCourseToJSONTyped(value, ignoreDiscriminator = false) {
50
62
  return {
51
63
  'name': value['name'],
52
64
  'description': value['description'],
65
+ 'access_policy_type': value['accessPolicyType'],
66
+ 'access_duration_days': value['accessDurationDays'],
67
+ 'access_fixed_end_at': value['accessFixedEndAt'],
53
68
  };
54
69
  }
@@ -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
  */