@easyedu/js-lsm-api 1.66.0 → 1.68.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 (115) hide show
  1. package/.openapi-generator/FILES +10 -2
  2. package/README.md +15 -3
  3. package/dist/apis/ContentApi.d.ts +74 -0
  4. package/dist/apis/ContentApi.js +172 -1
  5. package/dist/apis/CourseApi.d.ts +16 -0
  6. package/dist/apis/CourseApi.js +43 -0
  7. package/dist/apis/PortalApi.d.ts +58 -0
  8. package/dist/apis/PortalApi.js +152 -0
  9. package/dist/apis/SupportTicketApi.d.ts +2 -3
  10. package/dist/apis/SupportTicketApi.js +1 -2
  11. package/dist/esm/apis/ContentApi.d.ts +74 -0
  12. package/dist/esm/apis/ContentApi.js +171 -0
  13. package/dist/esm/apis/CourseApi.d.ts +16 -0
  14. package/dist/esm/apis/CourseApi.js +43 -0
  15. package/dist/esm/apis/PortalApi.d.ts +58 -0
  16. package/dist/esm/apis/PortalApi.js +152 -0
  17. package/dist/esm/apis/SupportTicketApi.d.ts +2 -3
  18. package/dist/esm/apis/SupportTicketApi.js +1 -2
  19. package/dist/esm/models/ContentAttemptItem.d.ts +69 -0
  20. package/dist/esm/models/ContentAttemptItem.js +68 -0
  21. package/dist/esm/models/ContentAttemptRollupScore.d.ts +38 -0
  22. package/dist/esm/models/ContentAttemptRollupScore.js +47 -0
  23. package/dist/esm/models/ContentAttemptScore.d.ts +50 -0
  24. package/dist/esm/models/ContentAttemptScore.js +47 -0
  25. package/dist/esm/models/ContentLaunchMode.d.ts +26 -0
  26. package/dist/esm/models/ContentLaunchMode.js +44 -0
  27. package/dist/esm/models/GetContent.d.ts +7 -0
  28. package/dist/esm/models/GetContent.js +5 -0
  29. package/dist/esm/models/GetContentAttempts.d.ts +90 -0
  30. package/dist/esm/models/GetContentAttempts.js +84 -0
  31. package/dist/esm/models/GetContentSession.d.ts +12 -0
  32. package/dist/esm/models/GetContentSession.js +8 -0
  33. package/dist/esm/models/GetContentSessionDetail.d.ts +12 -0
  34. package/dist/esm/models/GetContentSessionDetail.js +8 -0
  35. package/dist/esm/models/GetContentSessionListItem.d.ts +24 -0
  36. package/dist/esm/models/GetContentSessionListItem.js +16 -0
  37. package/dist/esm/models/GetPortal.d.ts +2 -2
  38. package/dist/esm/models/GetPortalFaviconUpload.d.ts +1 -1
  39. package/dist/esm/models/GetPortalLogoUpload.d.ts +1 -1
  40. package/dist/esm/models/GetPublicPortalBranding.d.ts +2 -2
  41. package/dist/esm/models/PostContentSession.d.ts +19 -0
  42. package/dist/esm/models/PostContentSession.js +13 -0
  43. package/dist/esm/models/PutContent.d.ts +7 -0
  44. package/dist/esm/models/PutContent.js +3 -0
  45. package/dist/esm/models/index.d.ts +5 -1
  46. package/dist/esm/models/index.js +5 -1
  47. package/dist/models/ContentAttemptItem.d.ts +69 -0
  48. package/dist/models/ContentAttemptItem.js +75 -0
  49. package/dist/models/ContentAttemptRollupScore.d.ts +38 -0
  50. package/dist/models/ContentAttemptRollupScore.js +54 -0
  51. package/dist/models/ContentAttemptScore.d.ts +50 -0
  52. package/dist/models/ContentAttemptScore.js +54 -0
  53. package/dist/models/ContentLaunchMode.d.ts +26 -0
  54. package/dist/models/ContentLaunchMode.js +52 -0
  55. package/dist/models/GetContent.d.ts +7 -0
  56. package/dist/models/GetContent.js +5 -0
  57. package/dist/models/GetContentAttempts.d.ts +90 -0
  58. package/dist/models/GetContentAttempts.js +92 -0
  59. package/dist/models/GetContentSession.d.ts +12 -0
  60. package/dist/models/GetContentSession.js +8 -0
  61. package/dist/models/GetContentSessionDetail.d.ts +12 -0
  62. package/dist/models/GetContentSessionDetail.js +8 -0
  63. package/dist/models/GetContentSessionListItem.d.ts +24 -0
  64. package/dist/models/GetContentSessionListItem.js +16 -0
  65. package/dist/models/GetPortal.d.ts +2 -2
  66. package/dist/models/GetPortalFaviconUpload.d.ts +1 -1
  67. package/dist/models/GetPortalLogoUpload.d.ts +1 -1
  68. package/dist/models/GetPublicPortalBranding.d.ts +2 -2
  69. package/dist/models/PostContentSession.d.ts +19 -0
  70. package/dist/models/PostContentSession.js +13 -0
  71. package/dist/models/PutContent.d.ts +7 -0
  72. package/dist/models/PutContent.js +3 -0
  73. package/dist/models/index.d.ts +5 -1
  74. package/dist/models/index.js +5 -1
  75. package/docs/ContentApi.md +238 -0
  76. package/docs/ContentAttemptItem.md +47 -0
  77. package/docs/ContentAttemptRollupScore.md +37 -0
  78. package/docs/ContentAttemptScore.md +41 -0
  79. package/docs/{DownloadSupportTicketAttachment200Response.md → ContentLaunchMode.md} +5 -6
  80. package/docs/CourseApi.md +72 -0
  81. package/docs/GetContent.md +2 -0
  82. package/docs/GetContentAttempts.md +51 -0
  83. package/docs/GetContentSession.md +4 -0
  84. package/docs/GetContentSessionDetail.md +4 -0
  85. package/docs/GetContentSessionListItem.md +8 -0
  86. package/docs/PortalApi.md +258 -0
  87. package/docs/PostContentSession.md +6 -0
  88. package/docs/PutContent.md +2 -0
  89. package/docs/SupportTicketApi.md +4 -4
  90. package/package.json +1 -1
  91. package/src/apis/ContentApi.ts +249 -0
  92. package/src/apis/CourseApi.ts +58 -0
  93. package/src/apis/PortalApi.ts +176 -0
  94. package/src/apis/SupportTicketApi.ts +3 -8
  95. package/src/models/ContentAttemptItem.ts +128 -0
  96. package/src/models/ContentAttemptRollupScore.ts +75 -0
  97. package/src/models/ContentAttemptScore.ts +89 -0
  98. package/src/models/ContentLaunchMode.ts +54 -0
  99. package/src/models/GetContent.ts +16 -0
  100. package/src/models/GetContentAttempts.ts +164 -0
  101. package/src/models/GetContentSession.ts +18 -0
  102. package/src/models/GetContentSessionDetail.ts +18 -0
  103. package/src/models/GetContentSessionListItem.ts +36 -0
  104. package/src/models/GetPortal.ts +2 -2
  105. package/src/models/GetPortalFaviconUpload.ts +1 -1
  106. package/src/models/GetPortalLogoUpload.ts +1 -1
  107. package/src/models/GetPublicPortalBranding.ts +2 -2
  108. package/src/models/PostContentSession.ts +37 -0
  109. package/src/models/PutContent.ts +18 -0
  110. package/src/models/index.ts +5 -1
  111. package/dist/esm/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
  112. package/dist/esm/models/DownloadSupportTicketAttachment200Response.js +0 -43
  113. package/dist/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
  114. package/dist/models/DownloadSupportTicketAttachment200Response.js +0 -50
  115. package/src/models/DownloadSupportTicketAttachment200Response.ts +0 -66
