@easyedu/js-lsm-api 1.55.0 → 1.57.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 (77) hide show
  1. package/.openapi-generator/FILES +8 -0
  2. package/README.md +11 -2
  3. package/dist/apis/ContentApi.d.ts +21 -1
  4. package/dist/apis/ContentApi.js +51 -0
  5. package/dist/apis/CourseApi.d.ts +23 -1
  6. package/dist/apis/CourseApi.js +55 -0
  7. package/dist/apis/ModuleApi.d.ts +20 -1
  8. package/dist/apis/ModuleApi.js +47 -0
  9. package/dist/apis/PortalApi.d.ts +32 -1
  10. package/dist/apis/PortalApi.js +99 -0
  11. package/dist/esm/apis/ContentApi.d.ts +21 -1
  12. package/dist/esm/apis/ContentApi.js +52 -1
  13. package/dist/esm/apis/CourseApi.d.ts +23 -1
  14. package/dist/esm/apis/CourseApi.js +56 -1
  15. package/dist/esm/apis/ModuleApi.d.ts +20 -1
  16. package/dist/esm/apis/ModuleApi.js +48 -1
  17. package/dist/esm/apis/PortalApi.d.ts +32 -1
  18. package/dist/esm/apis/PortalApi.js +100 -1
  19. package/dist/esm/models/GetCourseEnrollment.d.ts +15 -1
  20. package/dist/esm/models/GetCourseEnrollment.js +6 -1
  21. package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +5 -0
  22. package/dist/esm/models/GetCourseEnrollmentListItem.js +6 -1
  23. package/dist/esm/models/GetPortal.d.ts +6 -0
  24. package/dist/esm/models/GetPortal.js +2 -0
  25. package/dist/esm/models/GetPortalFaviconUpload.d.ts +32 -0
  26. package/dist/esm/models/GetPortalFaviconUpload.js +43 -0
  27. package/dist/esm/models/PostDuplicate.d.ts +32 -0
  28. package/dist/esm/models/PostDuplicate.js +41 -0
  29. package/dist/esm/models/PostDuplicate1.d.ts +32 -0
  30. package/dist/esm/models/PostDuplicate1.js +41 -0
  31. package/dist/esm/models/PostDuplicate2.d.ts +32 -0
  32. package/dist/esm/models/PostDuplicate2.js +41 -0
  33. package/dist/esm/models/PutCourseEnrollment.d.ts +7 -1
  34. package/dist/esm/models/PutCourseEnrollment.js +4 -1
  35. package/dist/esm/models/index.d.ts +4 -0
  36. package/dist/esm/models/index.js +4 -0
  37. package/dist/models/GetCourseEnrollment.d.ts +15 -1
  38. package/dist/models/GetCourseEnrollment.js +6 -1
  39. package/dist/models/GetCourseEnrollmentListItem.d.ts +5 -0
  40. package/dist/models/GetCourseEnrollmentListItem.js +6 -1
  41. package/dist/models/GetPortal.d.ts +6 -0
  42. package/dist/models/GetPortal.js +2 -0
  43. package/dist/models/GetPortalFaviconUpload.d.ts +32 -0
  44. package/dist/models/GetPortalFaviconUpload.js +50 -0
  45. package/dist/models/PostDuplicate.d.ts +32 -0
  46. package/dist/models/PostDuplicate.js +48 -0
  47. package/dist/models/PostDuplicate1.d.ts +32 -0
  48. package/dist/models/PostDuplicate1.js +48 -0
  49. package/dist/models/PostDuplicate2.d.ts +32 -0
  50. package/dist/models/PostDuplicate2.js +48 -0
  51. package/dist/models/PutCourseEnrollment.d.ts +7 -1
  52. package/dist/models/PutCourseEnrollment.js +4 -1
  53. package/dist/models/index.d.ts +4 -0
  54. package/dist/models/index.js +4 -0
  55. package/docs/ContentApi.md +78 -0
  56. package/docs/CourseApi.md +86 -2
  57. package/docs/GetPortal.md +2 -0
  58. package/docs/GetPortalFaviconUpload.md +34 -0
  59. package/docs/ModuleApi.md +75 -0
  60. package/docs/PortalApi.md +138 -0
  61. package/docs/PostDuplicate.md +35 -0
  62. package/docs/PostDuplicate1.md +35 -0
  63. package/docs/PostDuplicate2.md +35 -0
  64. package/package.json +1 -1
  65. package/src/apis/ContentApi.ts +76 -0
  66. package/src/apis/CourseApi.ts +78 -0
  67. package/src/apis/ModuleApi.ts +67 -0
  68. package/src/apis/PortalApi.ts +129 -0
  69. package/src/models/GetCourseEnrollment.ts +16 -2
  70. package/src/models/GetCourseEnrollmentListItem.ts +6 -1
  71. package/src/models/GetPortal.ts +8 -0
  72. package/src/models/GetPortalFaviconUpload.ts +66 -0
  73. package/src/models/PostDuplicate.ts +65 -0
  74. package/src/models/PostDuplicate1.ts +65 -0
  75. package/src/models/PostDuplicate2.ts +65 -0
  76. package/src/models/PutCourseEnrollment.ts +8 -2
  77. package/src/models/index.ts +4 -0
