@easyedu/js-lsm-api 1.131.0 → 1.133.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 (122) hide show
  1. package/.openapi-generator/FILES +28 -0
  2. package/README.md +18 -2
  3. package/dist/apis/PortalApi.d.ts +9 -0
  4. package/dist/apis/PortalApi.js +11 -1
  5. package/dist/apis/QuestionApi.d.ts +19 -0
  6. package/dist/apis/QuestionApi.js +44 -0
  7. package/dist/apis/SystemApi.d.ts +16 -0
  8. package/dist/apis/SystemApi.js +40 -0
  9. package/dist/esm/apis/PortalApi.d.ts +9 -0
  10. package/dist/esm/apis/PortalApi.js +10 -0
  11. package/dist/esm/apis/QuestionApi.d.ts +19 -0
  12. package/dist/esm/apis/QuestionApi.js +44 -0
  13. package/dist/esm/apis/SystemApi.d.ts +16 -0
  14. package/dist/esm/apis/SystemApi.js +40 -0
  15. package/dist/esm/models/GetCourseEnrollmentListItem.d.ts +6 -0
  16. package/dist/esm/models/GetCourseEnrollmentListItem.js +2 -0
  17. package/dist/esm/models/GetResourceUsageCoursesInner.d.ts +6 -0
  18. package/dist/esm/models/GetResourceUsageCoursesInner.js +4 -0
  19. package/dist/esm/models/GetSystemPortalOverview.d.ts +121 -0
  20. package/dist/esm/models/GetSystemPortalOverview.js +106 -0
  21. package/dist/esm/models/PostQuestionTags.d.ts +38 -0
  22. package/dist/esm/models/PostQuestionTags.js +47 -0
  23. package/dist/esm/models/PostQuestionTagsResponse.d.ts +32 -0
  24. package/dist/esm/models/PostQuestionTagsResponse.js +43 -0
  25. package/dist/esm/models/SystemPortalActivityStats.d.ts +56 -0
  26. package/dist/esm/models/SystemPortalActivityStats.js +57 -0
  27. package/dist/esm/models/SystemPortalCertificateStats.d.ts +50 -0
  28. package/dist/esm/models/SystemPortalCertificateStats.js +55 -0
  29. package/dist/esm/models/SystemPortalContentStats.d.ts +56 -0
  30. package/dist/esm/models/SystemPortalContentStats.js +59 -0
  31. package/dist/esm/models/SystemPortalCourseStats.d.ts +62 -0
  32. package/dist/esm/models/SystemPortalCourseStats.js +63 -0
  33. package/dist/esm/models/SystemPortalEnrollmentStats.d.ts +56 -0
  34. package/dist/esm/models/SystemPortalEnrollmentStats.js +59 -0
  35. package/dist/esm/models/SystemPortalHierarchy.d.ts +44 -0
  36. package/dist/esm/models/SystemPortalHierarchy.js +47 -0
  37. package/dist/esm/models/SystemPortalLicense.d.ts +65 -0
  38. package/dist/esm/models/SystemPortalLicense.js +61 -0
  39. package/dist/esm/models/SystemPortalRoleCount.d.ts +51 -0
  40. package/dist/esm/models/SystemPortalRoleCount.js +59 -0
  41. package/dist/esm/models/SystemPortalStorageUsage.d.ts +74 -0
  42. package/dist/esm/models/SystemPortalStorageUsage.js +71 -0
  43. package/dist/esm/models/SystemPortalSupportStats.d.ts +50 -0
  44. package/dist/esm/models/SystemPortalSupportStats.js +55 -0
  45. package/dist/esm/models/SystemPortalUserStats.d.ts +81 -0
  46. package/dist/esm/models/SystemPortalUserStats.js +74 -0
  47. package/dist/esm/models/index.d.ts +14 -0
  48. package/dist/esm/models/index.js +14 -0
  49. package/dist/models/GetCourseEnrollmentListItem.d.ts +6 -0
  50. package/dist/models/GetCourseEnrollmentListItem.js +2 -0
  51. package/dist/models/GetResourceUsageCoursesInner.d.ts +6 -0
  52. package/dist/models/GetResourceUsageCoursesInner.js +4 -0
  53. package/dist/models/GetSystemPortalOverview.d.ts +121 -0
  54. package/dist/models/GetSystemPortalOverview.js +113 -0
  55. package/dist/models/PostQuestionTags.d.ts +38 -0
  56. package/dist/models/PostQuestionTags.js +54 -0
  57. package/dist/models/PostQuestionTagsResponse.d.ts +32 -0
  58. package/dist/models/PostQuestionTagsResponse.js +50 -0
  59. package/dist/models/SystemPortalActivityStats.d.ts +56 -0
  60. package/dist/models/SystemPortalActivityStats.js +64 -0
  61. package/dist/models/SystemPortalCertificateStats.d.ts +50 -0
  62. package/dist/models/SystemPortalCertificateStats.js +62 -0
  63. package/dist/models/SystemPortalContentStats.d.ts +56 -0
  64. package/dist/models/SystemPortalContentStats.js +66 -0
  65. package/dist/models/SystemPortalCourseStats.d.ts +62 -0
  66. package/dist/models/SystemPortalCourseStats.js +70 -0
  67. package/dist/models/SystemPortalEnrollmentStats.d.ts +56 -0
  68. package/dist/models/SystemPortalEnrollmentStats.js +66 -0
  69. package/dist/models/SystemPortalHierarchy.d.ts +44 -0
  70. package/dist/models/SystemPortalHierarchy.js +54 -0
  71. package/dist/models/SystemPortalLicense.d.ts +65 -0
  72. package/dist/models/SystemPortalLicense.js +69 -0
  73. package/dist/models/SystemPortalRoleCount.d.ts +51 -0
  74. package/dist/models/SystemPortalRoleCount.js +67 -0
  75. package/dist/models/SystemPortalStorageUsage.d.ts +74 -0
  76. package/dist/models/SystemPortalStorageUsage.js +78 -0
  77. package/dist/models/SystemPortalSupportStats.d.ts +50 -0
  78. package/dist/models/SystemPortalSupportStats.js +62 -0
  79. package/dist/models/SystemPortalUserStats.d.ts +81 -0
  80. package/dist/models/SystemPortalUserStats.js +81 -0
  81. package/dist/models/index.d.ts +14 -0
  82. package/dist/models/index.js +14 -0
  83. package/docs/GetCourseEnrollmentListItem.md +2 -0
  84. package/docs/GetResourceUsageCoursesInner.md +2 -0
  85. package/docs/GetSystemPortalOverview.md +61 -0
  86. package/docs/PortalApi.md +4 -1
  87. package/docs/PostQuestionTags.md +37 -0
  88. package/docs/PostQuestionTagsResponse.md +34 -0
  89. package/docs/QuestionApi.md +71 -0
  90. package/docs/SystemApi.md +68 -0
  91. package/docs/SystemPortalActivityStats.md +42 -0
  92. package/docs/SystemPortalCertificateStats.md +40 -0
  93. package/docs/SystemPortalContentStats.md +43 -0
  94. package/docs/SystemPortalCourseStats.md +44 -0
  95. package/docs/SystemPortalEnrollmentStats.md +43 -0
  96. package/docs/SystemPortalHierarchy.md +38 -0
  97. package/docs/SystemPortalLicense.md +42 -0
  98. package/docs/SystemPortalRoleCount.md +36 -0
  99. package/docs/SystemPortalStorageUsage.md +49 -0
  100. package/docs/SystemPortalSupportStats.md +40 -0
  101. package/docs/SystemPortalUserStats.md +50 -0
  102. package/package.json +1 -1
  103. package/src/apis/PortalApi.ts +13 -0
  104. package/src/apis/QuestionApi.ts +63 -0
  105. package/src/apis/SystemApi.ts +54 -0
  106. package/src/models/GetCourseEnrollmentListItem.ts +8 -0
  107. package/src/models/GetResourceUsageCoursesInner.ts +9 -0
  108. package/src/models/GetSystemPortalOverview.ts +261 -0
  109. package/src/models/PostQuestionTags.ts +75 -0
  110. package/src/models/PostQuestionTagsResponse.ts +66 -0
  111. package/src/models/SystemPortalActivityStats.ts +101 -0
  112. package/src/models/SystemPortalCertificateStats.ts +93 -0
  113. package/src/models/SystemPortalContentStats.ts +102 -0
  114. package/src/models/SystemPortalCourseStats.ts +111 -0
  115. package/src/models/SystemPortalEnrollmentStats.ts +102 -0
  116. package/src/models/SystemPortalHierarchy.ts +82 -0
  117. package/src/models/SystemPortalLicense.ts +111 -0
  118. package/src/models/SystemPortalRoleCount.ts +91 -0
  119. package/src/models/SystemPortalStorageUsage.ts +129 -0
  120. package/src/models/SystemPortalSupportStats.ts +93 -0
  121. package/src/models/SystemPortalUserStats.ts +145 -0
  122. package/src/models/index.ts +14 -0