@@ -0,0 +1,47 @@
1
+
2
+ # ContentAttemptItem
3
+
4
+ A single learner attempt for a content item
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `sessionId` | string
11
+ `attemptNumber` | number
12
+ `completionStatus` | string
13
+ `gradeStatus` | string
14
+ `score` | [ContentAttemptScore](ContentAttemptScore.md)
15
+ `createdAt` | number
16
+ `updatedAt` | number
17
+
18
+ ## Example
19
+
20
+ ```typescript
21
+ import type { ContentAttemptItem } from '@easyedu/js-lsm-api'
22
+
23
+ // TODO: Update the object below with actual values
24
+ const example = {
25
+ "sessionId": null,
26
+ "attemptNumber": null,
27
+ "completionStatus": null,
28
+ "gradeStatus": null,
29
+ "score": null,
30
+ "createdAt": null,
31
+ "updatedAt": null,
32
+ } satisfies ContentAttemptItem
33
+
34
+ console.log(example)
35
+
36
+ // Convert the instance to a JSON string
37
+ const exampleJSON: string = JSON.stringify(example)
38
+ console.log(exampleJSON)
39
+
40
+ // Parse the JSON string back to an object
41
+ const exampleParsed = JSON.parse(exampleJSON) as ContentAttemptItem
42
+ console.log(exampleParsed)
43
+ ```
44
+
45
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
46
+
47
+
@@ -0,0 +1,37 @@
1
+
2
+ # ContentAttemptRollupScore
3
+
4
+ Rolled-up score for a content item
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `percentage` | number
11
+ `sourceAttemptNumber` | number
12
+
13
+ ## Example
14
+
15
+ ```typescript
16
+ import type { ContentAttemptRollupScore } from '@easyedu/js-lsm-api'
17
+
18
+ // TODO: Update the object below with actual values
19
+ const example = {
20
+ "percentage": null,
21
+ "sourceAttemptNumber": null,
22
+ } satisfies ContentAttemptRollupScore
23
+
24
+ console.log(example)
25
+
26
+ // Convert the instance to a JSON string
27
+ const exampleJSON: string = JSON.stringify(example)
28
+ console.log(exampleJSON)
29
+
30
+ // Parse the JSON string back to an object
31
+ const exampleParsed = JSON.parse(exampleJSON) as ContentAttemptRollupScore
32
+ console.log(exampleParsed)
33
+ ```
34
+
35
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
36
+
37
+
@@ -0,0 +1,41 @@
1
+
2
+ # ContentAttemptScore
3
+
4
+ Normalized score data for a content attempt
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `raw` | number
11
+ `min` | number
12
+ `max` | number
13
+ `percentage` | number
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { ContentAttemptScore } from '@easyedu/js-lsm-api'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "raw": null,
23
+ "min": null,
24
+ "max": null,
25
+ "percentage": null,
26
+ } satisfies ContentAttemptScore
27
+
28
+ console.log(example)
29
+
30
+ // Convert the instance to a JSON string
31
+ const exampleJSON: string = JSON.stringify(example)
32
+ console.log(exampleJSON)
33
+
34
+ // Parse the JSON string back to an object
35
+ const exampleParsed = JSON.parse(exampleJSON) as ContentAttemptScore
36
+ console.log(exampleParsed)
37
+ ```
38
+
39
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
40
+
41
+
@@ -1,22 +1,21 @@
1
1
 
2
- # DownloadSupportTicketAttachment200Response
2
+ # ContentLaunchMode
3
3
 
4
+ How the learner player should present the launched content.
4
5
 
5
6
  ## Properties
6
7
 
7
8
  Name | Type
8
9
  ------------ | -------------
9
- `downloadUrl` | string
10
10
 
11
11
  ## Example
12
12
 
13
13
  ```typescript
