@easyedu/js-lsm-api 1.131.0 → 1.132.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 (86) hide show
  1. package/.openapi-generator/FILES +24 -0
  2. package/README.md +15 -2
  3. package/dist/apis/SystemApi.d.ts +16 -0
  4. package/dist/apis/SystemApi.js +40 -0
  5. package/dist/esm/apis/SystemApi.d.ts +16 -0
  6. package/dist/esm/apis/SystemApi.js +40 -0
  7. package/dist/esm/models/GetSystemPortalOverview.d.ts +121 -0
  8. package/dist/esm/models/GetSystemPortalOverview.js +106 -0
  9. package/dist/esm/models/SystemPortalActivityStats.d.ts +56 -0
  10. package/dist/esm/models/SystemPortalActivityStats.js +57 -0
  11. package/dist/esm/models/SystemPortalCertificateStats.d.ts +50 -0
  12. package/dist/esm/models/SystemPortalCertificateStats.js +55 -0
  13. package/dist/esm/models/SystemPortalContentStats.d.ts +56 -0
  14. package/dist/esm/models/SystemPortalContentStats.js +59 -0
  15. package/dist/esm/models/SystemPortalCourseStats.d.ts +62 -0
  16. package/dist/esm/models/SystemPortalCourseStats.js +63 -0
  17. package/dist/esm/models/SystemPortalEnrollmentStats.d.ts +56 -0
  18. package/dist/esm/models/SystemPortalEnrollmentStats.js +59 -0
  19. package/dist/esm/models/SystemPortalHierarchy.d.ts +44 -0
  20. package/dist/esm/models/SystemPortalHierarchy.js +47 -0
  21. package/dist/esm/models/SystemPortalLicense.d.ts +65 -0
  22. package/dist/esm/models/SystemPortalLicense.js +61 -0
  23. package/dist/esm/models/SystemPortalRoleCount.d.ts +51 -0
  24. package/dist/esm/models/SystemPortalRoleCount.js +59 -0
  25. package/dist/esm/models/SystemPortalStorageUsage.d.ts +74 -0
  26. package/dist/esm/models/SystemPortalStorageUsage.js +71 -0
  27. package/dist/esm/models/SystemPortalSupportStats.d.ts +50 -0
  28. package/dist/esm/models/SystemPortalSupportStats.js +55 -0
  29. package/dist/esm/models/SystemPortalUserStats.d.ts +81 -0
  30. package/dist/esm/models/SystemPortalUserStats.js +74 -0
  31. package/dist/esm/models/index.d.ts +12 -0
  32. package/dist/esm/models/index.js +12 -0
  33. package/dist/models/GetSystemPortalOverview.d.ts +121 -0
  34. package/dist/models/GetSystemPortalOverview.js +113 -0
  35. package/dist/models/SystemPortalActivityStats.d.ts +56 -0
  36. package/dist/models/SystemPortalActivityStats.js +64 -0
  37. package/dist/models/SystemPortalCertificateStats.d.ts +50 -0
  38. package/dist/models/SystemPortalCertificateStats.js +62 -0
  39. package/dist/models/SystemPortalContentStats.d.ts +56 -0
  40. package/dist/models/SystemPortalContentStats.js +66 -0
  41. package/dist/models/SystemPortalCourseStats.d.ts +62 -0
  42. package/dist/models/SystemPortalCourseStats.js +70 -0
  43. package/dist/models/SystemPortalEnrollmentStats.d.ts +56 -0
  44. package/dist/models/SystemPortalEnrollmentStats.js +66 -0
  45. package/dist/models/SystemPortalHierarchy.d.ts +44 -0
  46. package/dist/models/SystemPortalHierarchy.js +54 -0
  47. package/dist/models/SystemPortalLicense.d.ts +65 -0
  48. package/dist/models/SystemPortalLicense.js +69 -0
  49. package/dist/models/SystemPortalRoleCount.d.ts +51 -0
  50. package/dist/models/SystemPortalRoleCount.js +67 -0
  51. package/dist/models/SystemPortalStorageUsage.d.ts +74 -0
  52. package/dist/models/SystemPortalStorageUsage.js +78 -0
  53. package/dist/models/SystemPortalSupportStats.d.ts +50 -0
  54. package/dist/models/SystemPortalSupportStats.js +62 -0
  55. package/dist/models/SystemPortalUserStats.d.ts +81 -0
  56. package/dist/models/SystemPortalUserStats.js +81 -0
  57. package/dist/models/index.d.ts +12 -0
  58. package/dist/models/index.js +12 -0
  59. package/docs/GetSystemPortalOverview.md +61 -0
  60. package/docs/SystemApi.md +68 -0
  61. package/docs/SystemPortalActivityStats.md +42 -0
  62. package/docs/SystemPortalCertificateStats.md +40 -0
  63. package/docs/SystemPortalContentStats.md +43 -0
  64. package/docs/SystemPortalCourseStats.md +44 -0
  65. package/docs/SystemPortalEnrollmentStats.md +43 -0
  66. package/docs/SystemPortalHierarchy.md +38 -0
  67. package/docs/SystemPortalLicense.md +42 -0
  68. package/docs/SystemPortalRoleCount.md +36 -0
  69. package/docs/SystemPortalStorageUsage.md +49 -0
  70. package/docs/SystemPortalSupportStats.md +40 -0
  71. package/docs/SystemPortalUserStats.md +50 -0
  72. package/package.json +1 -1
  73. package/src/apis/SystemApi.ts +54 -0
  74. package/src/models/GetSystemPortalOverview.ts +261 -0
  75. package/src/models/SystemPortalActivityStats.ts +101 -0
  76. package/src/models/SystemPortalCertificateStats.ts +93 -0
  77. package/src/models/SystemPortalContentStats.ts +102 -0
  78. package/src/models/SystemPortalCourseStats.ts +111 -0
  79. package/src/models/SystemPortalEnrollmentStats.ts +102 -0
  80. package/src/models/SystemPortalHierarchy.ts +82 -0
  81. package/src/models/SystemPortalLicense.ts +111 -0
  82. package/src/models/SystemPortalRoleCount.ts +91 -0
  83. package/src/models/SystemPortalStorageUsage.ts +129 -0
  84. package/src/models/SystemPortalSupportStats.ts +93 -0
  85. package/src/models/SystemPortalUserStats.ts +145 -0
  86. package/src/models/index.ts +12 -0
