@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.
- package/.openapi-generator/FILES +10 -2
- package/README.md +15 -3
- package/dist/apis/ContentApi.d.ts +74 -0
- package/dist/apis/ContentApi.js +172 -1
- package/dist/apis/CourseApi.d.ts +16 -0
- package/dist/apis/CourseApi.js +43 -0
- package/dist/apis/PortalApi.d.ts +58 -0
- package/dist/apis/PortalApi.js +152 -0
- package/dist/apis/SupportTicketApi.d.ts +2 -3
- package/dist/apis/SupportTicketApi.js +1 -2
- package/dist/esm/apis/ContentApi.d.ts +74 -0
- package/dist/esm/apis/ContentApi.js +171 -0
- package/dist/esm/apis/CourseApi.d.ts +16 -0
- package/dist/esm/apis/CourseApi.js +43 -0
- package/dist/esm/apis/PortalApi.d.ts +58 -0
- package/dist/esm/apis/PortalApi.js +152 -0
- package/dist/esm/apis/SupportTicketApi.d.ts +2 -3
- package/dist/esm/apis/SupportTicketApi.js +1 -2
- package/dist/esm/models/ContentAttemptItem.d.ts +69 -0
- package/dist/esm/models/ContentAttemptItem.js +68 -0
- package/dist/esm/models/ContentAttemptRollupScore.d.ts +38 -0
- package/dist/esm/models/ContentAttemptRollupScore.js +47 -0
- package/dist/esm/models/ContentAttemptScore.d.ts +50 -0
- package/dist/esm/models/ContentAttemptScore.js +47 -0
- package/dist/esm/models/ContentLaunchMode.d.ts +26 -0
- package/dist/esm/models/ContentLaunchMode.js +44 -0
- package/dist/esm/models/GetContent.d.ts +7 -0
- package/dist/esm/models/GetContent.js +5 -0
- package/dist/esm/models/GetContentAttempts.d.ts +90 -0
- package/dist/esm/models/GetContentAttempts.js +84 -0
- package/dist/esm/models/GetContentSession.d.ts +12 -0
- package/dist/esm/models/GetContentSession.js +8 -0
- package/dist/esm/models/GetContentSessionDetail.d.ts +12 -0
- package/dist/esm/models/GetContentSessionDetail.js +8 -0
- package/dist/esm/models/GetContentSessionListItem.d.ts +24 -0
- package/dist/esm/models/GetContentSessionListItem.js +16 -0
- package/dist/esm/models/GetPortal.d.ts +2 -2
- package/dist/esm/models/GetPortalFaviconUpload.d.ts +1 -1
- package/dist/esm/models/GetPortalLogoUpload.d.ts +1 -1
- package/dist/esm/models/GetPublicPortalBranding.d.ts +2 -2
- package/dist/esm/models/PostContentSession.d.ts +19 -0
- package/dist/esm/models/PostContentSession.js +13 -0
- package/dist/esm/models/PutContent.d.ts +7 -0
- package/dist/esm/models/PutContent.js +3 -0
- package/dist/esm/models/index.d.ts +5 -1
- package/dist/esm/models/index.js +5 -1
- package/dist/models/ContentAttemptItem.d.ts +69 -0
- package/dist/models/ContentAttemptItem.js +75 -0
- package/dist/models/ContentAttemptRollupScore.d.ts +38 -0
- package/dist/models/ContentAttemptRollupScore.js +54 -0
- package/dist/models/ContentAttemptScore.d.ts +50 -0
- package/dist/models/ContentAttemptScore.js +54 -0
- package/dist/models/ContentLaunchMode.d.ts +26 -0
- package/dist/models/ContentLaunchMode.js +52 -0
- package/dist/models/GetContent.d.ts +7 -0
- package/dist/models/GetContent.js +5 -0
- package/dist/models/GetContentAttempts.d.ts +90 -0
- package/dist/models/GetContentAttempts.js +92 -0
- package/dist/models/GetContentSession.d.ts +12 -0
- package/dist/models/GetContentSession.js +8 -0
- package/dist/models/GetContentSessionDetail.d.ts +12 -0
- package/dist/models/GetContentSessionDetail.js +8 -0
- package/dist/models/GetContentSessionListItem.d.ts +24 -0
- package/dist/models/GetContentSessionListItem.js +16 -0
- package/dist/models/GetPortal.d.ts +2 -2
- package/dist/models/GetPortalFaviconUpload.d.ts +1 -1
- package/dist/models/GetPortalLogoUpload.d.ts +1 -1
- package/dist/models/GetPublicPortalBranding.d.ts +2 -2
- package/dist/models/PostContentSession.d.ts +19 -0
- package/dist/models/PostContentSession.js +13 -0
- package/dist/models/PutContent.d.ts +7 -0
- package/dist/models/PutContent.js +3 -0
- package/dist/models/index.d.ts +5 -1
- package/dist/models/index.js +5 -1
- package/docs/ContentApi.md +238 -0
- package/docs/ContentAttemptItem.md +47 -0
- package/docs/ContentAttemptRollupScore.md +37 -0
- package/docs/ContentAttemptScore.md +41 -0
- package/docs/{DownloadSupportTicketAttachment200Response.md → ContentLaunchMode.md} +5 -6
- package/docs/CourseApi.md +72 -0
- package/docs/GetContent.md +2 -0
- package/docs/GetContentAttempts.md +51 -0
- package/docs/GetContentSession.md +4 -0
- package/docs/GetContentSessionDetail.md +4 -0
- package/docs/GetContentSessionListItem.md +8 -0
- package/docs/PortalApi.md +258 -0
- package/docs/PostContentSession.md +6 -0
- package/docs/PutContent.md +2 -0
- package/docs/SupportTicketApi.md +4 -4
- package/package.json +1 -1
- package/src/apis/ContentApi.ts +249 -0
- package/src/apis/CourseApi.ts +58 -0
- package/src/apis/PortalApi.ts +176 -0
- package/src/apis/SupportTicketApi.ts +3 -8
- package/src/models/ContentAttemptItem.ts +128 -0
- package/src/models/ContentAttemptRollupScore.ts +75 -0
- package/src/models/ContentAttemptScore.ts +89 -0
- package/src/models/ContentLaunchMode.ts +54 -0
- package/src/models/GetContent.ts +16 -0
- package/src/models/GetContentAttempts.ts +164 -0
- package/src/models/GetContentSession.ts +18 -0
- package/src/models/GetContentSessionDetail.ts +18 -0
- package/src/models/GetContentSessionListItem.ts +36 -0
- package/src/models/GetPortal.ts +2 -2
- package/src/models/GetPortalFaviconUpload.ts +1 -1
- package/src/models/GetPortalLogoUpload.ts +1 -1
- package/src/models/GetPublicPortalBranding.ts +2 -2
- package/src/models/PostContentSession.ts +37 -0
- package/src/models/PutContent.ts +18 -0
- package/src/models/index.ts +5 -1
- package/dist/esm/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
- package/dist/esm/models/DownloadSupportTicketAttachment200Response.js +0 -43
- package/dist/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
- package/dist/models/DownloadSupportTicketAttachment200Response.js +0 -50
- 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
|
-
#
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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)
|
package/docs/GetContent.md
CHANGED
|
@@ -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)
|