14
- import type { DownloadSupportTicketAttachment200Response } from '@easyedu/js-lsm-api'
14
+ import type { ContentLaunchMode } from '@easyedu/js-lsm-api'
15
15
 
16
16
  // TODO: Update the object below with actual values
17
17
  const example = {
18
- "downloadUrl": null,
19
- } satisfies DownloadSupportTicketAttachment200Response
18
+ } satisfies ContentLaunchMode
20
19
 
21
20
  console.log(example)
22
21
 
@@ -25,7 +24,7 @@ const exampleJSON: string = JSON.stringify(example)
25
24
  console.log(exampleJSON)
26
25
 
27
26
  // Parse the JSON string back to an object
28
- const exampleParsed = JSON.parse(exampleJSON) as DownloadSupportTicketAttachment200Response
27
+ const exampleParsed = JSON.parse(exampleJSON) as ContentLaunchMode
29
28
  console.log(exampleParsed)
30
29
  ```
31
30
 
package/docs/CourseApi.md CHANGED
@@ -8,6 +8,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
8
8
  | [**deleteCourseEnrollment**](CourseApi.md#deletecourseenrollment) | **DELETE** /courses/{courseId}/enrollments/{enrollmentId} | Remove a course enrollment |
9
9
  | [**deleteCourseExport**](CourseApi.md#deletecourseexport) | **DELETE** /courses/{courseId}/exports/{exportId} | Delete a course export |
10
10
  | [**deleteCourseImage**](CourseApi.md#deletecourseimage) | **DELETE** /courses/{courseId}/image | Remove the course image |
11
+ | [**downloadCourseExport**](CourseApi.md#downloadcourseexport) | **GET** /courses/{courseId}/exports/{exportId}/download | Download a completed course export |
11
12
  | [**getCourse**](CourseApi.md#getcourse) | **GET** /courses/{courseId} | get course |
12
13
  | [**getCourseEnrollment**](CourseApi.md#getcourseenrollment) | **GET** /courses/{courseId}/enrollments/{enrollmentId} | Get a specific course enrollment |
13
14
  | [**getCourseEnrollments**](CourseApi.md#getcourseenrollments) | **GET** /courses/{courseId}/enrollments | Get course enrollments |
@@ -299,6 +300,77 @@ No authorization required
299
300
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
300
301
 
301
302
 
303
+ ## downloadCourseExport
304
+
305
+ > Blob downloadCourseExport(courseId, exportId)
306
+
307
+ Download a completed course export
308
+
309
+ ### Example
310
+
311
+ ```ts
312
+ import {
313
+ Configuration,
314
+ CourseApi,
315
+ } from '@easyedu/js-lsm-api';
316
+ import type { DownloadCourseExportRequest } from '@easyedu/js-lsm-api';
317
+
318
+ async function example() {
319
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
320
+ const api = new CourseApi();
321
+
322
+ const body = {
323
+ // string
324
+ courseId: courseId_example,
325
+ // string
326
+ exportId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
327
+ } satisfies DownloadCourseExportRequest;
328
+
329
+ try {
330
+ const data = await api.downloadCourseExport(body);
331
+ console.log(data);
332
+ } catch (error) {
333
+ console.error(error);
334
+ }
335
+ }
336
+
337
+ // Run the test
338
+ example().catch(console.error);
339
+ ```
340
+
341
+ ### Parameters
342
+
343
+
344
+ | Name | Type | Description | Notes |
345
+ |------------- | ------------- | ------------- | -------------|
346
+ | **courseId** | `string` | | [Defaults to `undefined`] |
347
+ | **exportId** | `string` | | [Defaults to `undefined`] |
348
+
349
+ ### Return type
350
+
351
+ **Blob**
352
+
353
+ ### Authorization
354
+
355
+ No authorization required
356
+
357
+ ### HTTP request headers
358
+
359
+ - **Content-Type**: Not defined
360
+ - **Accept**: `application/zip`
361
+
362
+
363
+ ### HTTP response details
364
+ | Status code | Description | Response headers |
365
+ |-------------|-------------|------------------|
366
+ | **200** | Export ZIP | - |
367
+ | **401** | Unauthorized | - |
368
+ | **403** | Forbidden | - |
369
+ | **404** | Export or course not found | - |
370
+
371
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
372
+
373
+
302
374
  ## getCourse
303
375
 
304
376
  > GetCourse getCourse(courseId)
@@ -11,6 +11,7 @@ Name | Type
11
11
  `name` | string
12
12
  `description` | string
13
13
  `contentType` | string
14
+ `launchMode` | [ContentLaunchMode](ContentLaunchMode.md)
14
15
  `contentData` | [GetContentContentData](GetContentContentData.md)
15
16
  `order` | number
16
17
  `published` | boolean
@@ -32,6 +33,7 @@ const example = {
32
33
  "name": null,
33
34
  "description": null,
34
35
  "contentType": null,
36
+ "launchMode": null,
35
37
  "contentData": null,
36
38
  "order": null,
37
39
  "published": null,
@@ -0,0 +1,51 @@
1
+
2
+ # GetContentAttempts
3
+
4
+ Learner attempt history and rollup for a content item
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `contentId` | string
11
+ `userId` | string
12
+ `maxAttempts` | number
13
+ `attemptsUsed` | number
14
+ `attemptsRemaining` | number
15
+ `canStartNewAttempt` | boolean
16
+ `scoreRollupStrategy` | string
17
+ `rollupScore` | [ContentAttemptRollupScore](ContentAttemptRollupScore.md)
18
+ `attempts` | [Array<ContentAttemptItem>](ContentAttemptItem.md)
19
+
20
+ ## Example
21
+
22
+ ```typescript
23
+ import type { GetContentAttempts } from '@easyedu/js-lsm-api'
24
+
25
+ // TODO: Update the object below with actual values
26
+ const example = {
27
+ "contentId": null,
28
+ "userId": null,
29
+ "maxAttempts": null,
30
+ "attemptsUsed": null,
31
+ "attemptsRemaining": null,
32
+ "canStartNewAttempt": null,
33
+ "scoreRollupStrategy": null,
34
+ "rollupScore": null,
35
+ "attempts": null,
36
+ } satisfies GetContentAttempts
37
+
38
+ console.log(example)
39
+
40
+ // Convert the instance to a JSON string
41
+ const exampleJSON: string = JSON.stringify(example)
42
+ console.log(exampleJSON)
43
+
44
+ // Parse the JSON string back to an object
45
+ const exampleParsed = JSON.parse(exampleJSON) as GetContentAttempts
46
+ console.log(exampleParsed)
47
+ ```
48
+
49
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
50
+
51
+
@@ -13,6 +13,8 @@ Name | Type
13
13
  `updatedAt` | number
14
14
  `completionStatus` | string
15
15
  `gradeStatus` | string
16
+ `attemptNumber` | number
17
+ `isCurrent` | boolean
16
18
 
17
19
  ## Example
18
20
 
@@ -27,6 +29,8 @@ const example = {
27
29
  "updatedAt": null,
28
30
  "completionStatus": null,
29
31
  "gradeStatus": null,
32
+ "attemptNumber": null,
33
+ "isCurrent": null,
30
34
  } satisfies GetContentSession
31
35
 
32
36
  console.log(example)
@@ -14,6 +14,8 @@ Name | Type
14
14
  `completionStatus` | string
15
15
  `gradeStatus` | string
16
16
  `durationInSeconds` | number
17
+ `attemptNumber` | number
18
+ `isCurrent` | boolean
17
19
  `userData` | [GetContentSessionDetailUserData](GetContentSessionDetailUserData.md)
18
20
  `scormSessionData` | [Array<GetContentSessionDetailScormSessionDataInner>](GetContentSessionDetailScormSessionDataInner.md)
19
21
 
@@ -31,6 +33,8 @@ const example = {
31
33
  "completionStatus": null,
32
34
  "gradeStatus": null,
33
35
  "durationInSeconds": null,
36
+ "attemptNumber": null,
37
+ "isCurrent": null,
34
38
  "userData": null,
35
39
  "scormSessionData": null,
36
40
  } satisfies GetContentSessionDetail
@@ -11,6 +11,10 @@ Name | Type
11
11
  `createdAt` | number
12
12
  `updatedAt` | number
13
13
  `contentId` | string
14
+ `completionStatus` | string
15
+ `gradeStatus` | string
16
+ `attemptNumber` | number
17
+ `isCurrent` | boolean
14
18
  `userData` | [GetContentSessionDetailUserData](GetContentSessionDetailUserData.md)
15
19
  `scormSessionData` | [GetContentSessionListItemScormSessionData](GetContentSessionListItemScormSessionData.md)
16
20
 
@@ -25,6 +29,10 @@ const example = {
25
29
  "createdAt": null,
26
30
  "updatedAt": null,
27
31
  "contentId": null,
32
+ "completionStatus": null,
33
+ "gradeStatus": null,
34
+ "attemptNumber": null,
35
+ "isCurrent": null,
28
36
  "userData": null,
29
37
  "scormSessionData": null,
30
38
  } satisfies GetContentSessionListItem
package/docs/PortalApi.md CHANGED
@@ -7,9 +7,13 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
7
7
  | [**deletePortalFavicon**](PortalApi.md#deleteportalfavicon) | **DELETE** /portals/{portalId}/branding/favicon | Remove the portal favicon |
8
8
  | [**deletePortalLogo**](PortalApi.md#deleteportallogo) | **DELETE** /portals/{portalId}/branding/logo | Remove the portal logo |
9
9
  | [**getPortalById**](PortalApi.md#getportalbyid) | **GET** /portals/{portalId} | Get a portal by id (can use \'current\' to get the current users selected portal) |
10
+ | [**getPortalFaviconAsset**](PortalApi.md#getportalfaviconasset) | **GET** /portals/{portalId}/branding/favicon | Stream the configured portal favicon |
10
11
  | [**getPortalList**](PortalApi.md#getportallist) | **GET** /portals | Get all portals a user has access to |
12
+ | [**getPortalLogoAsset**](PortalApi.md#getportallogoasset) | **GET** /portals/{portalId}/branding/logo | Stream the configured portal logo |
11
13
  | [**getPortalUsers**](PortalApi.md#getportalusers) | **GET** /portals/{portalId}/users | Get all users for a portal with optional role filtering |
12
14
  | [**getPublicPortalBranding**](PortalApi.md#getpublicportalbranding) | **GET** /public/portal/branding | Public portal branding resolved from the request host |
15
+ | [**getPublicPortalFaviconAsset**](PortalApi.md#getpublicportalfaviconasset) | **GET** /public/portal/branding/favicon | Public portal favicon resolved from the request host |
16
+ | [**getPublicPortalLogoAsset**](PortalApi.md#getpublicportallogoasset) | **GET** /public/portal/branding/logo | Public portal logo resolved from the request host |
13
17
  | [**inviteUserToPortal**](PortalApi.md#inviteusertoportal) | **POST** /portals/{portalId}/invite | Invite a new user to a portal |
14
18
  | [**postPortal**](PortalApi.md#postportal) | **POST** /portals | Create a new portal as a child of the current selected portal |
15
19
  | [**postPortalFaviconUpload**](PortalApi.md#postportalfaviconupload) | **POST** /portals/{portalId}/branding/favicon | Upload a favicon image for portal branding |
@@ -217,6 +221,72 @@ No authorization required
217
221
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
218
222
 
219
223
 
224
+ ## getPortalFaviconAsset
225
+
226
+ > Blob getPortalFaviconAsset(portalId)
227
+
228
+ Stream the configured portal favicon
229
+
230
+ ### Example
231
+
232
+ ```ts
233
+ import {
234
+ Configuration,
235
+ PortalApi,
236
+ } from '@easyedu/js-lsm-api';
237
+ import type { GetPortalFaviconAssetRequest } from '@easyedu/js-lsm-api';
238
+
239
+ async function example() {
240
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
241
+ const api = new PortalApi();
242
+
243
+ const body = {
244
+ // string
245
+ portalId: portalId_example,
246
+ } satisfies GetPortalFaviconAssetRequest;
247
+
248
+ try {
249
+ const data = await api.getPortalFaviconAsset(body);
250
+ console.log(data);
251
+ } catch (error) {
252
+ console.error(error);
253
+ }
254
+ }
255
+
256
+ // Run the test
257
+ example().catch(console.error);
258
+ ```
259
+
260
+ ### Parameters
261
+
262
+
263
+ | Name | Type | Description | Notes |
264
+ |------------- | ------------- | ------------- | -------------|
265
+ | **portalId** | `string` | | [Defaults to `undefined`] |
266
+
267
+ ### Return type
268
+
269
+ **Blob**
270
+
271
+ ### Authorization
272
+
273
+ No authorization required
274
+
275
+ ### HTTP request headers
276
+
277
+ - **Content-Type**: Not defined
278
+ - **Accept**: `image/png`, `image/jpeg`, `image/svg+xml`, `image/x-icon`, `application/octet-stream`
279
+
280
+
281
+ ### HTTP response details
282
+ | Status code | Description | Response headers |
283
+ |-------------|-------------|------------------|
284
+ | **200** | Portal favicon image | - |
285
+ | **404** | Portal or favicon not found | - |
286
+
287
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
288
+
289
+
220
290
  ## getPortalList
221
291
 
222
292
  > GetPortalList getPortalList()
@@ -274,6 +344,72 @@ No authorization required
274
344
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
275
345
 
276
346
 
347
+ ## getPortalLogoAsset
348
+
349
+ > Blob getPortalLogoAsset(portalId)
350
+
351
+ Stream the configured portal logo
352
+
353
+ ### Example
354
+
355
+ ```ts
356
+ import {
357
+ Configuration,
358
+ PortalApi,
359
+ } from '@easyedu/js-lsm-api';
360
+ import type { GetPortalLogoAssetRequest } from '@easyedu/js-lsm-api';
361
+
362
+ async function example() {
363
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
364
+ const api = new PortalApi();
365
+
366
+ const body = {
367
+ // string
368
+ portalId: portalId_example,
369
+ } satisfies GetPortalLogoAssetRequest;
370
+
371
+ try {
372
+ const data = await api.getPortalLogoAsset(body);
373
+ console.log(data);
374
+ } catch (error) {
375
+ console.error(error);
376
+ }
377
+ }
378
+
379
+ // Run the test
380
+ example().catch(console.error);
381
+ ```
382
+
383
+ ### Parameters
384
+
385
+
386
+ | Name | Type | Description | Notes |
387
+ |------------- | ------------- | ------------- | -------------|
388
+ | **portalId** | `string` | | [Defaults to `undefined`] |
389
+
390
+ ### Return type
391
+
392
+ **Blob**
393
+
394
+ ### Authorization
395
+
396
+ No authorization required
397
+
398
+ ### HTTP request headers
399
+
400
+ - **Content-Type**: Not defined
401
+ - **Accept**: `image/png`, `image/jpeg`, `image/svg+xml`, `application/octet-stream`
402
+
403
+
404
+ ### HTTP response details
405
+ | Status code | Description | Response headers |
406
+ |-------------|-------------|------------------|
407
+ | **200** | Portal logo image | - |
408
+ | **404** | Portal or logo not found | - |
409
+
410
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
411
+
412
+
277
413
  ## getPortalUsers
278
414
 
279
415
  > GetPortalUserList getPortalUsers(portalId, type, roles, search, page, pageSize)
@@ -417,6 +553,128 @@ No authorization required
417
553
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
418
554
 
419
555
 
556
+ ## getPublicPortalFaviconAsset
557
+
558
+ > Blob getPublicPortalFaviconAsset()
559
+
560
+ Public portal favicon resolved from the request host
561
+
562
+ Resolves the browser Origin/Referer/Host to a portal and streams its configured favicon.
563
+
564
+ ### Example
565
+
566
+ ```ts
567
+ import {
568
+ Configuration,
569
+ PortalApi,
570
+ } from '@easyedu/js-lsm-api';
571
+ import type { GetPublicPortalFaviconAssetRequest } from '@easyedu/js-lsm-api';
572
+
573
+ async function example() {
574
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
575
+ const api = new PortalApi();
576
+
577
+ try {
578
+ const data = await api.getPublicPortalFaviconAsset();
579
+ console.log(data);
580
+ } catch (error) {
581
+ console.error(error);
582
+ }
583
+ }
584
+
585
+ // Run the test
586
+ example().catch(console.error);
587
+ ```
588
+
589
+ ### Parameters
590
+
591
+ This endpoint does not need any parameter.
592
+
593
+ ### Return type
594
+
595
+ **Blob**
596
+
597
+ ### Authorization
598
+
599
+ No authorization required
600
+
601
+ ### HTTP request headers
602
+
603
+ - **Content-Type**: Not defined
604
+ - **Accept**: `image/png`, `image/jpeg`, `image/svg+xml`, `image/x-icon`, `application/octet-stream`
605
+
606
+
607
+ ### HTTP response details
608
+ | Status code | Description | Response headers |
609
+ |-------------|-------------|------------------|
610
+ | **200** | Public portal favicon image | - |
611
+ | **400** | Invalid portal host | - |
612
+ | **404** | Portal host or favicon not found | - |
613
+
614
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
615
+
616
+
617
+ ## getPublicPortalLogoAsset
618
+
619
+ > Blob getPublicPortalLogoAsset()
620
+
621
+ Public portal logo resolved from the request host
622
+
623
+ Resolves the browser Origin/Referer/Host to a portal and streams its configured logo.
624
+
625
+ ### Example
626
+
627
+ ```ts
628
+ import {
629
+ Configuration,
630
+ PortalApi,
631
+ } from '@easyedu/js-lsm-api';
632
+ import type { GetPublicPortalLogoAssetRequest } from '@easyedu/js-lsm-api';
633
+
634
+ async function example() {
635
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
636
+ const api = new PortalApi();
637
+
638
+ try {
639
+ const data = await api.getPublicPortalLogoAsset();
640
+ console.log(data);
641
+ } catch (error) {
642
+ console.error(error);
643
+ }
644
+ }
645
+
646
+ // Run the test
647
+ example().catch(console.error);
648
+ ```
649
+
650
+ ### Parameters
651
+
652
+ This endpoint does not need any parameter.
653
+
654
+ ### Return type
655
+
656
+ **Blob**
657
+
658
+ ### Authorization
659
+
660
+ No authorization required
661
+
662
+ ### HTTP request headers
663
+
664
+ - **Content-Type**: Not defined
665
+ - **Accept**: `image/png`, `image/jpeg`, `image/svg+xml`, `application/octet-stream`
666
+
667
+
668
+ ### HTTP response details
669
+ | Status code | Description | Response headers |
670
+ |-------------|-------------|------------------|
671
+ | **200** | Public portal logo image | - |
672
+ | **400** | Invalid portal host | - |
673
+ | **404** | Portal host or logo not found | - |
674
+
675
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
676
+
677
+
420
678
  ## inviteUserToPortal
421
679
 
422
680
  > inviteUserToPortal(portalId, postPortalInvite)
@@ -10,8 +10,11 @@ Name | Type
10
10
  `contentId` | string
11
11
  `userId` | string
12
12
  `launchUrl` | string
13
+ `launchMode` | [ContentLaunchMode](ContentLaunchMode.md)
13
14
  `createdAt` | number
14
15
  `playerSessionId` | string
16
+ `attemptNumber` | number
17
+ `isCurrent` | boolean
15
18
 
16
19
  ## Example
17
20
 
@@ -23,8 +26,11 @@ const example = {
23
26
  "contentId": null,
24
27
  "userId": null,
25
28
  "launchUrl": null,
29
+ "launchMode": null,
26
30
  "createdAt": null,
27
31
  "playerSessionId": null,
32
+ "attemptNumber": null,
33
+ "isCurrent": null,
28
34
  } satisfies PostContentSession
29
35
 
30
36
  console.log(example)