@@ -0,0 +1,81 @@
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
+ import type { SystemPortalRoleCount } from './SystemPortalRoleCount';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface SystemPortalUserStats
17
+ */
18
+ export interface SystemPortalUserStats {
19
+ /**
20
+ * Distinct users holding at least one active role in the portal.
21
+ * @type {number}
22
+ * @memberof SystemPortalUserStats
23
+ */
24
+ total: number;
25
+ /**
26
+ *
27
+ * @type {number}
28
+ * @memberof SystemPortalUserStats
29
+ */
30
+ enabled: number;
31
+ /**
32
+ *
33
+ * @type {number}
34
+ * @memberof SystemPortalUserStats
35
+ */
36
+ disabled: number;
37
+ /**
38
+ * Users whose earliest active role in the portal was assigned in the last 30 days.
39
+ * @type {number}
40
+ * @memberof SystemPortalUserStats
41
+ */
42
+ newLast30Days: number;
43
+ /**
44
+ * Distinct users who logged in to the portal in the last 7 days.
45
+ * @type {number}
46
+ * @memberof SystemPortalUserStats
47
+ */
48
+ activeLast7Days: number;
49
+ /**
50
+ *
51
+ * @type {number}
52
+ * @memberof SystemPortalUserStats
53
+ */
54
+ activeLast30Days: number;
55
+ /**
56
+ *
57
+ * @type {number}
58
+ * @memberof SystemPortalUserStats
59
+ */
60
+ pendingInvitations: number;
61
+ /**
62
+ *
63
+ * @type {number}
64
+ * @memberof SystemPortalUserStats
65
+ */
66
+ lastLoginAt?: number | null;
67
+ /**
68
+ * Distinct users per role base type. A user with several roles is counted once per base type.
69
+ * @type {Array<SystemPortalRoleCount>}
70
+ * @memberof SystemPortalUserStats
71
+ */
72
+ byRole: Array<SystemPortalRoleCount>;
73
+ }
74
+ /**
75
+ * Check if a given object implements the SystemPortalUserStats interface.
76
+ */
77
+ export declare function instanceOfSystemPortalUserStats(value: object): value is SystemPortalUserStats;
78
+ export declare function SystemPortalUserStatsFromJSON(json: any): SystemPortalUserStats;
79
+ export declare function SystemPortalUserStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemPortalUserStats;
80
+ export declare function SystemPortalUserStatsToJSON(json: any): SystemPortalUserStats;
81
+ export declare function SystemPortalUserStatsToJSONTyped(value?: SystemPortalUserStats | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * LMS API
6
+ * LMS API
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfSystemPortalUserStats = instanceOfSystemPortalUserStats;
17
+ exports.SystemPortalUserStatsFromJSON = SystemPortalUserStatsFromJSON;
18
+ exports.SystemPortalUserStatsFromJSONTyped = SystemPortalUserStatsFromJSONTyped;
19
+ exports.SystemPortalUserStatsToJSON = SystemPortalUserStatsToJSON;
20
+ exports.SystemPortalUserStatsToJSONTyped = SystemPortalUserStatsToJSONTyped;
21
+ const SystemPortalRoleCount_1 = require("./SystemPortalRoleCount");
22
+ /**
23
+ * Check if a given object implements the SystemPortalUserStats interface.
24
+ */
25
+ function instanceOfSystemPortalUserStats(value) {
26
+ if (!('total' in value) || value['total'] === undefined)
27
+ return false;
28
+ if (!('enabled' in value) || value['enabled'] === undefined)
29
+ return false;
30
+ if (!('disabled' in value) || value['disabled'] === undefined)
31
+ return false;
32
+ if (!('newLast30Days' in value) || value['newLast30Days'] === undefined)
33
+ return false;
34
+ if (!('activeLast7Days' in value) || value['activeLast7Days'] === undefined)
35
+ return false;
36
+ if (!('activeLast30Days' in value) || value['activeLast30Days'] === undefined)
37
+ return false;
38
+ if (!('pendingInvitations' in value) || value['pendingInvitations'] === undefined)
39
+ return false;
40
+ if (!('byRole' in value) || value['byRole'] === undefined)
41
+ return false;
42
+ return true;
43
+ }
44
+ function SystemPortalUserStatsFromJSON(json) {
45
+ return SystemPortalUserStatsFromJSONTyped(json, false);
46
+ }
47
+ function SystemPortalUserStatsFromJSONTyped(json, ignoreDiscriminator) {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+ 'total': json['total'],
53
+ 'enabled': json['enabled'],
54
+ 'disabled': json['disabled'],
55
+ 'newLast30Days': json['new_last_30_days'],
56
+ 'activeLast7Days': json['active_last_7_days'],
57
+ 'activeLast30Days': json['active_last_30_days'],
58
+ 'pendingInvitations': json['pending_invitations'],
59
+ 'lastLoginAt': json['last_login_at'] == null ? undefined : json['last_login_at'],
60
+ 'byRole': (json['by_role'].map(SystemPortalRoleCount_1.SystemPortalRoleCountFromJSON)),
61
+ };
62
+ }
63
+ function SystemPortalUserStatsToJSON(json) {
64
+ return SystemPortalUserStatsToJSONTyped(json, false);
65
+ }
66
+ function SystemPortalUserStatsToJSONTyped(value, ignoreDiscriminator = false) {
67
+ if (value == null) {
68
+ return value;
69
+ }
70
+ return {
71
+ 'total': value['total'],
72
+ 'enabled': value['enabled'],
73
+ 'disabled': value['disabled'],
74
+ 'new_last_30_days': value['newLast30Days'],
75
+ 'active_last_7_days': value['activeLast7Days'],
76
+ 'active_last_30_days': value['activeLast30Days'],
77
+ 'pending_invitations': value['pendingInvitations'],
78
+ 'last_login_at': value['lastLoginAt'],
79
+ 'by_role': (value['byRole'].map(SystemPortalRoleCount_1.SystemPortalRoleCountToJSON)),
80
+ };
81
+ }
@@ -165,6 +165,7 @@ export * from './GetSupportTicketList';
165
165
  export * from './GetSystemBillingItem';