@@ -28,6 +28,16 @@ import {
28
28
  PostQuestionFromJSON,
29
29
  PostQuestionToJSON,
30
30
  } from '../models/PostQuestion';
31
+ import {
32
+ type PostQuestionTags,
33
+ PostQuestionTagsFromJSON,
34
+ PostQuestionTagsToJSON,
35
+ } from '../models/PostQuestionTags';
36
+ import {
37
+ type PostQuestionTagsResponse,
38
+ PostQuestionTagsResponseFromJSON,
39
+ PostQuestionTagsResponseToJSON,
40
+ } from '../models/PostQuestionTagsResponse';
31
41
  import {
32
42
  type PutQuestion,
33
43
  PutQuestionFromJSON,
@@ -58,6 +68,10 @@ export interface PostQuestionRequest {
58
68
  postQuestion: PostQuestion;
59
69
  }
60
70
 
71
+ export interface PostQuestionTagsRequest {
72
+ postQuestionTags: PostQuestionTags;
73
+ }
74
+
61
75
  export interface PutQuestionRequest {
62
76
  questionId: string;
63
77
  putQuestion: PutQuestion;
@@ -306,6 +320,55 @@ export class QuestionApi extends runtime.BaseAPI {
306
320
  return await response.value();
307
321
  }
308
322
 
323
+ /**
324
+ * Creates request options for postQuestionTags without sending the request
325
+ */
326
+ async postQuestionTagsRequestOpts(requestParameters: PostQuestionTagsRequest): Promise<runtime.RequestOpts> {
327
+ if (requestParameters['postQuestionTags'] == null) {
328
+ throw new runtime.RequiredError(
329
+ 'postQuestionTags',
330
+ 'Required parameter "postQuestionTags" was null or undefined when calling postQuestionTags().'
331
+ );
332
+ }
333
+
334
+ const queryParameters: any = {};
335
+
336
+ const headerParameters: runtime.HTTPHeaders = {};
337
+
338
+ headerParameters['Content-Type'] = 'application/json';
339
+
340
+
341
+ let urlPath = `/questions/tags`;
342
+
343
+ return {
344
+ path: urlPath,
345
+ method: 'POST',
346
+ headers: headerParameters,
347
+ query: queryParameters,
348
+ body: PostQuestionTagsToJSON(requestParameters['postQuestionTags']),
349
+ };
350
+ }
351
+
352
+ /**
353
+ * Adds the given tags to every listed question, keeping existing tags. Tags are metadata, so no new question versions are created.
354
+ * Add tags to several questions
355
+ */
356
+ async postQuestionTagsRaw(requestParameters: PostQuestionTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostQuestionTagsResponse>> {
357
+ const requestOptions = await this.postQuestionTagsRequestOpts(requestParameters);
358
+ const response = await this.request(requestOptions, initOverrides);
359
+
360
+ return new runtime.JSONApiResponse(response, (jsonValue) => PostQuestionTagsResponseFromJSON(jsonValue));
361
+ }
362
+
363
+ /**
364
+ * Adds the given tags to every listed question, keeping existing tags. Tags are metadata, so no new question versions are created.
365
+ * Add tags to several questions
366
+ */
367
+ async postQuestionTags(requestParameters: PostQuestionTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostQuestionTagsResponse> {
368
+ const response = await this.postQuestionTagsRaw(requestParameters, initOverrides);
369
+ return await response.value();
370
+ }
371
+
309
372
  /**
310
373
  * Creates request options for putQuestion without sending the request
311
374
  */
@@ -38,6 +38,11 @@ import {
38
38
  GetSystemMetricsFromJSON,
39
39
  GetSystemMetricsToJSON,
40
40
  } from '../models/GetSystemMetrics';
41
+ import {
42
+ type GetSystemPortalOverview,
43
+ GetSystemPortalOverviewFromJSON,
44
+ GetSystemPortalOverviewToJSON,
45
+ } from '../models/GetSystemPortalOverview';
41
46
 
42
47
  export interface GetSystemBillingRequest {
43
48
  page?: number;
@@ -48,6 +53,10 @@ export interface GetSystemPortalRequest {
48
53
  portalId: string;
49
54
  }
50
55
 
56
+ export interface GetSystemPortalOverviewRequest {
57
+ portalId: string;
58
+ }
59
+
51
60
  export interface GetSystemPortalsRequest {
52
61
  page?: number;
53
62
  pageSize?: number;
@@ -190,6 +199,51 @@ export class SystemApi extends runtime.BaseAPI {
190
199
  return await response.value();
191
200
  }
192
201
 
202
+ /**
203
+ * Creates request options for getSystemPortalOverview without sending the request
204
+ */
205
+ async getSystemPortalOverviewRequestOpts(requestParameters: GetSystemPortalOverviewRequest): Promise<runtime.RequestOpts> {
206
+ if (requestParameters['portalId'] == null) {
207
+ throw new runtime.RequiredError(
208
+ 'portalId',
209
+ 'Required parameter "portalId" was null or undefined when calling getSystemPortalOverview().'
210
+ );
211
+ }
212
+
213
+ const queryParameters: any = {};
214
+
215
+ const headerParameters: runtime.HTTPHeaders = {};
216
+
217
+
218
+ let urlPath = `/system/portals/{portalId}/overview`;
219
+ urlPath = urlPath.replace('{portalId}', encodeURIComponent(String(requestParameters['portalId'])));
220
+
221
+ return {
222
+ path: urlPath,
223
+ method: 'GET',
224
+ headers: headerParameters,
225
+ query: queryParameters,
226
+ };
227
+ }
228
+
229
+ /**
230
+ * Get detailed platform portal overview and usage statistics
231
+ */
232
+ async getSystemPortalOverviewRaw(requestParameters: GetSystemPortalOverviewRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetSystemPortalOverview>> {
233
+ const requestOptions = await this.getSystemPortalOverviewRequestOpts(requestParameters);
234
+ const response = await this.request(requestOptions, initOverrides);
235
+
236
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetSystemPortalOverviewFromJSON(jsonValue));
237
+ }
238
+
239
+ /**
240
+ * Get detailed platform portal overview and usage statistics
241
+ */
242
+ async getSystemPortalOverview(requestParameters: GetSystemPortalOverviewRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetSystemPortalOverview> {
243
+ const response = await this.getSystemPortalOverviewRaw(requestParameters, initOverrides);
244
+ return await response.value();
245
+ }
246
+
193
247
  /**
194
248
  * Creates request options for getSystemPortals without sending the request
195
249
  */
@@ -61,6 +61,12 @@ export interface GetCourseEnrollmentListItem {
61
61
  * @memberof GetCourseEnrollmentListItem
62
62
  */
63
63
  lastName: string;
64
+ /**
65
+ * Contact email of the enrolled user. Only populated for Instructor enrollments so learners can contact course instructors; null for Student enrollments.
66
+ * @type {string}
67
+ * @memberof GetCourseEnrollmentListItem
68
+ */
69
+ email?: string | null;
64
70
  /**
65
71
  * Start date of the enrollment (Unix timestamp)
66
72
  * @type {number}
@@ -185,6 +191,7 @@ export function GetCourseEnrollmentListItemFromJSONTyped(json: any, ignoreDiscri
185
191
  'courseVersionNumber': json['course_version_number'],
186
192
  'firstName': json['first_name'],
187
193
  'lastName': json['last_name'],
194
+ 'email': json['email'] == null ? undefined : json['email'],
188
195
  'enrollmentDateStart': json['enrollment_date_start'],
189
196
  'enrollmentDateEnd': json['enrollment_date_end'],
190
197
  'status': json['status'],
@@ -213,6 +220,7 @@ export function GetCourseEnrollmentListItemToJSONTyped(value?: GetCourseEnrollme
213
220
  'course_version_number': value['courseVersionNumber'],
214
221
  'first_name': value['firstName'],
215
222
  'last_name': value['lastName'],
223
+ 'email': value['email'],
216
224
  'enrollment_date_start': value['enrollmentDateStart'],
217
225
  'enrollment_date_end': value['enrollmentDateEnd'],
218
226
  'status': value['status'],
@@ -33,6 +33,12 @@ export interface GetResourceUsageCoursesInner {
33
33
  * @memberof GetResourceUsageCoursesInner
34
34
  */
35
35
  courseId: string;
36
+ /**
37
+ * Display name of the course
38
+ * @type {string}
39
+ * @memberof GetResourceUsageCoursesInner
40
+ */
41
+ courseName: string;
36
42
  /**
37
43
  *
38
44
  * @type {string}
@@ -72,6 +78,7 @@ export interface GetResourceUsageCoursesInner {
72
78
  */
73
79
  export function instanceOfGetResourceUsageCoursesInner(value: object): value is GetResourceUsageCoursesInner {
74
80
  if (!('courseId' in value) || value['courseId'] === undefined) return false;
81
+ if (!('courseName' in value) || value['courseName'] === undefined) return false;
75
82
  if (!('courseVersionId' in value) || value['courseVersionId'] === undefined) return false;
76
83
  if (!('courseVersionNumber' in value) || value['courseVersionNumber'] === undefined) return false;
77
84
  if (!('courseStatus' in value) || value['courseStatus'] === undefined) return false;
@@ -91,6 +98,7 @@ export function GetResourceUsageCoursesInnerFromJSONTyped(json: any, ignoreDiscr
91
98
  return {
92
99
 
93
100
  'courseId': json['course_id'],
101
+ 'courseName': json['course_name'],
94
102
  'courseVersionId': json['course_version_id'],
95
103
  'courseVersionNumber': json['course_version_number'],
96
104
  'courseStatus': ContentLibraryVersionStatusFromJSON(json['course_status']),
@@ -111,6 +119,7 @@ export function GetResourceUsageCoursesInnerToJSONTyped(value?: GetResourceUsage
111
119
  return {
112
120
 
113
121
  'course_id': value['courseId'],
122
+ 'course_name': value['courseName'],
114
123
  'course_version_id': value['courseVersionId'],
115
124
  'course_version_number': value['courseVersionNumber'],
116
125
  'course_status': ContentLibraryVersionStatusToJSON(value['courseStatus']),
@@ -0,0 +1,261 @@
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
+ import type { SystemPortalCourseStats } from './SystemPortalCourseStats';
17
+ import {
18
+ SystemPortalCourseStatsFromJSON,
19
+ SystemPortalCourseStatsFromJSONTyped,
20
+ SystemPortalCourseStatsToJSON,
21
+ SystemPortalCourseStatsToJSONTyped,
22
+ } from './SystemPortalCourseStats';
23
+ import type { SystemPortalLicense } from './SystemPortalLicense';
24
+ import {
25
+ SystemPortalLicenseFromJSON,
26
+ SystemPortalLicenseFromJSONTyped,
27
+ SystemPortalLicenseToJSON,
28
+ SystemPortalLicenseToJSONTyped,
29
+ } from './SystemPortalLicense';
30
+ import type { SystemPortalCertificateStats } from './SystemPortalCertificateStats';
31
+ import {
32
+ SystemPortalCertificateStatsFromJSON,
33
+ SystemPortalCertificateStatsFromJSONTyped,
34
+ SystemPortalCertificateStatsToJSON,
35
+ SystemPortalCertificateStatsToJSONTyped,
36
+ } from './SystemPortalCertificateStats';
37
+ import type { SystemPortalStorageUsage } from './SystemPortalStorageUsage';
38
+ import {
39
+ SystemPortalStorageUsageFromJSON,
40
+ SystemPortalStorageUsageFromJSONTyped,
41
+ SystemPortalStorageUsageToJSON,
42
+ SystemPortalStorageUsageToJSONTyped,
43
+ } from './SystemPortalStorageUsage';
44
+ import type { SystemPortalSupportStats } from './SystemPortalSupportStats';
45
+ import {
46
+ SystemPortalSupportStatsFromJSON,
47
+ SystemPortalSupportStatsFromJSONTyped,
48
+ SystemPortalSupportStatsToJSON,
49
+ SystemPortalSupportStatsToJSONTyped,
50
+ } from './SystemPortalSupportStats';
51
+ import type { GetPortal } from './GetPortal';
52
+ import {
53
+ GetPortalFromJSON,
54
+ GetPortalFromJSONTyped,
55
+ GetPortalToJSON,
56
+ GetPortalToJSONTyped,
57
+ } from './GetPortal';
58
+ import type { SystemPortalEnrollmentStats } from './SystemPortalEnrollmentStats';
59
+ import {
60
+ SystemPortalEnrollmentStatsFromJSON,
61
+ SystemPortalEnrollmentStatsFromJSONTyped,
62
+ SystemPortalEnrollmentStatsToJSON,
63
+ SystemPortalEnrollmentStatsToJSONTyped,
64
+ } from './SystemPortalEnrollmentStats';
65
+ import type { SystemPortalActivityStats } from './SystemPortalActivityStats';
66
+ import {
67
+ SystemPortalActivityStatsFromJSON,
68
+ SystemPortalActivityStatsFromJSONTyped,
69
+ SystemPortalActivityStatsToJSON,
70
+ SystemPortalActivityStatsToJSONTyped,
71
+ } from './SystemPortalActivityStats';
72
+ import type { SystemPortalContentStats } from './SystemPortalContentStats';
73
+ import {
74
+ SystemPortalContentStatsFromJSON,
75
+ SystemPortalContentStatsFromJSONTyped,
76
+ SystemPortalContentStatsToJSON,
77
+ SystemPortalContentStatsToJSONTyped,
78
+ } from './SystemPortalContentStats';
79
+ import type { SystemPortalHierarchy } from './SystemPortalHierarchy';
80
+ import {
81
+ SystemPortalHierarchyFromJSON,
82
+ SystemPortalHierarchyFromJSONTyped,
83
+ SystemPortalHierarchyToJSON,
84
+ SystemPortalHierarchyToJSONTyped,
85
+ } from './SystemPortalHierarchy';
86
+ import type { SystemPortalUserStats } from './SystemPortalUserStats';
87
+ import {
88
+ SystemPortalUserStatsFromJSON,
89
+ SystemPortalUserStatsFromJSONTyped,
90
+ SystemPortalUserStatsToJSON,
91
+ SystemPortalUserStatsToJSONTyped,
92
+ } from './SystemPortalUserStats';
93
+
94
+ /**
95
+ * Detailed read-only overview of a single portal for platform administrators. All counts are scoped to the portal itself and exclude child portals. Timestamps are Unix epoch seconds (UTC).
96
+ * @export
97
+ * @interface GetSystemPortalOverview
98
+ */
99
+ export interface GetSystemPortalOverview {
100
+ /**
101
+ *
102
+ * @type {GetPortal}
103
+ * @memberof GetSystemPortalOverview
104
+ */
105
+ portal: GetPortal;
106
+ /**
107
+ *
108
+ * @type {number}
109
+ * @memberof GetSystemPortalOverview
110
+ */
111
+ createdAt: number;
112
+ /**
113
+ *
114
+ * @type {number}
115
+ * @memberof GetSystemPortalOverview
116
+ */
117
+ updatedAt: number;
118
+ /**
119
+ * When these statistics were computed.
120
+ * @type {number}
121
+ * @memberof GetSystemPortalOverview
122
+ */
123
+ generatedAt: number;
124
+ /**
125
+ *
126
+ * @type {SystemPortalHierarchy}
127
+ * @memberof GetSystemPortalOverview
128
+ */
129
+ hierarchy: SystemPortalHierarchy;
130
+ /**
131
+ *
132
+ * @type {SystemPortalLicense}
133
+ * @memberof GetSystemPortalOverview
134
+ */
135
+ license: SystemPortalLicense;
136
+ /**
137
+ *
138
+ * @type {SystemPortalUserStats}
139
+ * @memberof GetSystemPortalOverview
140
+ */
141
+ users: SystemPortalUserStats;
142
+ /**
143
+ *
144
+ * @type {SystemPortalCourseStats}
145
+ * @memberof GetSystemPortalOverview
146
+ */
147
+ courses: SystemPortalCourseStats;
148
+ /**
149
+ *
150
+ * @type {SystemPortalEnrollmentStats}
151
+ * @memberof GetSystemPortalOverview
152
+ */
153
+ enrollments: SystemPortalEnrollmentStats;
154
+ /**
155
+ *
156
+ * @type {SystemPortalContentStats}
157
+ * @memberof GetSystemPortalOverview
158
+ */
159
+ content: SystemPortalContentStats;
160
+ /**
161
+ *
162
+ * @type {SystemPortalCertificateStats}
163
+ * @memberof GetSystemPortalOverview
164
+ */
165
+ certificates: SystemPortalCertificateStats;
166
+ /**
167
+ *
168
+ * @type {SystemPortalStorageUsage}
169
+ * @memberof GetSystemPortalOverview
170
+ */
171
+ storage: SystemPortalStorageUsage;
172
+ /**
173
+ *
174
+ * @type {SystemPortalActivityStats}
175
+ * @memberof GetSystemPortalOverview
176
+ */
177
+ activity: SystemPortalActivityStats;
178
+ /**
179
+ *
180
+ * @type {SystemPortalSupportStats}
181
+ * @memberof GetSystemPortalOverview
182
+ */
183
+ support: SystemPortalSupportStats;
184
+ }
185
+
186
+ /**
187
+ * Check if a given object implements the GetSystemPortalOverview interface.
188
+ */
189
+ export function instanceOfGetSystemPortalOverview(value: object): value is GetSystemPortalOverview {
190
+ if (!('portal' in value) || value['portal'] === undefined) return false;
191
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
192
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
193
+ if (!('generatedAt' in value) || value['generatedAt'] === undefined) return false;
194
+ if (!('hierarchy' in value) || value['hierarchy'] === undefined) return false;
195
+ if (!('license' in value) || value['license'] === undefined) return false;
196
+ if (!('users' in value) || value['users'] === undefined) return false;
197
+ if (!('courses' in value) || value['courses'] === undefined) return false;
198
+ if (!('enrollments' in value) || value['enrollments'] === undefined) return false;
199
+ if (!('content' in value) || value['content'] === undefined) return false;
200
+ if (!('certificates' in value) || value['certificates'] === undefined) return false;
201
+ if (!('storage' in value) || value['storage'] === undefined) return false;
202
+ if (!('activity' in value) || value['activity'] === undefined) return false;
203
+ if (!('support' in value) || value['support'] === undefined) return false;
204
+ return true;
205
+ }
206
+
207
+ export function GetSystemPortalOverviewFromJSON(json: any): GetSystemPortalOverview {
208
+ return GetSystemPortalOverviewFromJSONTyped(json, false);
209
+ }
210
+
211
+ export function GetSystemPortalOverviewFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSystemPortalOverview {
212
+ if (json == null) {
213
+ return json;
214
+ }
215
+ return {
216
+
217
+ 'portal': GetPortalFromJSON(json['portal']),
218
+ 'createdAt': json['created_at'],
219
+ 'updatedAt': json['updated_at'],
220
+ 'generatedAt': json['generated_at'],
221
+ 'hierarchy': SystemPortalHierarchyFromJSON(json['hierarchy']),
222
+ 'license': SystemPortalLicenseFromJSON(json['license']),
223
+ 'users': SystemPortalUserStatsFromJSON(json['users']),
224
+ 'courses': SystemPortalCourseStatsFromJSON(json['courses']),
225
+ 'enrollments': SystemPortalEnrollmentStatsFromJSON(json['enrollments']),
226
+ 'content': SystemPortalContentStatsFromJSON(json['content']),
227
+ 'certificates': SystemPortalCertificateStatsFromJSON(json['certificates']),
228
+ 'storage': SystemPortalStorageUsageFromJSON(json['storage']),
229
+ 'activity': SystemPortalActivityStatsFromJSON(json['activity']),
230
+ 'support': SystemPortalSupportStatsFromJSON(json['support']),
231
+ };
232
+ }
233
+
234
+ export function GetSystemPortalOverviewToJSON(json: any): GetSystemPortalOverview {
235
+ return GetSystemPortalOverviewToJSONTyped(json, false);
236
+ }
237
+
238
+ export function GetSystemPortalOverviewToJSONTyped(value?: GetSystemPortalOverview | null, ignoreDiscriminator: boolean = false): any {
239
+ if (value == null) {
240
+ return value;
241
+ }
242
+
243
+ return {
244
+
245
+ 'portal': GetPortalToJSON(value['portal']),
246
+ 'created_at': value['createdAt'],
247
+ 'updated_at': value['updatedAt'],
248
+ 'generated_at': value['generatedAt'],
249
+ 'hierarchy': SystemPortalHierarchyToJSON(value['hierarchy']),
250
+ 'license': SystemPortalLicenseToJSON(value['license']),
251
+ 'users': SystemPortalUserStatsToJSON(value['users']),
252
+ 'courses': SystemPortalCourseStatsToJSON(value['courses']),
253
+ 'enrollments': SystemPortalEnrollmentStatsToJSON(value['enrollments']),
254
+ 'content': SystemPortalContentStatsToJSON(value['content']),
255
+ 'certificates': SystemPortalCertificateStatsToJSON(value['certificates']),
256
+ 'storage': SystemPortalStorageUsageToJSON(value['storage']),
257
+ 'activity': SystemPortalActivityStatsToJSON(value['activity']),
258
+ 'support': SystemPortalSupportStatsToJSON(value['support']),
259
+ };
260
+ }
261
+
@@ -0,0 +1,75 @@
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
+ * Adds shared tags to several questions at once without creating new question versions.
18
+ * @export
19
+ * @interface PostQuestionTags
20
+ */
21
+ export interface PostQuestionTags {
22
+ /**
23
+ * External IDs of the questions to tag
24
+ * @type {Array<string>}
25
+ * @memberof PostQuestionTags
26
+ */
27
+ questionIds: Array<string>;
28
+ /**
29
+ * Tag names to add. Existing tags on each question are kept.
30
+ * @type {Array<string>}
31
+ * @memberof PostQuestionTags
32
+ */
33
+ tags: Array<string>;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the PostQuestionTags interface.
38
+ */
39
+ export function instanceOfPostQuestionTags(value: object): value is PostQuestionTags {
40
+ if (!('questionIds' in value) || value['questionIds'] === undefined) return false;
41
+ if (!('tags' in value) || value['tags'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function PostQuestionTagsFromJSON(json: any): PostQuestionTags {
46
+ return PostQuestionTagsFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function PostQuestionTagsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostQuestionTags {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'questionIds': json['question_ids'],
56
+ 'tags': json['tags'],
57
+ };
58
+ }
59
+
60
+ export function PostQuestionTagsToJSON(json: any): PostQuestionTags {
61
+ return PostQuestionTagsToJSONTyped(json, false);
62
+ }
63
+
64
+ export function PostQuestionTagsToJSONTyped(value?: PostQuestionTags | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'question_ids': value['questionIds'],
72
+ 'tags': value['tags'],
73
+ };
74
+ }
75
+
@@ -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 PostQuestionTagsResponse
20
+ */
21
+ export interface PostQuestionTagsResponse {
22
+ /**
23
+ * Number of questions that received the tags
24
+ * @type {number}
25
+ * @memberof PostQuestionTagsResponse
26
+ */
27
+ updatedCount: number;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the PostQuestionTagsResponse interface.
32
+ */
33
+ export function instanceOfPostQuestionTagsResponse(value: object): value is PostQuestionTagsResponse {
34
+ if (!('updatedCount' in value) || value['updatedCount'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function PostQuestionTagsResponseFromJSON(json: any): PostQuestionTagsResponse {
39
+ return PostQuestionTagsResponseFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function PostQuestionTagsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostQuestionTagsResponse {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'updatedCount': json['updated_count'],
49
+ };
50
+ }
51
+
52
+ export function PostQuestionTagsResponseToJSON(json: any): PostQuestionTagsResponse {
53
+ return PostQuestionTagsResponseToJSONTyped(json, false);
54
+ }
55
+
56
+ export function PostQuestionTagsResponseToJSONTyped(value?: PostQuestionTagsResponse | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'updated_count': value['updatedCount'],
64
+ };
65
+ }
66
+