@easyedu/js-lsm-api 1.132.0 → 1.134.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 (170) hide show
  1. package/.openapi-generator/FILES +6 -0
  2. package/README.md +8 -3
  3. package/dist/apis/IntegrationApi.d.ts +7 -3
  4. package/dist/apis/IntegrationApi.js +10 -5
  5. package/dist/apis/PortalApi.d.ts +30 -0
  6. package/dist/apis/PortalApi.js +63 -1
  7. package/dist/apis/QuestionApi.d.ts +19 -0
  8. package/dist/apis/QuestionApi.js +44 -0
  9. package/dist/esm/apis/IntegrationApi.d.ts +7 -3
  10. package/dist/esm/apis/IntegrationApi.js +10 -5
  11. package/dist/esm/apis/PortalApi.d.ts +30 -0
  12. package/dist/esm/apis/PortalApi.js +62 -0
  13. package/dist/esm/apis/QuestionApi.d.ts +19 -0
  14. package/dist/esm/apis/QuestionApi.js +44 -0
  15. package/dist/esm/models/GetCourse.d.ts +6 -0
  16. package/dist/esm/models/GetCourse.js +4 -0
  17. package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +6 -0
  18. package/dist/esm/models/GetCourseEnrollmentListItem.js +2 -0
  19. package/dist/esm/models/GetPortalUser.d.ts +6 -0
  20. package/dist/esm/models/GetPortalUser.js +4 -0
  21. package/dist/esm/models/GetResource.d.ts +6 -0
  22. package/dist/esm/models/GetResource.js +4 -0
  23. package/dist/esm/models/GetResourceUsageCoursesInner.d.ts +6 -0
  24. package/dist/esm/models/GetResourceUsageCoursesInner.js +4 -0
  25. package/dist/esm/models/IntegrationEventCourse.d.ts +6 -0
  26. package/dist/esm/models/IntegrationEventCourse.js +2 -0
  27. package/dist/esm/models/IntegrationEventLearner.d.ts +6 -0
  28. package/dist/esm/models/IntegrationEventLearner.js +2 -0
  29. package/dist/esm/models/IntegrationEventUser.d.ts +6 -0
  30. package/dist/esm/models/IntegrationEventUser.js +2 -0
  31. package/dist/esm/models/PostCourse.d.ts +6 -0
  32. package/dist/esm/models/PostCourse.js +2 -0
  33. package/dist/esm/models/PostPortalInvite.d.ts +6 -0
  34. package/dist/esm/models/PostPortalInvite.js +2 -0
  35. package/dist/esm/models/PostQuestionTags.d.ts +38 -0
  36. package/dist/esm/models/PostQuestionTags.js +47 -0
  37. package/dist/esm/models/PostQuestionTagsResponse.d.ts +32 -0
  38. package/dist/esm/models/PostQuestionTagsResponse.js +43 -0
  39. package/dist/esm/models/PostResource.d.ts +6 -0
  40. package/dist/esm/models/PostResource.js +2 -0
  41. package/dist/esm/models/PostRichTextAssetUpload.d.ts +6 -0
  42. package/dist/esm/models/PostRichTextAssetUpload.js +2 -0
  43. package/dist/esm/models/PostZapierEnrollment.d.ts +16 -4
  44. package/dist/esm/models/PostZapierEnrollment.js +6 -6
  45. package/dist/esm/models/PostZapierShopifyCourseMapping.d.ts +8 -2
  46. package/dist/esm/models/PostZapierShopifyCourseMapping.js +3 -3
  47. package/dist/esm/models/PostZapierUser.d.ts +6 -0
  48. package/dist/esm/models/PostZapierUser.js +2 -0
  49. package/dist/esm/models/PutCourse.d.ts +6 -0
  50. package/dist/esm/models/PutCourse.js +2 -0
  51. package/dist/esm/models/PutPortalUser.d.ts +32 -0
  52. package/dist/esm/models/PutPortalUser.js +41 -0
  53. package/dist/esm/models/PutResource.d.ts +6 -0
  54. package/dist/esm/models/PutResource.js +2 -0
  55. package/dist/esm/models/RichTextAsset.d.ts +6 -0
  56. package/dist/esm/models/RichTextAsset.js +2 -0
  57. package/dist/esm/models/ZapierCourse.d.ts +6 -0
  58. package/dist/esm/models/ZapierCourse.js +4 -0
  59. package/dist/esm/models/ZapierEnrollment.d.ts +12 -0
  60. package/dist/esm/models/ZapierEnrollment.js +8 -0
  61. package/dist/esm/models/ZapierUser.d.ts +6 -0
  62. package/dist/esm/models/ZapierUser.js +4 -0
  63. package/dist/esm/models/index.d.ts +3 -0
  64. package/dist/esm/models/index.js +3 -0
  65. package/dist/models/GetCourse.d.ts +6 -0
  66. package/dist/models/GetCourse.js +4 -0
  67. package/dist/models/GetCourseEnrollmentListItem.d.ts +6 -0
  68. package/dist/models/GetCourseEnrollmentListItem.js +2 -0
  69. package/dist/models/GetPortalUser.d.ts +6 -0
  70. package/dist/models/GetPortalUser.js +4 -0
  71. package/dist/models/GetResource.d.ts +6 -0
  72. package/dist/models/GetResource.js +4 -0
  73. package/dist/models/GetResourceUsageCoursesInner.d.ts +6 -0
  74. package/dist/models/GetResourceUsageCoursesInner.js +4 -0
  75. package/dist/models/IntegrationEventCourse.d.ts +6 -0
  76. package/dist/models/IntegrationEventCourse.js +2 -0
  77. package/dist/models/IntegrationEventLearner.d.ts +6 -0
  78. package/dist/models/IntegrationEventLearner.js +2 -0
  79. package/dist/models/IntegrationEventUser.d.ts +6 -0
  80. package/dist/models/IntegrationEventUser.js +2 -0
  81. package/dist/models/PostCourse.d.ts +6 -0
  82. package/dist/models/PostCourse.js +2 -0
  83. package/dist/models/PostPortalInvite.d.ts +6 -0
  84. package/dist/models/PostPortalInvite.js +2 -0
  85. package/dist/models/PostQuestionTags.d.ts +38 -0
  86. package/dist/models/PostQuestionTags.js +54 -0
  87. package/dist/models/PostQuestionTagsResponse.d.ts +32 -0
  88. package/dist/models/PostQuestionTagsResponse.js +50 -0
  89. package/dist/models/PostResource.d.ts +6 -0
  90. package/dist/models/PostResource.js +2 -0
  91. package/dist/models/PostRichTextAssetUpload.d.ts +6 -0
  92. package/dist/models/PostRichTextAssetUpload.js +2 -0
  93. package/dist/models/PostZapierEnrollment.d.ts +16 -4
  94. package/dist/models/PostZapierEnrollment.js +6 -6
  95. package/dist/models/PostZapierShopifyCourseMapping.d.ts +8 -2
  96. package/dist/models/PostZapierShopifyCourseMapping.js +3 -3
  97. package/dist/models/PostZapierUser.d.ts +6 -0
  98. package/dist/models/PostZapierUser.js +2 -0
  99. package/dist/models/PutCourse.d.ts +6 -0
  100. package/dist/models/PutCourse.js +2 -0
  101. package/dist/models/PutPortalUser.d.ts +32 -0
  102. package/dist/models/PutPortalUser.js +48 -0
  103. package/dist/models/PutResource.d.ts +6 -0
  104. package/dist/models/PutResource.js +2 -0
  105. package/dist/models/RichTextAsset.d.ts +6 -0
  106. package/dist/models/RichTextAsset.js +2 -0
  107. package/dist/models/ZapierCourse.d.ts +6 -0
  108. package/dist/models/ZapierCourse.js +4 -0
  109. package/dist/models/ZapierEnrollment.d.ts +12 -0
  110. package/dist/models/ZapierEnrollment.js +8 -0
  111. package/dist/models/ZapierUser.d.ts +6 -0
  112. package/dist/models/ZapierUser.js +4 -0
  113. package/dist/models/index.d.ts +3 -0
  114. package/dist/models/index.js +3 -0
  115. package/docs/GetCourse.md +2 -0
  116. package/docs/GetCourseEnrollmentListItem.md +2 -0
  117. package/docs/GetPortalUser.md +2 -0
  118. package/docs/GetResource.md +2 -0
  119. package/docs/GetResourceUsageCoursesInner.md +2 -0
  120. package/docs/IntegrationApi.md +15 -6
  121. package/docs/IntegrationEventCourse.md +2 -0
  122. package/docs/IntegrationEventLearner.md +2 -0
  123. package/docs/IntegrationEventUser.md +2 -0
  124. package/docs/PortalApi.md +82 -1
  125. package/docs/PostCourse.md +2 -0
  126. package/docs/PostPortalInvite.md +2 -0
  127. package/docs/PostQuestionTags.md +37 -0
  128. package/docs/PostQuestionTagsResponse.md +34 -0
  129. package/docs/PostResource.md +2 -0
  130. package/docs/PostRichTextAssetUpload.md +2 -0
  131. package/docs/PostZapierEnrollment.md +4 -0
  132. package/docs/PostZapierShopifyCourseMapping.md +2 -0
  133. package/docs/PostZapierUser.md +2 -0
  134. package/docs/PutCourse.md +2 -0
  135. package/docs/PutPortalUser.md +35 -0
  136. package/docs/PutResource.md +2 -0
  137. package/docs/QuestionApi.md +71 -0
  138. package/docs/RichTextAsset.md +2 -0
  139. package/docs/ZapierCourse.md +2 -0
  140. package/docs/ZapierEnrollment.md +4 -0
  141. package/docs/ZapierUser.md +2 -0
  142. package/package.json +1 -1
  143. package/src/apis/IntegrationApi.ts +15 -10
  144. package/src/apis/PortalApi.ts +94 -0
  145. package/src/apis/QuestionApi.ts +63 -0
  146. package/src/models/GetCourse.ts +9 -0
  147. package/src/models/GetCourseEnrollmentListItem.ts +8 -0
  148. package/src/models/GetPortalUser.ts +9 -0
  149. package/src/models/GetResource.ts +9 -0
  150. package/src/models/GetResourceUsageCoursesInner.ts +9 -0
  151. package/src/models/IntegrationEventCourse.ts +8 -0
  152. package/src/models/IntegrationEventLearner.ts +8 -0
  153. package/src/models/IntegrationEventUser.ts +8 -0
  154. package/src/models/PostCourse.ts +8 -0
  155. package/src/models/PostPortalInvite.ts +8 -0
  156. package/src/models/PostQuestionTags.ts +75 -0
  157. package/src/models/PostQuestionTagsResponse.ts +66 -0
  158. package/src/models/PostResource.ts +8 -0
  159. package/src/models/PostRichTextAssetUpload.ts +8 -0
  160. package/src/models/PostZapierEnrollment.ts +22 -8
  161. package/src/models/PostZapierShopifyCourseMapping.ts +11 -4
  162. package/src/models/PostZapierUser.ts +8 -0
  163. package/src/models/PutCourse.ts +8 -0
  164. package/src/models/PutPortalUser.ts +65 -0
  165. package/src/models/PutResource.ts +8 -0
  166. package/src/models/RichTextAsset.ts +8 -0
  167. package/src/models/ZapierCourse.ts +9 -0
  168. package/src/models/ZapierEnrollment.ts +18 -0
  169. package/src/models/ZapierUser.ts +9 -0
  170. package/src/models/index.ts +3 -0