166
166
  export * from './GetSystemBillingList';
167
167
  export * from './GetSystemMetrics';
168
+ export * from './GetSystemPortalOverview';
168
169
  export * from './GetUser';
169
170
  export * from './GetUserAvatarUpload';
170
171
  export * from './GetUserCourseList';
@@ -376,6 +377,17 @@ export * from './ScormSetValueRequest';
376
377
  export * from './ScormSetValueResponse';
377
378
  export * from './ScormTerminateResponse';
378
379
  export * from './SupportTicketUser';
380
+ export * from './SystemPortalActivityStats';
381
+ export * from './SystemPortalCertificateStats';
382
+ export * from './SystemPortalContentStats';
383
+ export * from './SystemPortalCourseStats';
384
+ export * from './SystemPortalEnrollmentStats';
385
+ export * from './SystemPortalHierarchy';
386
+ export * from './SystemPortalLicense';
387
+ export * from './SystemPortalRoleCount';
388
+ export * from './SystemPortalStorageUsage';
389
+ export * from './SystemPortalSupportStats';
390
+ export * from './SystemPortalUserStats';
379
391
  export * from './UpdateSelectedPortalResponse';
380
392
  export * from './UpdateSelectedPortalResponseHostPortal';
381
393
  export * from './UpdateSelectedPortalResponseSelectedPortal';
