@easyedu/js-lsm-api 1.51.0 → 1.53.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 (91) hide show
  1. package/.openapi-generator/FILES +26 -0
  2. package/README.md +30 -2
  3. package/dist/apis/CourseCatalogApi.d.ts +138 -0
  4. package/dist/apis/CourseCatalogApi.js +352 -0
  5. package/dist/apis/CourseShareApi.d.ts +153 -0
  6. package/dist/apis/CourseShareApi.js +385 -0
  7. package/dist/apis/PortalSublicenseApi.d.ts +36 -0
  8. package/dist/apis/PortalSublicenseApi.js +79 -0
  9. package/dist/apis/index.d.ts +3 -0
  10. package/dist/apis/index.js +3 -0
  11. package/dist/esm/apis/CourseCatalogApi.d.ts +138 -0
  12. package/dist/esm/apis/CourseCatalogApi.js +348 -0
  13. package/dist/esm/apis/CourseShareApi.d.ts +153 -0
  14. package/dist/esm/apis/CourseShareApi.js +381 -0
  15. package/dist/esm/apis/PortalSublicenseApi.d.ts +36 -0
  16. package/dist/esm/apis/PortalSublicenseApi.js +75 -0
  17. package/dist/esm/apis/index.d.ts +3 -0
  18. package/dist/esm/apis/index.js +3 -0
  19. package/dist/esm/models/CourseCatalog.d.ts +44 -0
  20. package/dist/esm/models/CourseCatalog.js +51 -0
  21. package/dist/esm/models/CourseShare.d.ts +88 -0
  22. package/dist/esm/models/CourseShare.js +85 -0
  23. package/dist/esm/models/PortalSublicense.d.ts +65 -0
  24. package/dist/esm/models/PortalSublicense.js +61 -0
  25. package/dist/esm/models/PostCourseCatalog.d.ts +38 -0
  26. package/dist/esm/models/PostCourseCatalog.js +45 -0
  27. package/dist/esm/models/PostOfferCatalog.d.ts +59 -0
  28. package/dist/esm/models/PostOfferCatalog.js +59 -0
  29. package/dist/esm/models/PostOfferCatalogResponse.d.ts +32 -0
  30. package/dist/esm/models/PostOfferCatalogResponse.js +43 -0
  31. package/dist/esm/models/PostOfferCourse.d.ts +59 -0
  32. package/dist/esm/models/PostOfferCourse.js +59 -0
  33. package/dist/esm/models/PostOfferCourseResponse.d.ts +49 -0
  34. package/dist/esm/models/PostOfferCourseResponse.js +57 -0
  35. package/dist/esm/models/PutCourseCatalog.d.ts +38 -0
  36. package/dist/esm/models/PutCourseCatalog.js +43 -0
  37. package/dist/esm/models/PutPortalSublicense.d.ts +46 -0
  38. package/dist/esm/models/PutPortalSublicense.js +45 -0
  39. package/dist/esm/models/index.d.ts +10 -0
  40. package/dist/esm/models/index.js +10 -0
  41. package/dist/models/CourseCatalog.d.ts +44 -0
  42. package/dist/models/CourseCatalog.js +58 -0
  43. package/dist/models/CourseShare.d.ts +88 -0
  44. package/dist/models/CourseShare.js +93 -0
  45. package/dist/models/PortalSublicense.d.ts +65 -0
  46. package/dist/models/PortalSublicense.js +69 -0
  47. package/dist/models/PostCourseCatalog.d.ts +38 -0
  48. package/dist/models/PostCourseCatalog.js +52 -0
  49. package/dist/models/PostOfferCatalog.d.ts +59 -0
  50. package/dist/models/PostOfferCatalog.js +67 -0
  51. package/dist/models/PostOfferCatalogResponse.d.ts +32 -0
  52. package/dist/models/PostOfferCatalogResponse.js +50 -0
  53. package/dist/models/PostOfferCourse.d.ts +59 -0
  54. package/dist/models/PostOfferCourse.js +67 -0
  55. package/dist/models/PostOfferCourseResponse.d.ts +49 -0
  56. package/dist/models/PostOfferCourseResponse.js +65 -0
  57. package/dist/models/PutCourseCatalog.d.ts +38 -0
  58. package/dist/models/PutCourseCatalog.js +50 -0
  59. package/dist/models/PutPortalSublicense.d.ts +46 -0
  60. package/dist/models/PutPortalSublicense.js +52 -0
  61. package/dist/models/index.d.ts +10 -0
  62. package/dist/models/index.js +10 -0
  63. package/docs/CourseCatalog.md +38 -0
  64. package/docs/CourseCatalogApi.md +544 -0
  65. package/docs/CourseShare.md +46 -0
  66. package/docs/CourseShareApi.md +609 -0
  67. package/docs/PortalSublicense.md +42 -0
  68. package/docs/PortalSublicenseApi.md +81 -0
  69. package/docs/PostCourseCatalog.md +36 -0
  70. package/docs/PostOfferCatalog.md +40 -0
  71. package/docs/PostOfferCatalogResponse.md +34 -0
  72. package/docs/PostOfferCourse.md +40 -0
  73. package/docs/PostOfferCourseResponse.md +36 -0
  74. package/docs/PutCourseCatalog.md +36 -0
  75. package/docs/PutPortalSublicense.md +39 -0
  76. package/package.json +1 -1
  77. package/src/apis/CourseCatalogApi.ts +447 -0
  78. package/src/apis/CourseShareApi.ts +480 -0
  79. package/src/apis/PortalSublicenseApi.ts +95 -0
  80. package/src/apis/index.ts +3 -0
  81. package/src/models/CourseCatalog.ts +84 -0
  82. package/src/models/CourseShare.ts +144 -0
  83. package/src/models/PortalSublicense.ts +111 -0
  84. package/src/models/PostCourseCatalog.ts +74 -0
  85. package/src/models/PostOfferCatalog.ts +103 -0
  86. package/src/models/PostOfferCatalogResponse.ts +66 -0
  87. package/src/models/PostOfferCourse.ts +103 -0
  88. package/src/models/PostOfferCourseResponse.ts +89 -0
  89. package/src/models/PutCourseCatalog.ts +73 -0
  90. package/src/models/PutPortalSublicense.ts +83 -0
  91. package/src/models/index.ts +10 -0