@@ -25,6 +25,7 @@ import { GetPortalFromJSON, } from '../models/GetPortal';
25
25
  import { GetPortalFaviconUploadFromJSON, } from '../models/GetPortalFaviconUpload';
26
26
  import { GetPortalListFromJSON, } from '../models/GetPortalList';
27
27
  import { GetPortalLogoUploadFromJSON, } from '../models/GetPortalLogoUpload';
28
+ import { GetPortalUserFromJSON, } from '../models/GetPortalUser';
28
29
  import { GetPortalUserFieldValuesFromJSON, } from '../models/GetPortalUserFieldValues';
29
30
  import { GetPortalUserListFromJSON, } from '../models/GetPortalUserList';
30
31
  import { GetPublicPortalBrandingFromJSON, } from '../models/GetPublicPortalBranding';
@@ -32,6 +33,7 @@ import { PortalUserFieldConfigFromJSON, PortalUserFieldConfigToJSON, } from '../
32
33
  import { PostPortalToJSON, } from '../models/PostPortal';
33
34
  import { PostPortalInviteToJSON, } from '../models/PostPortalInvite';
34
35
  import { PutPortalBrandingToJSON, } from '../models/PutPortalBranding';
36
+ import { PutPortalUserToJSON, } from '../models/PutPortalUser';
35
37
  import { PutPortalUserFieldValuesToJSON, } from '../models/PutPortalUserFieldValues';