@@ -183,6 +183,7 @@ __exportStar(require("./GetSupportTicketList"), exports);
183
183
  __exportStar(require("./GetSystemBillingItem"), exports);
184
184
  __exportStar(require("./GetSystemBillingList"), exports);
185
185
  __exportStar(require("./GetSystemMetrics"), exports);
186
+ __exportStar(require("./GetSystemPortalOverview"), exports);
186
187
  __exportStar(require("./GetUser"), exports);
187
188
  __exportStar(require("./GetUserAvatarUpload"), exports);
188
189
  __exportStar(require("./GetUserCourseList"), exports);
@@ -394,6 +395,17 @@ __exportStar(require("./ScormSetValueRequest"), exports);
394
395
  __exportStar(require("./ScormSetValueResponse"), exports);
395
396
  __exportStar(require("./ScormTerminateResponse"), exports);
396
397
  __exportStar(require("./SupportTicketUser"), exports);
398
+ __exportStar(require("./SystemPortalActivityStats"), exports);
399
+ __exportStar(require("./SystemPortalCertificateStats"), exports);
400
+ __exportStar(require("./SystemPortalContentStats"), exports);
401
+ __exportStar(require("./SystemPortalCourseStats"), exports);
402
+ __exportStar(require("./SystemPortalEnrollmentStats"), exports);
403
+ __exportStar(require("./SystemPortalHierarchy"), exports);
404
+ __exportStar(require("./SystemPortalLicense"), exports);
405
+ __exportStar(require("./SystemPortalRoleCount"), exports);
406
+ __exportStar(require("./SystemPortalStorageUsage"), exports);
407
+ __exportStar(require("./SystemPortalSupportStats"), exports);
408
+ __exportStar(require("./SystemPortalUserStats"), exports);
397
409
  __exportStar(require("./UpdateSelectedPortalResponse"), exports);
398
410
  __exportStar(require("./UpdateSelectedPortalResponseHostPortal"), exports);
399
411
  __exportStar(require("./UpdateSelectedPortalResponseSelectedPortal"), exports);