@@ -0,0 +1,144 @@
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 CourseShare
20
+ */
21
+ export interface CourseShare {
22
+ /**
23
+ * External ID (UUID) of the share
24
+ * @type {string}
25
+ * @memberof CourseShare
26
+ */
27
+ id: string;
28
+ /**
29
+ * Internal ID of the offering portal
30
+ * @type {number}
31
+ * @memberof CourseShare
32
+ */
33
+ sourcePortalId: number;
34
+ /**
35
+ * Internal ID of the receiving portal
36
+ * @type {number}
37
+ * @memberof CourseShare
38
+ */
39
+ targetPortalId: number;
40
+ /**
41
+ * Internal ID of the offered course
42
+ * @type {number}
43
+ * @memberof CourseShare
44
+ */
45
+ courseId: number;
46
+ /**
47
+ *
48
+ * @type {CourseShareAllowedModeEnum}
49
+ * @memberof CourseShare
50
+ */
51
+ allowedMode: CourseShareAllowedModeEnum;
52
+ /**
53
+ *
54
+ * @type {CourseShareStateEnum}
55
+ * @memberof CourseShare
56
+ */
57
+ state: CourseShareStateEnum;
58
+ /**
59
+ *
60
+ * @type {boolean}
61
+ * @memberof CourseShare
62
+ */
63
+ allowResharing: boolean;
64
+ }
65
+
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const CourseShareAllowedModeEnum = {
71
+ Mirror: 'Mirror',
72
+ Clone: 'Clone',
73
+ Either: 'Either'
74
+ } as const;
75
+ export type CourseShareAllowedModeEnum = typeof CourseShareAllowedModeEnum[keyof typeof CourseShareAllowedModeEnum];
76
+
77
+ /**
78
+ * @export
79
+ */
80
+ export const CourseShareStateEnum = {
81
+ Offered: 'Offered',
82
+ AcceptedMirror: 'AcceptedMirror',
83
+ AcceptedClone: 'AcceptedClone',
84
+ Declined: 'Declined',
85
+ Revoked: 'Revoked'
86
+ } as const;
87
+ export type CourseShareStateEnum = typeof CourseShareStateEnum[keyof typeof CourseShareStateEnum];
88
+
89
+
90
+ /**
91
+ * Check if a given object implements the CourseShare interface.
92
+ */
93
+ export function instanceOfCourseShare(value: object): value is CourseShare {
94
+ if (!('id' in value) || value['id'] === undefined) return false;
95
+ if (!('sourcePortalId' in value) || value['sourcePortalId'] === undefined) return false;
96
+ if (!('targetPortalId' in value) || value['targetPortalId'] === undefined) return false;
97
+ if (!('courseId' in value) || value['courseId'] === undefined) return false;
98
+ if (!('allowedMode' in value) || value['allowedMode'] === undefined) return false;
99
+ if (!('state' in value) || value['state'] === undefined) return false;
100
+ if (!('allowResharing' in value) || value['allowResharing'] === undefined) return false;
101
+ return true;
102
+ }
103
+
104
+ export function CourseShareFromJSON(json: any): CourseShare {
105
+ return CourseShareFromJSONTyped(json, false);
106
+ }
107
+
108
+ export function CourseShareFromJSONTyped(json: any, ignoreDiscriminator: boolean): CourseShare {
109
+ if (json == null) {
110
+ return json;
111
+ }
112
+ return {
113
+
114
+ 'id': json['id'],
115
+ 'sourcePortalId': json['source_portal_id'],
116
+ 'targetPortalId': json['target_portal_id'],
117
+ 'courseId': json['course_id'],
118
+ 'allowedMode': json['allowed_mode'],
119
+ 'state': json['state'],
120
+ 'allowResharing': json['allow_resharing'],
121
+ };
122
+ }
123
+
124
+ export function CourseShareToJSON(json: any): CourseShare {
125
+ return CourseShareToJSONTyped(json, false);
126
+ }
127
+
128
+ export function CourseShareToJSONTyped(value?: CourseShare | null, ignoreDiscriminator: boolean = false): any {
129
+ if (value == null) {
130
+ return value;
131
+ }
132
+
133
+ return {
134
+
135
+ 'id': value['id'],
136
+ 'source_portal_id': value['sourcePortalId'],
137
+ 'target_portal_id': value['targetPortalId'],
138
+ 'course_id': value['courseId'],
139
+ 'allowed_mode': value['allowedMode'],
140
+ 'state': value['state'],
141
+ 'allow_resharing': value['allowResharing'],
142
+ };
143
+ }
144
+
@@ -0,0 +1,111 @@
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 PortalSublicense
20
+ */
21
+ export interface PortalSublicense {
22
+ /**
23
+ * Maximum active enrollments. null = unlimited.
24
+ * @type {number}
25
+ * @memberof PortalSublicense
26
+ */
27
+ seatLimit?: number | null;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof PortalSublicense
32
+ */
33
+ licenseStartAt?: number | null;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof PortalSublicense
38
+ */
39
+ licenseEndAt?: number | null;
40
+ /**
41
+ *
42
+ * @type {PortalSublicenseLicenseStateEnum}
43
+ * @memberof PortalSublicense
44
+ */
45
+ licenseState: PortalSublicenseLicenseStateEnum;
46
+ /**
47
+ * Current count of non-archived enrollments in this portal
48
+ * @type {number}
49
+ * @memberof PortalSublicense
50
+ */
51
+ activeEnrollmentCount: number;
52
+ }
53
+
54
+
55
+ /**
56
+ * @export
57
+ */
58
+ export const PortalSublicenseLicenseStateEnum = {
59
+ Active: 'Active',
60
+ Suspended: 'Suspended',
61
+ Expired: 'Expired'
62
+ } as const;
63
+ export type PortalSublicenseLicenseStateEnum = typeof PortalSublicenseLicenseStateEnum[keyof typeof PortalSublicenseLicenseStateEnum];
64
+
65
+
66
+ /**
67
+ * Check if a given object implements the PortalSublicense interface.
68
+ */
69
+ export function instanceOfPortalSublicense(value: object): value is PortalSublicense {
70
+ if (!('licenseState' in value) || value['licenseState'] === undefined) return false;
71
+ if (!('activeEnrollmentCount' in value) || value['activeEnrollmentCount'] === undefined) return false;
72
+ return true;
73
+ }
74
+
75
+ export function PortalSublicenseFromJSON(json: any): PortalSublicense {
76
+ return PortalSublicenseFromJSONTyped(json, false);
77
+ }
78
+
79
+ export function PortalSublicenseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PortalSublicense {
80
+ if (json == null) {
81
+ return json;
82
+ }
83
+ return {
84
+
85
+ 'seatLimit': json['seat_limit'] == null ? undefined : json['seat_limit'],
86
+ 'licenseStartAt': json['license_start_at'] == null ? undefined : json['license_start_at'],
87
+ 'licenseEndAt': json['license_end_at'] == null ? undefined : json['license_end_at'],
88
+ 'licenseState': json['license_state'],
89
+ 'activeEnrollmentCount': json['active_enrollment_count'],
90
+ };
91
+ }
92
+
93
+ export function PortalSublicenseToJSON(json: any): PortalSublicense {
94
+ return PortalSublicenseToJSONTyped(json, false);
95
+ }
96
+
97
+ export function PortalSublicenseToJSONTyped(value?: PortalSublicense | null, ignoreDiscriminator: boolean = false): any {
98
+ if (value == null) {
99
+ return value;
100
+ }
101
+
102
+ return {
103
+
104
+ 'seat_limit': value['seatLimit'],
105
+ 'license_start_at': value['licenseStartAt'],
106
+ 'license_end_at': value['licenseEndAt'],
107
+ 'license_state': value['licenseState'],
108
+ 'active_enrollment_count': value['activeEnrollmentCount'],
109
+ };
110
+ }
111
+
@@ -0,0 +1,74 @@
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 PostCourseCatalog
20
+ */
21
+ export interface PostCourseCatalog {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof PostCourseCatalog
26
+ */
27
+ name: string;
28
+ /**
29
+ * Optional, defaults to empty string
30
+ * @type {string}
31
+ * @memberof PostCourseCatalog
32
+ */
33
+ description?: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the PostCourseCatalog interface.
38
+ */
39
+ export function instanceOfPostCourseCatalog(value: object): value is PostCourseCatalog {
40
+ if (!('name' in value) || value['name'] === undefined) return false;
41
+ return true;
42
+ }
43
+
44
+ export function PostCourseCatalogFromJSON(json: any): PostCourseCatalog {
45
+ return PostCourseCatalogFromJSONTyped(json, false);
46
+ }
47
+
48
+ export function PostCourseCatalogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostCourseCatalog {
49
+ if (json == null) {
50
+ return json;
51
+ }
52
+ return {
53
+
54
+ 'name': json['name'],
55
+ 'description': json['description'] == null ? undefined : json['description'],
56
+ };
57
+ }
58
+
59
+ export function PostCourseCatalogToJSON(json: any): PostCourseCatalog {
60
+ return PostCourseCatalogToJSONTyped(json, false);
61
+ }
62
+
63
+ export function PostCourseCatalogToJSONTyped(value?: PostCourseCatalog | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'name': value['name'],
71
+ 'description': value['description'],
72
+ };
73
+ }
74
+
@@ -0,0 +1,103 @@
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 PostOfferCatalog
20
+ */
21
+ export interface PostOfferCatalog {
22
+ /**
23
+ * External ID of the target (descendant) portal
24
+ * @type {string}
25
+ * @memberof PostOfferCatalog
26
+ */
27
+ targetPortalId: string;
28
+ /**
29
+ *
30
+ * @type {PostOfferCatalogAllowedModeEnum}
31
+ * @memberof PostOfferCatalog
32
+ */
33
+ allowedMode: PostOfferCatalogAllowedModeEnum;
34
+ /**
35
+ *
36
+ * @type {boolean}
37
+ * @memberof PostOfferCatalog
38
+ */
39
+ allowResharing?: boolean;
40
+ /**
41
+ * Per-share seat cap applied to each generated offer, null = unlimited
42
+ * @type {number}
43
+ * @memberof PostOfferCatalog
44
+ */
45
+ seatLimit?: number | null;
46
+ }
47
+
48
+
49
+ /**
50
+ * @export
51
+ */
52
+ export const PostOfferCatalogAllowedModeEnum = {
53
+ Mirror: 'mirror',
54
+ Clone: 'clone',
55
+ Either: 'either'
56
+ } as const;
57
+ export type PostOfferCatalogAllowedModeEnum = typeof PostOfferCatalogAllowedModeEnum[keyof typeof PostOfferCatalogAllowedModeEnum];
58
+
59
+
60
+ /**
61
+ * Check if a given object implements the PostOfferCatalog interface.
62
+ */
63
+ export function instanceOfPostOfferCatalog(value: object): value is PostOfferCatalog {
64
+ if (!('targetPortalId' in value) || value['targetPortalId'] === undefined) return false;
65
+ if (!('allowedMode' in value) || value['allowedMode'] === undefined) return false;
66
+ return true;
67
+ }
68
+
69
+ export function PostOfferCatalogFromJSON(json: any): PostOfferCatalog {
70
+ return PostOfferCatalogFromJSONTyped(json, false);
71
+ }
72
+
73
+ export function PostOfferCatalogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOfferCatalog {
74
+ if (json == null) {
75
+ return json;
76
+ }
77
+ return {
78
+
79
+ 'targetPortalId': json['target_portal_id'],
80
+ 'allowedMode': json['allowed_mode'],
81
+ 'allowResharing': json['allow_resharing'] == null ? undefined : json['allow_resharing'],
82
+ 'seatLimit': json['seat_limit'] == null ? undefined : json['seat_limit'],
83
+ };
84
+ }
85
+
86
+ export function PostOfferCatalogToJSON(json: any): PostOfferCatalog {
87
+ return PostOfferCatalogToJSONTyped(json, false);
88
+ }
89
+
90
+ export function PostOfferCatalogToJSONTyped(value?: PostOfferCatalog | null, ignoreDiscriminator: boolean = false): any {
91
+ if (value == null) {
92
+ return value;
93
+ }
94
+
95
+ return {
96
+
97
+ 'target_portal_id': value['targetPortalId'],
98
+ 'allowed_mode': value['allowedMode'],
99
+ 'allow_resharing': value['allowResharing'],
100
+ 'seat_limit': value['seatLimit'],
101
+ };
102
+ }
103
+
@@ -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 PostOfferCatalogResponse
20
+ */
21
+ export interface PostOfferCatalogResponse {
22
+ /**
23
+ * Number of per-course shares created from this catalog offer
24
+ * @type {number}
25
+ * @memberof PostOfferCatalogResponse
26
+ */
27
+ createdShareCount: number;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the PostOfferCatalogResponse interface.
32
+ */
33
+ export function instanceOfPostOfferCatalogResponse(value: object): value is PostOfferCatalogResponse {
34
+ if (!('createdShareCount' in value) || value['createdShareCount'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function PostOfferCatalogResponseFromJSON(json: any): PostOfferCatalogResponse {
39
+ return PostOfferCatalogResponseFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function PostOfferCatalogResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOfferCatalogResponse {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'createdShareCount': json['created_share_count'],
49
+ };
50
+ }
51
+
52
+ export function PostOfferCatalogResponseToJSON(json: any): PostOfferCatalogResponse {
53
+ return PostOfferCatalogResponseToJSONTyped(json, false);
54
+ }
55
+
56
+ export function PostOfferCatalogResponseToJSONTyped(value?: PostOfferCatalogResponse | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'created_share_count': value['createdShareCount'],
64
+ };
65
+ }
66
+
@@ -0,0 +1,103 @@
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 PostOfferCourse
20
+ */
21
+ export interface PostOfferCourse {
22
+ /**
23
+ * External ID of the target (descendant) portal
24
+ * @type {string}
25
+ * @memberof PostOfferCourse
26
+ */
27
+ targetPortalId: string;
28
+ /**
29
+ *
30
+ * @type {PostOfferCourseAllowedModeEnum}
31
+ * @memberof PostOfferCourse
32
+ */
33
+ allowedMode: PostOfferCourseAllowedModeEnum;
34
+ /**
35
+ *
36
+ * @type {boolean}
37
+ * @memberof PostOfferCourse
38
+ */
39
+ allowResharing?: boolean;
40
+ /**
41
+ * Per-share seat cap, null = unlimited
42
+ * @type {number}
43
+ * @memberof PostOfferCourse
44
+ */
45
+ seatLimit?: number | null;
46
+ }
47
+
48
+
49
+ /**
50
+ * @export
51
+ */
52
+ export const PostOfferCourseAllowedModeEnum = {
53
+ Mirror: 'mirror',
54
+ Clone: 'clone',
55
+ Either: 'either'
56
+ } as const;
57
+ export type PostOfferCourseAllowedModeEnum = typeof PostOfferCourseAllowedModeEnum[keyof typeof PostOfferCourseAllowedModeEnum];
58
+
59
+
60
+ /**
61
+ * Check if a given object implements the PostOfferCourse interface.
62
+ */
63
+ export function instanceOfPostOfferCourse(value: object): value is PostOfferCourse {
64
+ if (!('targetPortalId' in value) || value['targetPortalId'] === undefined) return false;
65
+ if (!('allowedMode' in value) || value['allowedMode'] === undefined) return false;
66
+ return true;
67
+ }
68
+
69
+ export function PostOfferCourseFromJSON(json: any): PostOfferCourse {
70
+ return PostOfferCourseFromJSONTyped(json, false);
71
+ }
72
+
73
+ export function PostOfferCourseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOfferCourse {
74
+ if (json == null) {
75
+ return json;
76
+ }
77
+ return {
78
+
79
+ 'targetPortalId': json['target_portal_id'],
80
+ 'allowedMode': json['allowed_mode'],
81
+ 'allowResharing': json['allow_resharing'] == null ? undefined : json['allow_resharing'],
82
+ 'seatLimit': json['seat_limit'] == null ? undefined : json['seat_limit'],
83
+ };
84
+ }
85
+
86
+ export function PostOfferCourseToJSON(json: any): PostOfferCourse {
87
+ return PostOfferCourseToJSONTyped(json, false);
88
+ }
89
+
90
+ export function PostOfferCourseToJSONTyped(value?: PostOfferCourse | null, ignoreDiscriminator: boolean = false): any {
91
+ if (value == null) {
92
+ return value;
93
+ }
94
+
95
+ return {
96
+
97
+ 'target_portal_id': value['targetPortalId'],
98
+ 'allowed_mode': value['allowedMode'],
99
+ 'allow_resharing': value['allowResharing'],
100
+ 'seat_limit': value['seatLimit'],
101
+ };
102
+ }
103
+
@@ -0,0 +1,89 @@
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 PostOfferCourseResponse
20
+ */
21
+ export interface PostOfferCourseResponse {
22
+ /**
23
+ * External ID of the new course_share row
24
+ * @type {string}
25
+ * @memberof PostOfferCourseResponse
26
+ */
27
+ id: string;
28
+ /**
29
+ *
30
+ * @type {PostOfferCourseResponseStateEnum}
31
+ * @memberof PostOfferCourseResponse
32
+ */
33
+ state: PostOfferCourseResponseStateEnum;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const PostOfferCourseResponseStateEnum = {
41
+ Offered: 'Offered',
42
+ AcceptedMirror: 'AcceptedMirror',
43
+ AcceptedClone: 'AcceptedClone',
44
+ Declined: 'Declined',
45
+ Revoked: 'Revoked'
46
+ } as const;
47
+ export type PostOfferCourseResponseStateEnum = typeof PostOfferCourseResponseStateEnum[keyof typeof PostOfferCourseResponseStateEnum];
48
+
49
+
50
+ /**
51
+ * Check if a given object implements the PostOfferCourseResponse interface.
52
+ */
53
+ export function instanceOfPostOfferCourseResponse(value: object): value is PostOfferCourseResponse {
54
+ if (!('id' in value) || value['id'] === undefined) return false;
55
+ if (!('state' in value) || value['state'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function PostOfferCourseResponseFromJSON(json: any): PostOfferCourseResponse {
60
+ return PostOfferCourseResponseFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function PostOfferCourseResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOfferCourseResponse {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'id': json['id'],
70
+ 'state': json['state'],
71
+ };
72
+ }
73
+
74
+ export function PostOfferCourseResponseToJSON(json: any): PostOfferCourseResponse {
75
+ return PostOfferCourseResponseToJSONTyped(json, false);
76
+ }
77
+
78
+ export function PostOfferCourseResponseToJSONTyped(value?: PostOfferCourseResponse | null, ignoreDiscriminator: boolean = false): any {
79
+ if (value == null) {
80
+ return value;
81
+ }
82
+
83
+ return {
84
+
85
+ 'id': value['id'],
86
+ 'state': value['state'],
87
+ };
88
+ }
89
+