36
38
  import { UpdateSelectedPortalResponseFromJSON, } from '../models/UpdateSelectedPortalResponse';
37
39
  /**
@@ -366,6 +368,9 @@ export class PortalApi extends runtime.BaseAPI {
366
368
  if (requestParameters['search'] != null) {
367
369
  queryParameters['search'] = requestParameters['search'];
368
370
  }
371
+ if (requestParameters['status'] != null) {
372
+ queryParameters['status'] = requestParameters['status'];
373
+ }
369
374
  if (requestParameters['page'] != null) {
370
375
  queryParameters['page'] = requestParameters['page'];
371
376
  }
@@ -762,6 +767,56 @@ export class PortalApi extends runtime.BaseAPI {
762
767
  return yield response.value();
763
768
  });
764
769
  }
770
+ /**
771
+ * Creates request options for putPortalUser without sending the request
772
+ */
773
+ putPortalUserRequestOpts(requestParameters) {
774
+ return __awaiter(this, void 0, void 0, function* () {
775
+ if (requestParameters['portalId'] == null) {
776
+ throw new runtime.RequiredError('portalId', 'Required parameter "portalId" was null or undefined when calling putPortalUser().');
777
+ }
778
+ if (requestParameters['userId'] == null) {
779
+ throw new runtime.RequiredError('userId', 'Required parameter "userId" was null or undefined when calling putPortalUser().');
780
+ }
781
+ if (requestParameters['putPortalUser'] == null) {
782
+ throw new runtime.RequiredError('putPortalUser', 'Required parameter "putPortalUser" was null or undefined when calling putPortalUser().');
783
+ }
784
+ const queryParameters = {};
785
+ const headerParameters = {};
786
+ headerParameters['Content-Type'] = 'application/json';
787
+ let urlPath = `/portals/{portalId}/users/{userId}`;
788
+ urlPath = urlPath.replace('{portalId}', encodeURIComponent(String(requestParameters['portalId'])));
789
+ urlPath = urlPath.replace('{userId}', encodeURIComponent(String(requestParameters['userId'])));
790
+ return {
791
+ path: urlPath,
792
+ method: 'PUT',
793
+ headers: headerParameters,
794
+ query: queryParameters,
795
+ body: PutPortalUserToJSON(requestParameters['putPortalUser']),
796
+ };
797
+ });
798
+ }
799
+ /**
800
+ * Sets or clears the member\'s customer_ref for this portal.
801
+ * Update admin-managed details for a portal member
802
+ */
803
+ putPortalUserRaw(requestParameters, initOverrides) {
804
+ return __awaiter(this, void 0, void 0, function* () {
805
+ const requestOptions = yield this.putPortalUserRequestOpts(requestParameters);
806
+ const response = yield this.request(requestOptions, initOverrides);
807
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetPortalUserFromJSON(jsonValue));
808
+ });
809
+ }
810
+ /**
811
+ * Sets or clears the member\'s customer_ref for this portal.
812
+ * Update admin-managed details for a portal member
813
+ */
814
+ putPortalUser(requestParameters, initOverrides) {
815
+ return __awaiter(this, void 0, void 0, function* () {
816
+ const response = yield this.putPortalUserRaw(requestParameters, initOverrides);
817
+ return yield response.value();
818
+ });
819
+ }
765
820
  /**
766
821
  * Creates request options for putPortalUserFieldConfig without sending the request
767
822
  */