@@ -0,0 +1,61 @@
1
+
2
+ # GetSystemPortalOverview
3
+
4
+ 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).
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `portal` | [GetPortal](GetPortal.md)
11
+ `createdAt` | number
12
+ `updatedAt` | number
13
+ `generatedAt` | number
14
+ `hierarchy` | [SystemPortalHierarchy](SystemPortalHierarchy.md)
15
+ `license` | [SystemPortalLicense](SystemPortalLicense.md)
16
+ `users` | [SystemPortalUserStats](SystemPortalUserStats.md)
17
+ `courses` | [SystemPortalCourseStats](SystemPortalCourseStats.md)
18
+ `enrollments` | [SystemPortalEnrollmentStats](SystemPortalEnrollmentStats.md)
19
+ `content` | [SystemPortalContentStats](SystemPortalContentStats.md)
20
+ `certificates` | [SystemPortalCertificateStats](SystemPortalCertificateStats.md)
21
+ `storage` | [SystemPortalStorageUsage](SystemPortalStorageUsage.md)
22
+ `activity` | [SystemPortalActivityStats](SystemPortalActivityStats.md)
23
+ `support` | [SystemPortalSupportStats](SystemPortalSupportStats.md)
24
+
25
+ ## Example
26
+
27
+ ```typescript
28
+ import type { GetSystemPortalOverview } from '@easyedu/js-lsm-api'
29
+
30
+ // TODO: Update the object below with actual values
31
+ const example = {
32
+ "portal": null,
33
+ "createdAt": null,
34
+ "updatedAt": null,
35
+ "generatedAt": null,
36
+ "hierarchy": null,
37
+ "license": null,
38
+ "users": null,
39
+ "courses": null,
40
+ "enrollments": null,
41
+ "content": null,
42
+ "certificates": null,
43
+ "storage": null,
44
+ "activity": null,
45
+ "support": null,
46
+ } satisfies GetSystemPortalOverview
47
+
48
+ console.log(example)
49
+
50
+ // Convert the instance to a JSON string
51
+ const exampleJSON: string = JSON.stringify(example)
52
+ console.log(exampleJSON)
53
+
54
+ // Parse the JSON string back to an object
55
+ const exampleParsed = JSON.parse(exampleJSON) as GetSystemPortalOverview
56
+ console.log(exampleParsed)
57
+ ```
58
+
59
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
60
+
61
+
package/docs/SystemApi.md CHANGED
@@ -7,6 +7,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
7
7
  | [**getSystemBilling**](SystemApi.md#getsystembilling) | **GET** /system/billing | List mock platform billing information |
8
8
  | [**getSystemMetrics**](SystemApi.md#getsystemmetrics) | **GET** /system/metrics | Get platform-wide metrics |
9
9
  | [**getSystemPortal**](SystemApi.md#getsystemportal) | **GET** /system/portals/{portalId} | Get platform portal detail |
10
+ | [**getSystemPortalOverview**](SystemApi.md#getsystemportaloverview) | **GET** /system/portals/{portalId}/overview | Get detailed platform portal overview and usage statistics |
10
11
  | [**getSystemPortals**](SystemApi.md#getsystemportals) | **GET** /system/portals | List all platform portals |
11
12
  | [**getSystemSupportTickets**](SystemApi.md#getsystemsupporttickets) | **GET** /system/support/tickets | List open support tickets across the platform |
12
13
 
@@ -206,6 +207,73 @@ No authorization required
206
207
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
207
208
 
208
209
 
210
+ ## getSystemPortalOverview
211
+
212
+ > GetSystemPortalOverview getSystemPortalOverview(portalId)
213
+
214
+ Get detailed platform portal overview and usage statistics
215
+
216
+ ### Example
217
+
218
+ ```ts
219
+ import {
220
+ Configuration,
221
+ SystemApi,
222
+ } from '@easyedu/js-lsm-api';
223
+ import type { GetSystemPortalOverviewRequest } from '@easyedu/js-lsm-api';
224
+
225
+ async function example() {
226
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
227
+ const api = new SystemApi();
228
+
229
+ const body = {
230
+ // string
231
+ portalId: portalId_example,
232
+ } satisfies GetSystemPortalOverviewRequest;
233
+
234
+ try {
235
+ const data = await api.getSystemPortalOverview(body);
236
+ console.log(data);
237
+ } catch (error) {
238
+ console.error(error);
239
+ }
240
+ }
241
+
242
+ // Run the test
243
+ example().catch(console.error);
244
+ ```
245
+
246
+ ### Parameters
247
+
248
+
249
+ | Name | Type | Description | Notes |
250
+ |------------- | ------------- | ------------- | -------------|
251
+ | **portalId** | `string` | | [Defaults to `undefined`] |
252
+
253
+ ### Return type
254
+
255
+ [**GetSystemPortalOverview**](GetSystemPortalOverview.md)
256
+
257
+ ### Authorization
258
+
259
+ No authorization required
260
+
261
+ ### HTTP request headers
262
+
263
+ - **Content-Type**: Not defined
264
+ - **Accept**: `application/json`
265
+
266
+
267
+ ### HTTP response details
268
+ | Status code | Description | Response headers |
269
+ |-------------|-------------|------------------|
270
+ | **200** | Portal overview with user, course, enrollment, content, certificate, storage, activity, and support statistics | - |
271
+ | **403** | Forbidden | - |
272
+ | **404** | Portal not found | - |
273
+
274
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
275
+
276
+
209
277
  ## getSystemPortals
210
278
 
211
279
  > GetPortalList getSystemPortals(page, pageSize)
@@ -0,0 +1,42 @@
1
+
2
+ # SystemPortalActivityStats
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `loginsLast30Days` | number
10
+ `learningSecondsLast30Days` | number
11
+ `chatRequestsLast30Days` | number
12
+ `chatTokensLast30Days` | number
13
+ `lastLearningActivityAt` | number
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { SystemPortalActivityStats } from '@easyedu/js-lsm-api'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "loginsLast30Days": null,
23
+ "learningSecondsLast30Days": null,
24
+ "chatRequestsLast30Days": null,
25
+ "chatTokensLast30Days": null,
26
+ "lastLearningActivityAt": null,
27
+ } satisfies SystemPortalActivityStats
28
+
29
+ console.log(example)
30
+
31
+ // Convert the instance to a JSON string
32
+ const exampleJSON: string = JSON.stringify(example)
33
+ console.log(exampleJSON)
34
+
35
+ // Parse the JSON string back to an object
36
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalActivityStats
37
+ console.log(exampleParsed)
38
+ ```
39
+
40
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
41
+
42
+
@@ -0,0 +1,40 @@
1
+
2
+ # SystemPortalCertificateStats
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `active` | number
10
+ `revoked` | number
11
+ `issuedLast30Days` | number
12
+ `expiringNext30Days` | number
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import type { SystemPortalCertificateStats } from '@easyedu/js-lsm-api'
18
+
19
+ // TODO: Update the object below with actual values
20
+ const example = {
21
+ "active": null,
22
+ "revoked": null,
23
+ "issuedLast30Days": null,
24
+ "expiringNext30Days": null,
25
+ } satisfies SystemPortalCertificateStats
26
+
27
+ console.log(example)
28
+
29
+ // Convert the instance to a JSON string
30
+ const exampleJSON: string = JSON.stringify(example)
31
+ console.log(exampleJSON)
32
+
33
+ // Parse the JSON string back to an object
34
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalCertificateStats
35
+ console.log(exampleParsed)
36
+ ```
37
+
38
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
39
+
40
+
@@ -0,0 +1,43 @@
1
+
2
+ # SystemPortalContentStats
3
+
4
+ Non-archived Content Library items and active question bank entries owned by the portal.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `libraryItems` | number
11
+ `resources` | number
12
+ `quizzes` | number
13
+ `certificateTemplates` | number
14
+ `questions` | number
15
+
16
+ ## Example
17
+
18
+ ```typescript
19
+ import type { SystemPortalContentStats } from '@easyedu/js-lsm-api'
20
+
21
+ // TODO: Update the object below with actual values
22
+ const example = {
23
+ "libraryItems": null,
24
+ "resources": null,
25
+ "quizzes": null,
26
+ "certificateTemplates": null,
27
+ "questions": null,
28
+ } satisfies SystemPortalContentStats
29
+
30
+ console.log(example)
31
+
32
+ // Convert the instance to a JSON string
33
+ const exampleJSON: string = JSON.stringify(example)
34
+ console.log(exampleJSON)
35
+
36
+ // Parse the JSON string back to an object
37
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalContentStats
38
+ console.log(exampleParsed)
39
+ ```
40
+
41
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
42
+
43
+
@@ -0,0 +1,44 @@
1
+
2
+ # SystemPortalCourseStats
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `total` | number
10
+ `published` | number
11
+ `unpublished` | number
12
+ `createdLast30Days` | number
13
+ `sharedIn` | number
14
+ `sharedOut` | number
15
+
16
+ ## Example
17
+
18
+ ```typescript
19
+ import type { SystemPortalCourseStats } from '@easyedu/js-lsm-api'
20
+
21
+ // TODO: Update the object below with actual values
22
+ const example = {
23
+ "total": null,
24
+ "published": null,
25
+ "unpublished": null,
26
+ "createdLast30Days": null,
27
+ "sharedIn": null,
28
+ "sharedOut": null,
29
+ } satisfies SystemPortalCourseStats
30
+
31
+ console.log(example)
32
+
33
+ // Convert the instance to a JSON string
34
+ const exampleJSON: string = JSON.stringify(example)
35
+ console.log(exampleJSON)
36
+
37
+ // Parse the JSON string back to an object
38
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalCourseStats
39
+ console.log(exampleParsed)
40
+ ```
41
+
42
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
43
+
44
+
@@ -0,0 +1,43 @@
1
+
2
+ # SystemPortalEnrollmentStats
3
+
4
+ Learner (Student) enrollments in the portal.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `total` | number
11
+ `active` | number
12
+ `completed` | number
13
+ `createdLast30Days` | number
14
+ `completedLast30Days` | number
15
+
16
+ ## Example
17
+
18
+ ```typescript
19
+ import type { SystemPortalEnrollmentStats } from '@easyedu/js-lsm-api'
20
+
21
+ // TODO: Update the object below with actual values
22
+ const example = {
23
+ "total": null,
24
+ "active": null,
25
+ "completed": null,
26
+ "createdLast30Days": null,
27
+ "completedLast30Days": null,
28
+ } satisfies SystemPortalEnrollmentStats
29
+
30
+ console.log(example)
31
+
32
+ // Convert the instance to a JSON string
33
+ const exampleJSON: string = JSON.stringify(example)
34
+ console.log(exampleJSON)
35
+
36
+ // Parse the JSON string back to an object
37
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalEnrollmentStats
38
+ console.log(exampleParsed)
39
+ ```
40
+
41
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
42
+
43
+
@@ -0,0 +1,38 @@
1
+
2
+ # SystemPortalHierarchy
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `parentPortalId` | string
10
+ `parentPortalName` | string
11
+ `childPortalCount` | number
12
+
13
+ ## Example
14
+
15
+ ```typescript
16
+ import type { SystemPortalHierarchy } from '@easyedu/js-lsm-api'
17
+
18
+ // TODO: Update the object below with actual values
19
+ const example = {
20
+ "parentPortalId": null,
21
+ "parentPortalName": null,
22
+ "childPortalCount": null,
23
+ } satisfies SystemPortalHierarchy
24
+
25
+ console.log(example)
26
+
27
+ // Convert the instance to a JSON string
28
+ const exampleJSON: string = JSON.stringify(example)
29
+ console.log(exampleJSON)
30
+
31
+ // Parse the JSON string back to an object
32
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalHierarchy
33
+ console.log(exampleParsed)
34
+ ```
35
+
36
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
37
+
38
+
@@ -0,0 +1,42 @@
1
+
2
+ # SystemPortalLicense
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `state` | string
10
+ `seatLimit` | number
11
+ `seatsUsed` | number
12
+ `licenseStartAt` | number
13
+ `licenseEndAt` | number
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { SystemPortalLicense } from '@easyedu/js-lsm-api'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "state": null,
23
+ "seatLimit": null,
24
+ "seatsUsed": null,
25
+ "licenseStartAt": null,
26
+ "licenseEndAt": null,
27
+ } satisfies SystemPortalLicense
28
+
29
+ console.log(example)
30
+
31
+ // Convert the instance to a JSON string
32
+ const exampleJSON: string = JSON.stringify(example)
33
+ console.log(exampleJSON)
34
+
35
+ // Parse the JSON string back to an object
36
+ const exampleParsed = JSON.parse(exampleJSON) as SystemPortalLicense
37
+ console.log(exampleParsed)
38
+ ```
39
+
40
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
41
+
42
+