@@ -16,6 +16,7 @@
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
18
  GetPortal,
19
+ GetPortalFaviconUpload,
19
20
  GetPortalList,
20
21
  GetPortalLogoUpload,
21
22
  GetPortalUserList,
@@ -26,6 +27,8 @@ import type {
26
27
  import {
27
28
  GetPortalFromJSON,
28
29
  GetPortalToJSON,
30
+ GetPortalFaviconUploadFromJSON,
31
+ GetPortalFaviconUploadToJSON,
29
32
  GetPortalListFromJSON,
30
33
  GetPortalListToJSON,
31
34
  GetPortalLogoUploadFromJSON,
@@ -40,6 +43,10 @@ import {
40
43
  PutPortalBrandingToJSON,
41
44
  } from '../models/index';
42
45
 
46
+ export interface DeletePortalFaviconRequest {
47
+ portalId: string;
48
+ }
49
+
43
50
  export interface DeletePortalLogoRequest {
44
51
  portalId: string;
45
52
  }
@@ -66,6 +73,11 @@ export interface PostPortalRequest {
66
73
  postPortal: PostPortal;
67
74
  }
68
75
 
76
+ export interface PostPortalFaviconUploadRequest {
77
+ portalId: string;
78
+ file: Blob;
79
+ }
80
+
69
81
  export interface PostPortalLogoUploadRequest {
70
82
  portalId: string;
71
83
  file: Blob;
@@ -85,6 +97,50 @@ export interface UpdateSelectedPortalRequest {
85
97
  */
86
98
  export class PortalApi extends runtime.BaseAPI {
87
99
 
100
+ /**
101
+ * Creates request options for deletePortalFavicon without sending the request
102
+ */
103
+ async deletePortalFaviconRequestOpts(requestParameters: DeletePortalFaviconRequest): Promise<runtime.RequestOpts> {
104
+ if (requestParameters['portalId'] == null) {
105
+ throw new runtime.RequiredError(
106
+ 'portalId',
107
+ 'Required parameter "portalId" was null or undefined when calling deletePortalFavicon().'
108
+ );
109
+ }
110
+
111
+ const queryParameters: any = {};
112
+
113
+ const headerParameters: runtime.HTTPHeaders = {};
114
+
115
+
116
+ let urlPath = `/portals/{portalId}/branding/favicon`;
117
+ urlPath = urlPath.replace(`{${"portalId"}}`, encodeURIComponent(String(requestParameters['portalId'])));
118
+
119
+ return {
120
+ path: urlPath,
121
+ method: 'DELETE',
122
+ headers: headerParameters,
123
+ query: queryParameters,
124
+ };
125
+ }
126
+
127
+ /**
128
+ * Remove the portal favicon
129
+ */
130
+ async deletePortalFaviconRaw(requestParameters: DeletePortalFaviconRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
131
+ const requestOptions = await this.deletePortalFaviconRequestOpts(requestParameters);
132
+ const response = await this.request(requestOptions, initOverrides);
133
+
134
+ return new runtime.VoidApiResponse(response);
135
+ }
136
+
137
+ /**
138
+ * Remove the portal favicon
139
+ */
140
+ async deletePortalFavicon(requestParameters: DeletePortalFaviconRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
141
+ await this.deletePortalFaviconRaw(requestParameters, initOverrides);
142
+ }
143
+
88
144
  /**
89
145
  * Creates request options for deletePortalLogo without sending the request
90
146
  */
@@ -377,6 +433,79 @@ export class PortalApi extends runtime.BaseAPI {
377
433
  return await response.value();
378
434
  }
379
435
 
436
+ /**
437
+ * Creates request options for postPortalFaviconUpload without sending the request
438
+ */
439
+ async postPortalFaviconUploadRequestOpts(requestParameters: PostPortalFaviconUploadRequest): Promise<runtime.RequestOpts> {
440
+ if (requestParameters['portalId'] == null) {
441
+ throw new runtime.RequiredError(
442
+ 'portalId',
443
+ 'Required parameter "portalId" was null or undefined when calling postPortalFaviconUpload().'
444
+ );
445
+ }
446
+
447
+ if (requestParameters['file'] == null) {
448
+ throw new runtime.RequiredError(
449
+ 'file',
450
+ 'Required parameter "file" was null or undefined when calling postPortalFaviconUpload().'
451
+ );
452
+ }
453
+
454
+ const queryParameters: any = {};
455
+
456
+ const headerParameters: runtime.HTTPHeaders = {};
457
+
458
+ const consumes: runtime.Consume[] = [
459
+ { contentType: 'multipart/form-data' },
460
+ ];
461
+ // @ts-ignore: canConsumeForm may be unused
462
+ const canConsumeForm = runtime.canConsumeForm(consumes);
463
+
464
+ let formParams: { append(param: string, value: any): any };
465
+ let useForm = false;
466
+ // use FormData to transmit files using content-type "multipart/form-data"
467
+ useForm = canConsumeForm;
468
+ if (useForm) {
469
+ formParams = new FormData();
470
+ } else {
471
+ formParams = new URLSearchParams();
472
+ }
473
+
474
+ if (requestParameters['file'] != null) {
475
+ formParams.append('file', requestParameters['file'] as any);
476
+ }
477
+
478
+
479
+ let urlPath = `/portals/{portalId}/branding/favicon`;
480
+ urlPath = urlPath.replace(`{${"portalId"}}`, encodeURIComponent(String(requestParameters['portalId'])));
481
+
482
+ return {
483
+ path: urlPath,
484
+ method: 'POST',
485
+ headers: headerParameters,
486
+ query: queryParameters,
487
+ body: formParams,
488
+ };
489
+ }
490
+
491
+ /**
492
+ * Upload a favicon image for portal branding
493
+ */
494
+ async postPortalFaviconUploadRaw(requestParameters: PostPortalFaviconUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetPortalFaviconUpload>> {
495
+ const requestOptions = await this.postPortalFaviconUploadRequestOpts(requestParameters);
496
+ const response = await this.request(requestOptions, initOverrides);
497
+
498
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetPortalFaviconUploadFromJSON(jsonValue));
499
+ }
500
+
501
+ /**
502
+ * Upload a favicon image for portal branding
503
+ */
504
+ async postPortalFaviconUpload(requestParameters: PostPortalFaviconUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetPortalFaviconUpload> {
505
+ const response = await this.postPortalFaviconUploadRaw(requestParameters, initOverrides);
506
+ return await response.value();
507
+ }
508
+
380
509
  /**
381
510
  * Creates request options for postPortalLogoUpload without sending the request
382
511
  */
@@ -56,7 +56,16 @@ export interface GetCourseEnrollment {
56
56
  */
57
57
  notes: string | null;
58
58
  /**
59
- * Current status of the enrollment
59
+ * Current status of the enrollment.
60
+ * - Enrolled: registered, no progress yet
61
+ * - InProgress: learner has started at least one content session
62
+ * - Completed: finished successfully
63
+ * - Failed: finished but did not pass
64
+ * - Expired: enrollment_date_end passed before completion
65
+ * - Withdrawn: learner pulled out before completion
66
+ * - Removed: admin-removed enrollment
67
+ * - Archived: historical / read-only (e.g. course share revoked)
68
+ *
60
69
  * @type {GetCourseEnrollmentStatusEnum}
61
70
  * @memberof GetCourseEnrollment
62
71
  */
@@ -81,8 +90,13 @@ export interface GetCourseEnrollment {
81
90
  */
82
91
  export const GetCourseEnrollmentStatusEnum = {
83
92
  Enrolled: 'Enrolled',
93
+ InProgress: 'InProgress',
84
94
  Completed: 'Completed',
85
- Removed: 'Removed'
95
+ Failed: 'Failed',
96
+ Expired: 'Expired',
97
+ Withdrawn: 'Withdrawn',
98
+ Removed: 'Removed',
99
+ Archived: 'Archived'
86
100
  } as const;
87
101
  export type GetCourseEnrollmentStatusEnum = typeof GetCourseEnrollmentStatusEnum[keyof typeof GetCourseEnrollmentStatusEnum];
88
102
 
@@ -87,8 +87,13 @@ export interface GetCourseEnrollmentListItem {
87
87
  */
88
88
  export const GetCourseEnrollmentListItemStatusEnum = {
89
89
  Enrolled: 'Enrolled',
90
+ InProgress: 'InProgress',
90
91
  Completed: 'Completed',
91
- Removed: 'Removed'
92
+ Failed: 'Failed',
93
+ Expired: 'Expired',
94
+ Withdrawn: 'Withdrawn',
95
+ Removed: 'Removed',
96
+ Archived: 'Archived'
92
97
  } as const;
93
98
  export type GetCourseEnrollmentListItemStatusEnum = typeof GetCourseEnrollmentListItemStatusEnum[keyof typeof GetCourseEnrollmentListItemStatusEnum];
94
99
 
@@ -43,6 +43,12 @@ export interface GetPortal {
43
43
  * @memberof GetPortal
44
44
  */
45
45
  logoUrl?: string | null;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof GetPortal
50
+ */
51
+ faviconUrl?: string | null;
46
52
  /**
47
53
  *
48
54
  * @type {string}
@@ -104,6 +110,7 @@ export function GetPortalFromJSONTyped(json: any, ignoreDiscriminator: boolean):
104
110
  'name': json['name'],
105
111
  'parentPortalId': json['parent_portal_id'] == null ? undefined : json['parent_portal_id'],
106
112
  'logoUrl': json['logo_url'] == null ? undefined : json['logo_url'],
113
+ 'faviconUrl': json['favicon_url'] == null ? undefined : json['favicon_url'],
107
114
  'headerBackgroundColor': json['header_background_color'],
108
115
  'headerTextColor': json['header_text_color'],
109
116
  'baseType': json['base_type'] == null ? undefined : json['base_type'],
@@ -125,6 +132,7 @@ export function GetPortalToJSONTyped(value?: GetPortal | null, ignoreDiscriminat
125
132
  'name': value['name'],
126
133
  'parent_portal_id': value['parentPortalId'],
127
134
  'logo_url': value['logoUrl'],
135
+ 'favicon_url': value['faviconUrl'],
128
136
  'header_background_color': value['headerBackgroundColor'],
129
137
  'header_text_color': value['headerTextColor'],
130
138
  'base_type': value['baseType'],
@@ -0,0 +1,66 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface GetPortalFaviconUpload
20
+ */
21
+ export interface GetPortalFaviconUpload {
22
+ /**
23
+ * Presigned URL for the uploaded favicon image
24
+ * @type {string}
25
+ * @memberof GetPortalFaviconUpload
26
+ */
27
+ faviconUrl: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the GetPortalFaviconUpload interface.
32
+ */
33
+ export function instanceOfGetPortalFaviconUpload(value: object): value is GetPortalFaviconUpload {
34
+ if (!('faviconUrl' in value) || value['faviconUrl'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function GetPortalFaviconUploadFromJSON(json: any): GetPortalFaviconUpload {
39
+ return GetPortalFaviconUploadFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function GetPortalFaviconUploadFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetPortalFaviconUpload {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'faviconUrl': json['favicon_url'],
49
+ };
50
+ }
51
+
52
+ export function GetPortalFaviconUploadToJSON(json: any): GetPortalFaviconUpload {
53
+ return GetPortalFaviconUploadToJSONTyped(json, false);
54
+ }
55
+
56
+ export function GetPortalFaviconUploadToJSONTyped(value?: GetPortalFaviconUpload | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'favicon_url': value['faviconUrl'],
64
+ };
65
+ }
66
+
@@ -0,0 +1,65 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Optional body for duplicating a course
18
+ * @export
19
+ * @interface PostDuplicate
20
+ */
21
+ export interface PostDuplicate {
22
+ /**
23
+ * Name for the duplicated course. Defaults to "{original name} (Copy)" if omitted.
24
+ * @type {string}
25
+ * @memberof PostDuplicate
26
+ */
27
+ name?: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the PostDuplicate interface.
32
+ */
33
+ export function instanceOfPostDuplicate(value: object): value is PostDuplicate {
34
+ return true;
35
+ }
36
+
37
+ export function PostDuplicateFromJSON(json: any): PostDuplicate {
38
+ return PostDuplicateFromJSONTyped(json, false);
39
+ }
40
+
41
+ export function PostDuplicateFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostDuplicate {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+
47
+ 'name': json['name'] == null ? undefined : json['name'],
48
+ };
49
+ }
50
+
51
+ export function PostDuplicateToJSON(json: any): PostDuplicate {
52
+ return PostDuplicateToJSONTyped(json, false);
53
+ }
54
+
55
+ export function PostDuplicateToJSONTyped(value?: PostDuplicate | null, ignoreDiscriminator: boolean = false): any {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+
60
+ return {
61
+
62
+ 'name': value['name'],
63
+ };
64
+ }
65
+
@@ -0,0 +1,65 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Optional body for duplicating a module
18
+ * @export
19
+ * @interface PostDuplicate1
20
+ */
21
+ export interface PostDuplicate1 {
22
+ /**
23
+ * Name for the duplicated module. Defaults to "{original name} (Copy)" if omitted.
24
+ * @type {string}
25
+ * @memberof PostDuplicate1
26
+ */
27
+ name?: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the PostDuplicate1 interface.
32
+ */
33
+ export function instanceOfPostDuplicate1(value: object): value is PostDuplicate1 {
34
+ return true;
35
+ }
36
+
37
+ export function PostDuplicate1FromJSON(json: any): PostDuplicate1 {
38
+ return PostDuplicate1FromJSONTyped(json, false);
39
+ }
40
+
41
+ export function PostDuplicate1FromJSONTyped(json: any, ignoreDiscriminator: boolean): PostDuplicate1 {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+
47
+ 'name': json['name'] == null ? undefined : json['name'],
48
+ };
49
+ }
50
+
51
+ export function PostDuplicate1ToJSON(json: any): PostDuplicate1 {
52
+ return PostDuplicate1ToJSONTyped(json, false);
53
+ }
54
+
55
+ export function PostDuplicate1ToJSONTyped(value?: PostDuplicate1 | null, ignoreDiscriminator: boolean = false): any {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+
60
+ return {
61
+
62
+ 'name': value['name'],
63
+ };
64
+ }
65
+
@@ -0,0 +1,65 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Optional body for duplicating a content item
18
+ * @export
19
+ * @interface PostDuplicate2
20
+ */
21
+ export interface PostDuplicate2 {
22
+ /**
23
+ * Name for the duplicated content. Defaults to "{original name} (Copy)" if omitted.
24
+ * @type {string}
25
+ * @memberof PostDuplicate2
26
+ */
27
+ name?: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the PostDuplicate2 interface.
32
+ */
33
+ export function instanceOfPostDuplicate2(value: object): value is PostDuplicate2 {
34
+ return true;
35
+ }
36
+
37
+ export function PostDuplicate2FromJSON(json: any): PostDuplicate2 {
38
+ return PostDuplicate2FromJSONTyped(json, false);
39
+ }
40
+
41
+ export function PostDuplicate2FromJSONTyped(json: any, ignoreDiscriminator: boolean): PostDuplicate2 {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+
47
+ 'name': json['name'] == null ? undefined : json['name'],
48
+ };
49
+ }
50
+
51
+ export function PostDuplicate2ToJSON(json: any): PostDuplicate2 {
52
+ return PostDuplicate2ToJSONTyped(json, false);
53
+ }
54
+
55
+ export function PostDuplicate2ToJSONTyped(value?: PostDuplicate2 | null, ignoreDiscriminator: boolean = false): any {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+
60
+ return {
61
+
62
+ 'name': value['name'],
63
+ };
64
+ }
65
+
@@ -20,7 +20,10 @@ import { mapValues } from '../runtime';
20
20
  */
21
21
  export interface PutCourseEnrollment {
22
22
  /**
23
- * Current status of the enrollment
23
+ * Target status for the enrollment. System-managed statuses (InProgress, Expired)
24
+ * cannot be set via this endpoint. Reopening a terminal enrollment to `Enrolled`
25
+ * requires `enrollment_date_end` to still be in the future.
26
+ *
24
27
  * @type {PutCourseEnrollmentStatusEnum}
25
28
  * @memberof PutCourseEnrollment
26
29
  */
@@ -52,7 +55,10 @@ export interface PutCourseEnrollment {
52
55
  export const PutCourseEnrollmentStatusEnum = {
53
56
  Enrolled: 'Enrolled',
54
57
  Completed: 'Completed',
55
- Removed: 'Removed'
58
+ Failed: 'Failed',
59
+ Withdrawn: 'Withdrawn',
60
+ Removed: 'Removed',
61
+ Archived: 'Archived'
56
62
  } as const;
57
63
  export type PutCourseEnrollmentStatusEnum = typeof PutCourseEnrollmentStatusEnum[keyof typeof PutCourseEnrollmentStatusEnum];
58
64
 
@@ -72,6 +72,7 @@ export * from './GetPortal';
72
72
  export * from './GetPortalBasicReporting';
73
73
  export * from './GetPortalBasicReportingCertificates';
74
74
  export * from './GetPortalBasicReportingPortalInfo';
75
+ export * from './GetPortalFaviconUpload';
75
76
  export * from './GetPortalList';
76
77
  export * from './GetPortalLogoUpload';
77
78
  export * from './GetPortalStudentReporting';
@@ -175,6 +176,9 @@ export * from './PostCourse';
175
176
  export * from './PostCourseCatalog';
176
177
  export * from './PostCourseEnrollment';
177
178
  export * from './PostCourseExport';
179
+ export * from './PostDuplicate';
180
+ export * from './PostDuplicate1';
181
+ export * from './PostDuplicate2';
178
182
  export * from './PostLogin';
179
183
  export * from './PostManualQuestionSelection';
180
184
  export * from './PostMessage';