@@ -951,3 +1006,10 @@ export const GetPortalUsersRolesEnum = {
951
1006
  Instructor: 'Instructor',
952
1007
  Learner: 'Learner'
953
1008
  };
1009
+ /**
1010
+ * @export
1011
+ */
1012
+ export const GetPortalUsersStatusEnum = {
1013
+ Active: 'active',
1014
+ Removed: 'removed'
1015
+ };
@@ -13,6 +13,8 @@ import * as runtime from '../runtime';
13
13
  import { type GetQuestion } from '../models/GetQuestion';
14
14
  import { type GetQuestionList } from '../models/GetQuestionList';
15
15
  import { type PostQuestion } from '../models/PostQuestion';
16
+ import { type PostQuestionTags } from '../models/PostQuestionTags';
17
+ import { type PostQuestionTagsResponse } from '../models/PostQuestionTagsResponse';
16
18
  import { type PutQuestion } from '../models/PutQuestion';
17
19
  export interface DeleteQuestionRequest {
18
20
  questionId: string;
@@ -33,6 +35,9 @@ export interface GetQuestionVersionsRequest {
33
35
  export interface PostQuestionRequest {
34
36
  postQuestion: PostQuestion;
35
37
  }
38
+ export interface PostQuestionTagsRequest {
39
+ postQuestionTags: PostQuestionTags;
40
+ }
36
41
  export interface PutQuestionRequest {
37
42
  questionId: string;
38
43
  putQuestion: PutQuestion;
@@ -101,6 +106,20 @@ export declare class QuestionApi extends runtime.BaseAPI {
101
106
  * Create a new question
102
107
  */
103
108
  postQuestion(requestParameters: PostQuestionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetQuestion>;
109
+ /**
110
+ * Creates request options for postQuestionTags without sending the request
111
+ */
112
+ postQuestionTagsRequestOpts(requestParameters: PostQuestionTagsRequest): Promise<runtime.RequestOpts>;
113
+ /**
114
+ * Adds the given tags to every listed question, keeping existing tags. Tags are metadata, so no new question versions are created.
115
+ * Add tags to several questions
116
+ */
117
+ postQuestionTagsRaw(requestParameters: PostQuestionTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostQuestionTagsResponse>>;
118
+ /**
119
+ * Adds the given tags to every listed question, keeping existing tags. Tags are metadata, so no new question versions are created.
120
+ * Add tags to several questions
121
+ */
122
+ postQuestionTags(requestParameters: PostQuestionTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostQuestionTagsResponse>;
104
123
  /**
105
124
  * Creates request options for putQuestion without sending the request
106
125
  */
@@ -24,6 +24,8 @@ import * as runtime from '../runtime';
24
24
  import { GetQuestionFromJSON, } from '../models/GetQuestion';
25
25
  import { GetQuestionListFromJSON, } from '../models/GetQuestionList';
26
26
  import { PostQuestionToJSON, } from '../models/PostQuestion';
27
+ import { PostQuestionTagsToJSON, } from '../models/PostQuestionTags';
28
+ import { PostQuestionTagsResponseFromJSON, } from '../models/PostQuestionTagsResponse';
27
29
  import { PutQuestionToJSON, } from '../models/PutQuestion';
28
30
  /**
29
31
  *
@@ -235,6 +237,48 @@ export class QuestionApi extends runtime.BaseAPI {
235
237
  return yield response.value();
236
238
  });
237
239
  }
240
+ /**
241
+ * Creates request options for postQuestionTags without sending the request
242
+ */
243
+ postQuestionTagsRequestOpts(requestParameters) {
244
+ return __awaiter(this, void 0, void 0, function* () {
245
+ if (requestParameters['postQuestionTags'] == null) {
246
+ throw new runtime.RequiredError('postQuestionTags', 'Required parameter "postQuestionTags" was null or undefined when calling postQuestionTags().');
247
+ }
248
+ const queryParameters = {};
249
+ const headerParameters = {};
250
+ headerParameters['Content-Type'] = 'application/json';
251
+ let urlPath = `/questions/tags`;
252
+ return {
253
+ path: urlPath,
254
+ method: 'POST',
255
+ headers: headerParameters,
256
+ query: queryParameters,
257
+ body: PostQuestionTagsToJSON(requestParameters['postQuestionTags']),
258
+ };
259
+ });
260
+ }
261
+ /**
262
+ * Adds the given tags to every listed question, keeping existing tags. Tags are metadata, so no new question versions are created.
263
+ * Add tags to several questions
264
+ */
265
+ postQuestionTagsRaw(requestParameters, initOverrides) {
266
+ return __awaiter(this, void 0, void 0, function* () {
267
+ const requestOptions = yield this.postQuestionTagsRequestOpts(requestParameters);
268
+ const response = yield this.request(requestOptions, initOverrides);
269
+ return new runtime.JSONApiResponse(response, (jsonValue) => PostQuestionTagsResponseFromJSON(jsonValue));
270
+ });
271
+ }
272
+ /**
273
+ * Adds the given tags to every listed question, keeping existing tags. Tags are metadata, so no new question versions are created.
274
+ * Add tags to several questions
275
+ */
276
+ postQuestionTags(requestParameters, initOverrides) {
277
+ return __awaiter(this, void 0, void 0, function* () {
278
+ const response = yield this.postQuestionTagsRaw(requestParameters, initOverrides);
279
+ return yield response.value();
280
+ });
281
+ }
238
282
  /**
239
283
  * Creates request options for putQuestion without sending the request
240
284
  */
@@ -76,6 +76,12 @@ export interface GetCourse {
76
76
  * @memberof GetCourse
77
77
  */
78
78
  tags: Array<ContentLibraryTag>;
79
+ /**
80
+ * Your own identifier for this course, unique within the portal. Integrations such as Zapier can use it in place of id.
81
+ * @type {string}
82
+ * @memberof GetCourse
83
+ */
84
+ customerRef: string | null;
79
85
  }
80
86
  /**
81
87
  * @export
@@ -44,6 +44,8 @@ export function instanceOfGetCourse(value) {
44
44
  return false;
45
45
  if (!('tags' in value) || value['tags'] === undefined)
46
46
  return false;
47
+ if (!('customerRef' in value) || value['customerRef'] === undefined)
48
+ return false;
47
49
  return true;
48
50
  }
49
51
  export function GetCourseFromJSON(json) {
@@ -64,6 +66,7 @@ export function GetCourseFromJSONTyped(json, ignoreDiscriminator) {
64
66
  'accessDurationDays': json['access_duration_days'],
65
67
  'accessFixedEndAt': json['access_fixed_end_at'],
66
68
  'tags': (json['tags'].map(ContentLibraryTagFromJSON)),
69
+ 'customerRef': json['customer_ref'],
67
70
  };
68
71
  }
69
72
  export function GetCourseToJSON(json) {
@@ -83,5 +86,6 @@ export function GetCourseToJSONTyped(value, ignoreDiscriminator = false) {
83
86
  'access_duration_days': value['accessDurationDays'],
84
87
  'access_fixed_end_at': value['accessFixedEndAt'],
85
88
  'tags': (value['tags'].map(ContentLibraryTagToJSON)),
89
+ 'customer_ref': value['customerRef'],
86
90
  };
87
91
  }
@@ -57,6 +57,12 @@ export interface GetCourseEnrollmentListItem {
57
57
  * @memberof GetCourseEnrollmentListItem
58
58
  */
59
59
  lastName: string;
60
+ /**
61
+ * Contact email of the enrolled user. Only populated for Instructor enrollments so learners can contact course instructors; null for Student enrollments.
62
+ * @type {string}
63
+ * @memberof GetCourseEnrollmentListItem
64
+ */
65
+ email?: string | null;
60
66
  /**
61
67
  * Start date of the enrollment (Unix timestamp)
62
68
  * @type {number}
@@ -94,6 +94,7 @@ export function GetCourseEnrollmentListItemFromJSONTyped(json, ignoreDiscriminat
94
94
  'courseVersionNumber': json['course_version_number'],
95
95
  'firstName': json['first_name'],
96
96
  'lastName': json['last_name'],
97
+ 'email': json['email'] == null ? undefined : json['email'],
97
98
  'enrollmentDateStart': json['enrollment_date_start'],
98
99
  'enrollmentDateEnd': json['enrollment_date_end'],
99
100
  'status': json['status'],
@@ -118,6 +119,7 @@ export function GetCourseEnrollmentListItemToJSONTyped(value, ignoreDiscriminato
118
119
  'course_version_number': value['courseVersionNumber'],
119
120
  'first_name': value['firstName'],
120
121
  'last_name': value['lastName'],
122
+ 'email': value['email'],
121
123
  'enrollment_date_start': value['enrollmentDateStart'],
122
124
  'enrollment_date_end': value['enrollmentDateEnd'],
123
125
  'status': value['status'],
@@ -58,6 +58,12 @@ export interface GetPortalUser {
58
58
  * @memberof GetPortalUser
59
59
  */
60
60
  invitation?: GetPortalInvitationSummary | null;
61
+ /**
62
+ * Your own identifier for this user in this portal, unique within the portal. Integrations such as Zapier can use it in place of the user id.
63
+ * @type {string}
64
+ * @memberof GetPortalUser
65
+ */
66
+ customerRef: string | null;
61
67
  }
62
68
  /**
63
69
  * Check if a given object implements the GetPortalUser interface.
@@ -28,6 +28,8 @@ export function instanceOfGetPortalUser(value) {
28
28
  return false;
29
29
  if (!('isActive' in value) || value['isActive'] === undefined)
30
30
  return false;
31
+ if (!('customerRef' in value) || value['customerRef'] === undefined)
32
+ return false;
31
33
  return true;
32
34
  }
33
35
  export function GetPortalUserFromJSON(json) {
@@ -45,6 +47,7 @@ export function GetPortalUserFromJSONTyped(json, ignoreDiscriminator) {
45
47
  'role': json['role'],
46
48
  'isActive': json['is_active'],
47
49
  'invitation': json['invitation'] == null ? undefined : GetPortalInvitationSummaryFromJSON(json['invitation']),
50
+ 'customerRef': json['customer_ref'],
48
51
  };
49
52
  }
50
53
  export function GetPortalUserToJSON(json) {
@@ -62,5 +65,6 @@ export function GetPortalUserToJSONTyped(value, ignoreDiscriminator = false) {
62
65
  'role': value['role'],
63
66
  'is_active': value['isActive'],
64
67
  'invitation': GetPortalInvitationSummaryToJSON(value['invitation']),
68
+ 'customer_ref': value['customerRef'],
65
69
  };
66
70
  }
@@ -114,6 +114,12 @@ export interface GetResource {
114
114
  * @memberof GetResource
115
115
  */
116
116
  archivedAt?: number | null;
117
+ /**
118
+ * Your own identifier for this resource, unique within the portal. Integrations can use it in place of id.
119
+ * @type {string}
120
+ * @memberof GetResource
121
+ */
122
+ customerRef: string | null;
117
123
  }
118
124
  /**
119
125
  * Check if a given object implements the GetResource interface.
@@ -44,6 +44,8 @@ export function instanceOfGetResource(value) {
44
44
  return false;
45
45
  if (!('updatedAt' in value) || value['updatedAt'] === undefined)
46
46
  return false;
47
+ if (!('customerRef' in value) || value['customerRef'] === undefined)
48
+ return false;
47
49
  return true;
48
50
  }
49
51
  export function GetResourceFromJSON(json) {
@@ -70,6 +72,7 @@ export function GetResourceFromJSONTyped(json, ignoreDiscriminator) {
70
72
  'createdAt': json['created_at'],
71
73
  'updatedAt': json['updated_at'],
72
74
  'archivedAt': json['archived_at'] == null ? undefined : json['archived_at'],
75
+ 'customerRef': json['customer_ref'],
73
76
  };
74
77
  }
75
78
  export function GetResourceToJSON(json) {
@@ -96,5 +99,6 @@ export function GetResourceToJSONTyped(value, ignoreDiscriminator = false) {
96
99
  'created_at': value['createdAt'],
97
100
  'updated_at': value['updatedAt'],
98
101
  'archived_at': value['archivedAt'],
102
+ 'customer_ref': value['customerRef'],
99
103
  };
100
104
  }
@@ -22,6 +22,12 @@ export interface GetResourceUsageCoursesInner {
22
22
  * @memberof GetResourceUsageCoursesInner
23
23
  */
24
24
  courseId: string;
25
+ /**
26
+ * Display name of the course
27
+ * @type {string}
28
+ * @memberof GetResourceUsageCoursesInner
29
+ */
30
+ courseName: string;
25
31
  /**
26
32
  *
27
33
  * @type {string}
@@ -18,6 +18,8 @@ import { ContentLibraryVersionStatusFromJSON, ContentLibraryVersionStatusToJSON,
18
18
  export function instanceOfGetResourceUsageCoursesInner(value) {
19
19
  if (!('courseId' in value) || value['courseId'] === undefined)
20
20
  return false;
21
+ if (!('courseName' in value) || value['courseName'] === undefined)
22
+ return false;
21
23
  if (!('courseVersionId' in value) || value['courseVersionId'] === undefined)
22
24
  return false;
23
25
  if (!('courseVersionNumber' in value) || value['courseVersionNumber'] === undefined)
@@ -39,6 +41,7 @@ export function GetResourceUsageCoursesInnerFromJSONTyped(json, ignoreDiscrimina
39
41
  }
40
42
  return {
41
43
  'courseId': json['course_id'],
44
+ 'courseName': json['course_name'],
42
45
  'courseVersionId': json['course_version_id'],
43
46
  'courseVersionNumber': json['course_version_number'],
44
47
  'courseStatus': ContentLibraryVersionStatusFromJSON(json['course_status']),
@@ -55,6 +58,7 @@ export function GetResourceUsageCoursesInnerToJSONTyped(value, ignoreDiscriminat
55
58
  }
56
59
  return {
57
60
  'course_id': value['courseId'],
61
+ 'course_name': value['courseName'],
58
62
  'course_version_id': value['courseVersionId'],
59
63
  'course_version_number': value['courseVersionNumber'],
60
64
  'course_status': ContentLibraryVersionStatusToJSON(value['courseStatus']),
@@ -27,6 +27,12 @@ export interface IntegrationEventCourse {
27
27
  * @memberof IntegrationEventCourse
28
28
  */
29
29
  name: string;
30
+ /**
31
+ * Your identifier for this course, if set.
32
+ * @type {string}
33
+ * @memberof IntegrationEventCourse
34
+ */
35
+ customerRef?: string | null;
30
36
  }
31
37
  /**
32
38
  * Check if a given object implements the IntegrationEventCourse interface.
@@ -31,6 +31,7 @@ export function IntegrationEventCourseFromJSONTyped(json, ignoreDiscriminator) {
31
31
  return {
32
32
  'id': json['id'],
33
33
  'name': json['name'],
34
+ 'customerRef': json['customer_ref'] == null ? undefined : json['customer_ref'],
34
35
  };
35
36
  }
36
37
  export function IntegrationEventCourseToJSON(json) {
@@ -43,5 +44,6 @@ export function IntegrationEventCourseToJSONTyped(value, ignoreDiscriminator = f
43
44
  return {
44
45
  'id': value['id'],
45
46
  'name': value['name'],
47
+ 'customer_ref': value['customerRef'],
46
48
  };
47
49
  }
@@ -39,6 +39,12 @@ export interface IntegrationEventLearner {
39
39
  * @memberof IntegrationEventLearner
40
40
  */
41
41
  lastName: string;
42
+ /**
43
+ * Your identifier for this learner in the event portal, if set.
44
+ * @type {string}
45
+ * @memberof IntegrationEventLearner
46
+ */
47
+ customerRef?: string | null;
42
48
  }
43
49
  /**
44
50
  * Check if a given object implements the IntegrationEventLearner interface.
@@ -37,6 +37,7 @@ export function IntegrationEventLearnerFromJSONTyped(json, ignoreDiscriminator)
37
37
  'email': json['email'],
38
38
  'firstName': json['first_name'],
39
39
  'lastName': json['last_name'],
40
+ 'customerRef': json['customer_ref'] == null ? undefined : json['customer_ref'],
40
41
  };
41
42
  }
42
43
  export function IntegrationEventLearnerToJSON(json) {
@@ -51,5 +52,6 @@ export function IntegrationEventLearnerToJSONTyped(value, ignoreDiscriminator =
51
52
  'email': value['email'],
52
53
  'first_name': value['firstName'],
53
54
  'last_name': value['lastName'],
55
+ 'customer_ref': value['customerRef'],
54
56
  };
55
57
  }
@@ -39,6 +39,12 @@ export interface IntegrationEventUser {
39
39
  * @memberof IntegrationEventUser
40
40
  */
41
41
  lastName: string;
42
+ /**
43
+ * Your identifier for this user in the event portal, if set.
44
+ * @type {string}
45
+ * @memberof IntegrationEventUser
46
+ */
47
+ customerRef?: string | null;
42
48
  }
43
49
  /**
44
50
  * Check if a given object implements the IntegrationEventUser interface.
@@ -37,6 +37,7 @@ export function IntegrationEventUserFromJSONTyped(json, ignoreDiscriminator) {
37
37
  'email': json['email'],
38
38
  'firstName': json['first_name'],
39
39
  'lastName': json['last_name'],
40
+ 'customerRef': json['customer_ref'] == null ? undefined : json['customer_ref'],
40
41
  };
41
42
  }
42
43
  export function IntegrationEventUserToJSON(json) {
@@ -51,5 +52,6 @@ export function IntegrationEventUserToJSONTyped(value, ignoreDiscriminator = fal
51
52
  'email': value['email'],
52
53
  'first_name': value['firstName'],
53
54
  'last_name': value['lastName'],
55
+ 'customer_ref': value['customerRef'],
54
56
  };
55
57
  }
@@ -53,6 +53,12 @@ export interface PostCourse {
53
53
  * @memberof PostCourse
54
54
  */
55
55
  tags?: Set<string>;
56
+ /**
57
+ * Your own identifier for this course, unique within the portal. Integrations such as Zapier can use it in place of id.
58
+ * @type {string}
59
+ * @memberof PostCourse
60
+ */
61
+ customerRef?: string | null;
56
62
  }
57
63
  /**
58
64
  * @export
@@ -43,6 +43,7 @@ export function PostCourseFromJSONTyped(json, ignoreDiscriminator) {
43
43
  'accessDurationDays': json['access_duration_days'] == null ? undefined : json['access_duration_days'],
44
44
  'accessFixedEndAt': json['access_fixed_end_at'] == null ? undefined : json['access_fixed_end_at'],
45
45
  'tags': json['tags'] == null ? undefined : new Set(json['tags']),
46
+ 'customerRef': json['customer_ref'] == null ? undefined : json['customer_ref'],
46
47
  };
47
48
  }
48
49
  export function PostCourseToJSON(json) {
@@ -59,5 +60,6 @@ export function PostCourseToJSONTyped(value, ignoreDiscriminator = false) {
59
60
  'access_duration_days': value['accessDurationDays'],
60
61
  'access_fixed_end_at': value['accessFixedEndAt'],
61
62
  'tags': value['tags'] == null ? undefined : Array.from(value['tags']),
63
+ 'customer_ref': value['customerRef'],
62
64
  };
63
65
  }
@@ -39,6 +39,12 @@ export interface PostPortalInvite {
39
39
  * @memberof PostPortalInvite
40
40
  */
41
41
  userType: PostPortalInviteUserTypeEnum;
42
+ /**
43
+ * Your own identifier for this user in this portal, unique within the portal. Integrations such as Zapier can use it in place of the user id.
44
+ * @type {string}
45
+ * @memberof PostPortalInvite
46
+ */
47
+ customerRef?: string | null;
42
48
  }
43
49
  /**
44
50
  * @export
@@ -49,6 +49,7 @@ export function PostPortalInviteFromJSONTyped(json, ignoreDiscriminator) {
49
49
  'firstName': json['first_name'],
50
50
  'lastName': json['last_name'],
51
51
  'userType': json['user_type'],
52
+ 'customerRef': json['customer_ref'] == null ? undefined : json['customer_ref'],
52
53
  };
53
54
  }
54
55
  export function PostPortalInviteToJSON(json) {
@@ -63,5 +64,6 @@ export function PostPortalInviteToJSONTyped(value, ignoreDiscriminator = false)
63
64
  'first_name': value['firstName'],
64
65
  'last_name': value['lastName'],
65
66
  'user_type': value['userType'],
67
+ 'customer_ref': value['customerRef'],
66
68
  };
67
69
  }
@@ -0,0 +1,38 @@
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
+ * Adds shared tags to several questions at once without creating new question versions.
14
+ * @export
15
+ * @interface PostQuestionTags
16
+ */
17
+ export interface PostQuestionTags {
18
+ /**
19
+ * External IDs of the questions to tag
20
+ * @type {Array<string>}
21
+ * @memberof PostQuestionTags
22
+ */
23
+ questionIds: Array<string>;
24
+ /**
25
+ * Tag names to add. Existing tags on each question are kept.
26
+ * @type {Array<string>}
27
+ * @memberof PostQuestionTags
28
+ */
29
+ tags: Array<string>;
30
+ }
31
+ /**
32
+ * Check if a given object implements the PostQuestionTags interface.
33
+ */
34
+ export declare function instanceOfPostQuestionTags(value: object): value is PostQuestionTags;
35
+ export declare function PostQuestionTagsFromJSON(json: any): PostQuestionTags;
36
+ export declare function PostQuestionTagsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostQuestionTags;
37
+ export declare function PostQuestionTagsToJSON(json: any): PostQuestionTags;
38
+ export declare function PostQuestionTagsToJSONTyped(value?: PostQuestionTags | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
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
+ * Check if a given object implements the PostQuestionTags interface.
16
+ */
17
+ export function instanceOfPostQuestionTags(value) {
18
+ if (!('questionIds' in value) || value['questionIds'] === undefined)
19
+ return false;
20
+ if (!('tags' in value) || value['tags'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function PostQuestionTagsFromJSON(json) {
25
+ return PostQuestionTagsFromJSONTyped(json, false);
26
+ }
27
+ export function PostQuestionTagsFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'questionIds': json['question_ids'],
33
+ 'tags': json['tags'],
34
+ };
35
+ }
36
+ export function PostQuestionTagsToJSON(json) {
37
+ return PostQuestionTagsToJSONTyped(json, false);
38
+ }
39
+ export function PostQuestionTagsToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'question_ids': value['questionIds'],
45
+ 'tags': value['tags'],
46
+ };
47
+ }
@@ -0,0 +1,32 @@
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
+ *
14
+ * @export
15
+ * @interface PostQuestionTagsResponse
16
+ */
17
+ export interface PostQuestionTagsResponse {
18
+ /**
19
+ * Number of questions that received the tags
20
+ * @type {number}
21
+ * @memberof PostQuestionTagsResponse
22
+ */
23
+ updatedCount: number;
24
+ }
25
+ /**
26
+ * Check if a given object implements the PostQuestionTagsResponse interface.
27
+ */
28
+ export declare function instanceOfPostQuestionTagsResponse(value: object): value is PostQuestionTagsResponse;
29
+ export declare function PostQuestionTagsResponseFromJSON(json: any): PostQuestionTagsResponse;
30
+ export declare function PostQuestionTagsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostQuestionTagsResponse;
31
+ export declare function PostQuestionTagsResponseToJSON(json: any): PostQuestionTagsResponse;
32
+ export declare function PostQuestionTagsResponseToJSONTyped(value?: PostQuestionTagsResponse | null, ignoreDiscriminator?: boolean): any;