@easyedu/js-lsm-api 1.92.0 → 1.94.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 +6 -0
- package/README.md +6 -2
- package/dist/apis/ContentLibraryQuizApi.d.ts +18 -0
- package/dist/apis/ContentLibraryQuizApi.js +49 -0
- package/dist/esm/apis/ContentLibraryQuizApi.d.ts +18 -0
- package/dist/esm/apis/ContentLibraryQuizApi.js +49 -0
- package/dist/esm/models/GetLibraryQuizCriteriaPreview.d.ts +39 -0
- package/dist/esm/models/GetLibraryQuizCriteriaPreview.js +48 -0
- package/dist/esm/models/GetQuestion.d.ts +7 -1
- package/dist/esm/models/GetQuestion.js +3 -0
- package/dist/esm/models/LibraryQuizCriteriaPreviewQuestion.d.ts +96 -0
- package/dist/esm/models/LibraryQuizCriteriaPreviewQuestion.js +89 -0
- package/dist/esm/models/LibraryQuizCriterionPreview.d.ts +63 -0
- package/dist/esm/models/LibraryQuizCriterionPreview.js +62 -0
- package/dist/esm/models/LibraryQuizQuestion.d.ts +43 -0
- package/dist/esm/models/LibraryQuizQuestion.js +30 -0
- package/dist/esm/models/index.d.ts +3 -0
- package/dist/esm/models/index.js +3 -0
- package/dist/models/GetLibraryQuizCriteriaPreview.d.ts +39 -0
- package/dist/models/GetLibraryQuizCriteriaPreview.js +55 -0
- package/dist/models/GetQuestion.d.ts +7 -1
- package/dist/models/GetQuestion.js +3 -0
- package/dist/models/LibraryQuizCriteriaPreviewQuestion.d.ts +96 -0
- package/dist/models/LibraryQuizCriteriaPreviewQuestion.js +97 -0
- package/dist/models/LibraryQuizCriterionPreview.d.ts +63 -0
- package/dist/models/LibraryQuizCriterionPreview.js +69 -0
- package/dist/models/LibraryQuizQuestion.d.ts +43 -0
- package/dist/models/LibraryQuizQuestion.js +31 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.js +3 -0
- package/docs/ContentLibraryQuizApi.md +73 -0
- package/docs/GetLibraryQuizCriteriaPreview.md +36 -0
- package/docs/GetQuestion.md +2 -0
- package/docs/LibraryQuizCriteriaPreviewQuestion.md +48 -0
- package/docs/LibraryQuizCriterionPreview.md +44 -0
- package/docs/LibraryQuizQuestion.md +10 -0
- package/package.json +1 -1
- package/src/apis/ContentLibraryQuizApi.ts +74 -0
- package/src/models/GetLibraryQuizCriteriaPreview.ts +83 -0
- package/src/models/GetQuestion.ts +9 -1
- package/src/models/LibraryQuizCriteriaPreviewQuestion.ts +161 -0
- package/src/models/LibraryQuizCriterionPreview.ts +118 -0
- package/src/models/LibraryQuizQuestion.ts +67 -0
- package/src/models/index.ts +3 -0
|
@@ -0,0 +1,69 @@
|
|
|
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.instanceOfLibraryQuizCriterionPreview = instanceOfLibraryQuizCriterionPreview;
|
|
17
|
+
exports.LibraryQuizCriterionPreviewFromJSON = LibraryQuizCriterionPreviewFromJSON;
|
|
18
|
+
exports.LibraryQuizCriterionPreviewFromJSONTyped = LibraryQuizCriterionPreviewFromJSONTyped;
|
|
19
|
+
exports.LibraryQuizCriterionPreviewToJSON = LibraryQuizCriterionPreviewToJSON;
|
|
20
|
+
exports.LibraryQuizCriterionPreviewToJSONTyped = LibraryQuizCriterionPreviewToJSONTyped;
|
|
21
|
+
const LibraryQuizCriteriaPreviewQuestion_1 = require("./LibraryQuizCriteriaPreviewQuestion");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the LibraryQuizCriterionPreview interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfLibraryQuizCriterionPreview(value) {
|
|
26
|
+
if (!('priority' in value) || value['priority'] === undefined)
|
|
27
|
+
return false;
|
|
28
|
+
if (!('matchingQuestionCount' in value) || value['matchingQuestionCount'] === undefined)
|
|
29
|
+
return false;
|
|
30
|
+
if (!('minimumQuestions' in value) || value['minimumQuestions'] === undefined)
|
|
31
|
+
return false;
|
|
32
|
+
if (!('minimumSatisfied' in value) || value['minimumSatisfied'] === undefined)
|
|
33
|
+
return false;
|
|
34
|
+
if (!('questions' in value) || value['questions'] === undefined)
|
|
35
|
+
return false;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
function LibraryQuizCriterionPreviewFromJSON(json) {
|
|
39
|
+
return LibraryQuizCriterionPreviewFromJSONTyped(json, false);
|
|
40
|
+
}
|
|
41
|
+
function LibraryQuizCriterionPreviewFromJSONTyped(json, ignoreDiscriminator) {
|
|
42
|
+
if (json == null) {
|
|
43
|
+
return json;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
'priority': json['priority'],
|
|
47
|
+
'matchingQuestionCount': json['matching_question_count'],
|
|
48
|
+
'minimumQuestions': json['minimum_questions'],
|
|
49
|
+
'maximumQuestions': json['maximum_questions'] == null ? undefined : json['maximum_questions'],
|
|
50
|
+
'minimumSatisfied': json['minimum_satisfied'],
|
|
51
|
+
'questions': (json['questions'].map(LibraryQuizCriteriaPreviewQuestion_1.LibraryQuizCriteriaPreviewQuestionFromJSON)),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function LibraryQuizCriterionPreviewToJSON(json) {
|
|
55
|
+
return LibraryQuizCriterionPreviewToJSONTyped(json, false);
|
|
56
|
+
}
|
|
57
|
+
function LibraryQuizCriterionPreviewToJSONTyped(value, ignoreDiscriminator = false) {
|
|
58
|
+
if (value == null) {
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
'priority': value['priority'],
|
|
63
|
+
'matching_question_count': value['matchingQuestionCount'],
|
|
64
|
+
'minimum_questions': value['minimumQuestions'],
|
|
65
|
+
'maximum_questions': value['maximumQuestions'],
|
|
66
|
+
'minimum_satisfied': value['minimumSatisfied'],
|
|
67
|
+
'questions': (value['questions'].map(LibraryQuizCriteriaPreviewQuestion_1.LibraryQuizCriteriaPreviewQuestionToJSON)),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* https://openapi-generator.tech
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
|
+
import type { RichTextDocument } from './RichTextDocument';
|
|
12
13
|
/**
|
|
13
14
|
*
|
|
14
15
|
* @export
|
|
@@ -33,6 +34,36 @@ export interface LibraryQuizQuestion {
|
|
|
33
34
|
* @memberof LibraryQuizQuestion
|
|
34
35
|
*/
|
|
35
36
|
questionGroupId?: string | null;
|
|
37
|
+
/**
|
|
38
|
+
* Exact question version currently represented by this quiz selection
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof LibraryQuizQuestion
|
|
41
|
+
*/
|
|
42
|
+
effectiveQuestionId: string;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @type {RichTextDocument}
|
|
46
|
+
* @memberof LibraryQuizQuestion
|
|
47
|
+
*/
|
|
48
|
+
questionText: RichTextDocument;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @type {LibraryQuizQuestionQuestionTypeEnum}
|
|
52
|
+
* @memberof LibraryQuizQuestion
|
|
53
|
+
*/
|
|
54
|
+
questionType: LibraryQuizQuestionQuestionTypeEnum;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {number}
|
|
58
|
+
* @memberof LibraryQuizQuestion
|
|
59
|
+
*/
|
|
60
|
+
questionVersionNumber: number;
|
|
61
|
+
/**
|
|
62
|
+
* Optional human-readable identifier for the represented question version
|
|
63
|
+
* @type {string}
|
|
64
|
+
* @memberof LibraryQuizQuestion
|
|
65
|
+
*/
|
|
66
|
+
questionVersion?: string | null;
|
|
36
67
|
/**
|
|
37
68
|
*
|
|
38
69
|
* @type {number}
|
|
@@ -60,6 +91,18 @@ export interface LibraryQuizQuestion {
|
|
|
60
91
|
[key: string]: any;
|
|
61
92
|
} | null;
|
|
62
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* @export
|
|
96
|
+
*/
|
|
97
|
+
export declare const LibraryQuizQuestionQuestionTypeEnum: {
|
|
98
|
+
readonly SingleAnswer: "single_answer";
|
|
99
|
+
readonly MultipleAnswer: "multiple_answer";
|
|
100
|
+
readonly FillInBlank: "fill_in_blank";
|
|
101
|
+
readonly ShortAnswer: "short_answer";
|
|
102
|
+
readonly Matching: "matching";
|
|
103
|
+
readonly Essay: "essay";
|
|
104
|
+
};
|
|
105
|
+
export type LibraryQuizQuestionQuestionTypeEnum = typeof LibraryQuizQuestionQuestionTypeEnum[keyof typeof LibraryQuizQuestionQuestionTypeEnum];
|
|
63
106
|
/**
|
|
64
107
|
* Check if a given object implements the LibraryQuizQuestion interface.
|
|
65
108
|
*/
|
|
@@ -13,11 +13,24 @@
|
|
|
13
13
|
* Do not edit the class manually.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.LibraryQuizQuestionQuestionTypeEnum = void 0;
|
|
16
17
|
exports.instanceOfLibraryQuizQuestion = instanceOfLibraryQuizQuestion;
|
|
17
18
|
exports.LibraryQuizQuestionFromJSON = LibraryQuizQuestionFromJSON;
|
|
18
19
|
exports.LibraryQuizQuestionFromJSONTyped = LibraryQuizQuestionFromJSONTyped;
|
|
19
20
|
exports.LibraryQuizQuestionToJSON = LibraryQuizQuestionToJSON;
|
|
20
21
|
exports.LibraryQuizQuestionToJSONTyped = LibraryQuizQuestionToJSONTyped;
|
|
22
|
+
const RichTextDocument_1 = require("./RichTextDocument");
|
|
23
|
+
/**
|
|
24
|
+
* @export
|
|
25
|
+
*/
|
|
26
|
+
exports.LibraryQuizQuestionQuestionTypeEnum = {
|
|
27
|
+
SingleAnswer: 'single_answer',
|
|
28
|
+
MultipleAnswer: 'multiple_answer',
|
|
29
|
+
FillInBlank: 'fill_in_blank',
|
|
30
|
+
ShortAnswer: 'short_answer',
|
|
31
|
+
Matching: 'matching',
|
|
32
|
+
Essay: 'essay'
|
|
33
|
+
};
|
|
21
34
|
/**
|
|
22
35
|
* Check if a given object implements the LibraryQuizQuestion interface.
|
|
23
36
|
*/
|
|
@@ -26,6 +39,14 @@ function instanceOfLibraryQuizQuestion(value) {
|
|
|
26
39
|
return false;
|
|
27
40
|
if (!('questionId' in value) || value['questionId'] === undefined)
|
|
28
41
|
return false;
|
|
42
|
+
if (!('effectiveQuestionId' in value) || value['effectiveQuestionId'] === undefined)
|
|
43
|
+
return false;
|
|
44
|
+
if (!('questionText' in value) || value['questionText'] === undefined)
|
|
45
|
+
return false;
|
|
46
|
+
if (!('questionType' in value) || value['questionType'] === undefined)
|
|
47
|
+
return false;
|
|
48
|
+
if (!('questionVersionNumber' in value) || value['questionVersionNumber'] === undefined)
|
|
49
|
+
return false;
|
|
29
50
|
if (!('displayOrder' in value) || value['displayOrder'] === undefined)
|
|
30
51
|
return false;
|
|
31
52
|
if (!('points' in value) || value['points'] === undefined)
|
|
@@ -45,6 +66,11 @@ function LibraryQuizQuestionFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
45
66
|
'id': json['id'],
|
|
46
67
|
'questionId': json['question_id'],
|
|
47
68
|
'questionGroupId': json['question_group_id'] == null ? undefined : json['question_group_id'],
|
|
69
|
+
'effectiveQuestionId': json['effective_question_id'],
|
|
70
|
+
'questionText': (0, RichTextDocument_1.RichTextDocumentFromJSON)(json['question_text']),
|
|
71
|
+
'questionType': json['question_type'],
|
|
72
|
+
'questionVersionNumber': json['question_version_number'],
|
|
73
|
+
'questionVersion': json['question_version'] == null ? undefined : json['question_version'],
|
|
48
74
|
'displayOrder': json['display_order'],
|
|
49
75
|
'points': json['points'],
|
|
50
76
|
'versionLocked': json['version_locked'],
|
|
@@ -62,6 +88,11 @@ function LibraryQuizQuestionToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
62
88
|
'id': value['id'],
|
|
63
89
|
'question_id': value['questionId'],
|
|
64
90
|
'question_group_id': value['questionGroupId'],
|
|
91
|
+
'effective_question_id': value['effectiveQuestionId'],
|
|
92
|
+
'question_text': (0, RichTextDocument_1.RichTextDocumentToJSON)(value['questionText']),
|
|
93
|
+
'question_type': value['questionType'],
|
|
94
|
+
'question_version_number': value['questionVersionNumber'],
|
|
95
|
+
'question_version': value['questionVersion'],
|
|
65
96
|
'display_order': value['displayOrder'],
|
|
66
97
|
'points': value['points'],
|
|
67
98
|
'version_locked': value['versionLocked'],
|
package/dist/models/index.d.ts
CHANGED
|
@@ -102,6 +102,7 @@ export * from './GetEmailTemplateList';
|
|
|
102
102
|
export * from './GetEmailTemplatePreview';
|
|
103
103
|
export * from './GetLibraryQuiz';
|
|
104
104
|
export * from './GetLibraryQuizAnalytics';
|
|
105
|
+
export * from './GetLibraryQuizCriteriaPreview';
|
|
105
106
|
export * from './GetLibraryQuizList';
|
|
106
107
|
export * from './GetLibraryQuizResult';
|
|
107
108
|
export * from './GetLibraryQuizSession';
|
|
@@ -230,7 +231,9 @@ export * from './GetUserQuizAttemptsAllOfAttempts';
|
|
|
230
231
|
export * from './GetUserQuizAttemptsAllOfFilters';
|
|
231
232
|
export * from './GetUserQuizAttemptsAllOfSummary';
|
|
232
233
|
export * from './GetUserRole';
|
|
234
|
+
export * from './LibraryQuizCriteriaPreviewQuestion';
|
|
233
235
|
export * from './LibraryQuizCriterion';
|
|
236
|
+
export * from './LibraryQuizCriterionPreview';
|
|
234
237
|
export * from './LibraryQuizQuestion';
|
|
235
238
|
export * from './LibraryQuizQuestionInput';
|
|
236
239
|
export * from './LibraryQuizSessionAnswerChoice';
|
package/dist/models/index.js
CHANGED
|
@@ -120,6 +120,7 @@ __exportStar(require("./GetEmailTemplateList"), exports);
|
|
|
120
120
|
__exportStar(require("./GetEmailTemplatePreview"), exports);
|
|
121
121
|
__exportStar(require("./GetLibraryQuiz"), exports);
|
|
122
122
|
__exportStar(require("./GetLibraryQuizAnalytics"), exports);
|
|
123
|
+
__exportStar(require("./GetLibraryQuizCriteriaPreview"), exports);
|
|
123
124
|
__exportStar(require("./GetLibraryQuizList"), exports);
|
|
124
125
|
__exportStar(require("./GetLibraryQuizResult"), exports);
|
|
125
126
|
__exportStar(require("./GetLibraryQuizSession"), exports);
|
|
@@ -248,7 +249,9 @@ __exportStar(require("./GetUserQuizAttemptsAllOfAttempts"), exports);
|
|
|
248
249
|
__exportStar(require("./GetUserQuizAttemptsAllOfFilters"), exports);
|
|
249
250
|
__exportStar(require("./GetUserQuizAttemptsAllOfSummary"), exports);
|
|
250
251
|
__exportStar(require("./GetUserRole"), exports);
|
|
252
|
+
__exportStar(require("./LibraryQuizCriteriaPreviewQuestion"), exports);
|
|
251
253
|
__exportStar(require("./LibraryQuizCriterion"), exports);
|
|
254
|
+
__exportStar(require("./LibraryQuizCriterionPreview"), exports);
|
|
252
255
|
__exportStar(require("./LibraryQuizQuestion"), exports);
|
|
253
256
|
__exportStar(require("./LibraryQuizQuestionInput"), exports);
|
|
254
257
|
__exportStar(require("./LibraryQuizSessionAnswerChoice"), exports);
|
|
@@ -18,6 +18,7 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
|
|
|
18
18
|
| [**postCourseLibraryQuizSession**](ContentLibraryQuizApi.md#postcourselibraryquizsession) | **POST** /courses/{courseId}/versions/{courseVersionId}/items/{itemId}/quiz-sessions | Start or resume a live attempt for a course-pinned quiz version |
|
|
19
19
|
| [**postLibraryQuiz**](ContentLibraryQuizApi.md#postlibraryquiz) | **POST** /content-library/quizzes | Create a reusable quiz and its first draft version |
|
|
20
20
|
| [**postLibraryQuizArchive**](ContentLibraryQuizApi.md#postlibraryquizarchive) | **POST** /content-library/quizzes/{quizId}/archive | Archive a reusable quiz |
|
|
21
|
+
| [**postLibraryQuizCriteriaPreview**](ContentLibraryQuizApi.md#postlibraryquizcriteriapreview) | **POST** /content-library/quizzes/{quizId}/versions/{versionId}/criteria/preview | Preview questions matching unsaved quiz-selection criteria |
|
|
21
22
|
| [**postLibraryQuizSession**](ContentLibraryQuizApi.md#postlibraryquizsession) | **POST** /content-library/quizzes/{quizId}/versions/{versionId}/sessions | Start or resume a sandbox attempt for an exact quiz version |
|
|
22
23
|
| [**postLibraryQuizSessionSubmit**](ContentLibraryQuizApi.md#postlibraryquizsessionsubmit) | **POST** /quiz/sessions/{sessionId}/submit | Submit and grade a reusable quiz session |
|
|
23
24
|
| [**postLibraryQuizVersion**](ContentLibraryQuizApi.md#postlibraryquizversion) | **POST** /content-library/quizzes/{quizId}/versions | Create the next draft quiz version |
|
|
@@ -1013,6 +1014,78 @@ No authorization required
|
|
|
1013
1014
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1014
1015
|
|
|
1015
1016
|
|
|
1017
|
+
## postLibraryQuizCriteriaPreview
|
|
1018
|
+
|
|
1019
|
+
> GetLibraryQuizCriteriaPreview postLibraryQuizCriteriaPreview(quizId, versionId, putLibraryQuizCriteria)
|
|
1020
|
+
|
|
1021
|
+
Preview questions matching unsaved quiz-selection criteria
|
|
1022
|
+
|
|
1023
|
+
### Example
|
|
1024
|
+
|
|
1025
|
+
```ts
|
|
1026
|
+
import {
|
|
1027
|
+
Configuration,
|
|
1028
|
+
ContentLibraryQuizApi,
|
|
1029
|
+
} from '@easyedu/js-lsm-api';
|
|
1030
|
+
import type { PostLibraryQuizCriteriaPreviewRequest } from '@easyedu/js-lsm-api';
|
|
1031
|
+
|
|
1032
|
+
async function example() {
|
|
1033
|
+
console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
|
|
1034
|
+
const api = new ContentLibraryQuizApi();
|
|
1035
|
+
|
|
1036
|
+
const body = {
|
|
1037
|
+
// string
|
|
1038
|
+
quizId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1039
|
+
// string
|
|
1040
|
+
versionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1041
|
+
// PutLibraryQuizCriteria
|
|
1042
|
+
putLibraryQuizCriteria: ...,
|
|
1043
|
+
} satisfies PostLibraryQuizCriteriaPreviewRequest;
|
|
1044
|
+
|
|
1045
|
+
try {
|
|
1046
|
+
const data = await api.postLibraryQuizCriteriaPreview(body);
|
|
1047
|
+
console.log(data);
|
|
1048
|
+
} catch (error) {
|
|
1049
|
+
console.error(error);
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
// Run the test
|
|
1054
|
+
example().catch(console.error);
|
|
1055
|
+
```
|
|
1056
|
+
|
|
1057
|
+
### Parameters
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
| Name | Type | Description | Notes |
|
|
1061
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1062
|
+
| **quizId** | `string` | | [Defaults to `undefined`] |
|
|
1063
|
+
| **versionId** | `string` | | [Defaults to `undefined`] |
|
|
1064
|
+
| **putLibraryQuizCriteria** | [PutLibraryQuizCriteria](PutLibraryQuizCriteria.md) | | |
|
|
1065
|
+
|
|
1066
|
+
### Return type
|
|
1067
|
+
|
|
1068
|
+
[**GetLibraryQuizCriteriaPreview**](GetLibraryQuizCriteriaPreview.md)
|
|
1069
|
+
|
|
1070
|
+
### Authorization
|
|
1071
|
+
|
|
1072
|
+
No authorization required
|
|
1073
|
+
|
|
1074
|
+
### HTTP request headers
|
|
1075
|
+
|
|
1076
|
+
- **Content-Type**: `application/json`
|
|
1077
|
+
- **Accept**: `application/json`
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
### HTTP response details
|
|
1081
|
+
| Status code | Description | Response headers |
|
|
1082
|
+
|-------------|-------------|------------------|
|
|
1083
|
+
| **200** | Matching questions grouped by criterion | - |
|
|
1084
|
+
| **409** | Quiz version is not an editable criteria-based draft | - |
|
|
1085
|
+
|
|
1086
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1087
|
+
|
|
1088
|
+
|
|
1016
1089
|
## postLibraryQuizSession
|
|
1017
1090
|
|
|
1018
1091
|
> GetLibraryQuizSession postLibraryQuizSession(quizId, versionId, postLibraryQuizSession)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
# GetLibraryQuizCriteriaPreview
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type
|
|
8
|
+
------------ | -------------
|
|
9
|
+
`totalUniqueQuestions` | number
|
|
10
|
+
`criteria` | [Array<LibraryQuizCriterionPreview>](LibraryQuizCriterionPreview.md)
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import type { GetLibraryQuizCriteriaPreview } from '@easyedu/js-lsm-api'
|
|
16
|
+
|
|
17
|
+
// TODO: Update the object below with actual values
|
|
18
|
+
const example = {
|
|
19
|
+
"totalUniqueQuestions": null,
|
|
20
|
+
"criteria": null,
|
|
21
|
+
} satisfies GetLibraryQuizCriteriaPreview
|
|
22
|
+
|
|
23
|
+
console.log(example)
|
|
24
|
+
|
|
25
|
+
// Convert the instance to a JSON string
|
|
26
|
+
const exampleJSON: string = JSON.stringify(example)
|
|
27
|
+
console.log(exampleJSON)
|
|
28
|
+
|
|
29
|
+
// Parse the JSON string back to an object
|
|
30
|
+
const exampleParsed = JSON.parse(exampleJSON) as GetLibraryQuizCriteriaPreview
|
|
31
|
+
console.log(exampleParsed)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
35
|
+
|
|
36
|
+
|
package/docs/GetQuestion.md
CHANGED
|
@@ -16,6 +16,7 @@ Name | Type
|
|
|
16
16
|
`difficultyLevel` | string
|
|
17
17
|
`tags` | Array<string>
|
|
18
18
|
`version` | string
|
|
19
|
+
`versionNumber` | number
|
|
19
20
|
`createdDate` | Date
|
|
20
21
|
`updatedDate` | Date
|
|
21
22
|
`createdBy` | string
|
|
@@ -39,6 +40,7 @@ const example = {
|
|
|
39
40
|
"difficultyLevel": null,
|
|
40
41
|
"tags": null,
|
|
41
42
|
"version": null,
|
|
43
|
+
"versionNumber": null,
|
|
42
44
|
"createdDate": null,
|
|
43
45
|
"updatedDate": null,
|
|
44
46
|
"createdBy": null,
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
|
|
2
|
+
# LibraryQuizCriteriaPreviewQuestion
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type
|
|
8
|
+
------------ | -------------
|
|
9
|
+
`id` | string
|
|
10
|
+
`questionText` | [RichTextDocument](RichTextDocument.md)
|
|
11
|
+
`questionType` | string
|
|
12
|
+
`versionNumber` | number
|
|
13
|
+
`version` | string
|
|
14
|
+
`topic` | string
|
|
15
|
+
`difficultyLevel` | string
|
|
16
|
+
`tags` | Array<string>
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import type { LibraryQuizCriteriaPreviewQuestion } from '@easyedu/js-lsm-api'
|
|
22
|
+
|
|
23
|
+
// TODO: Update the object below with actual values
|
|
24
|
+
const example = {
|
|
25
|
+
"id": null,
|
|
26
|
+
"questionText": null,
|
|
27
|
+
"questionType": null,
|
|
28
|
+
"versionNumber": null,
|
|
29
|
+
"version": null,
|
|
30
|
+
"topic": null,
|
|
31
|
+
"difficultyLevel": null,
|
|
32
|
+
"tags": null,
|
|
33
|
+
} satisfies LibraryQuizCriteriaPreviewQuestion
|
|
34
|
+
|
|
35
|
+
console.log(example)
|
|
36
|
+
|
|
37
|
+
// Convert the instance to a JSON string
|
|
38
|
+
const exampleJSON: string = JSON.stringify(example)
|
|
39
|
+
console.log(exampleJSON)
|
|
40
|
+
|
|
41
|
+
// Parse the JSON string back to an object
|
|
42
|
+
const exampleParsed = JSON.parse(exampleJSON) as LibraryQuizCriteriaPreviewQuestion
|
|
43
|
+
console.log(exampleParsed)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
47
|
+
|
|
48
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
2
|
+
# LibraryQuizCriterionPreview
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type
|
|
8
|
+
------------ | -------------
|
|
9
|
+
`priority` | number
|
|
10
|
+
`matchingQuestionCount` | number
|
|
11
|
+
`minimumQuestions` | number
|
|
12
|
+
`maximumQuestions` | number
|
|
13
|
+
`minimumSatisfied` | boolean
|
|
14
|
+
`questions` | [Array<LibraryQuizCriteriaPreviewQuestion>](LibraryQuizCriteriaPreviewQuestion.md)
|
|
15
|
+
|
|
16
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import type { LibraryQuizCriterionPreview } from '@easyedu/js-lsm-api'
|
|
20
|
+
|
|
21
|
+
// TODO: Update the object below with actual values
|
|
22
|
+
const example = {
|
|
23
|
+
"priority": null,
|
|
24
|
+
"matchingQuestionCount": null,
|
|
25
|
+
"minimumQuestions": null,
|
|
26
|
+
"maximumQuestions": null,
|
|
27
|
+
"minimumSatisfied": null,
|
|
28
|
+
"questions": null,
|
|
29
|
+
} satisfies LibraryQuizCriterionPreview
|
|
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 LibraryQuizCriterionPreview
|
|
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
|
+
|
|
@@ -9,6 +9,11 @@ Name | Type
|
|
|
9
9
|
`id` | string
|
|
10
10
|
`questionId` | string
|
|
11
11
|
`questionGroupId` | string
|
|
12
|
+
`effectiveQuestionId` | string
|
|
13
|
+
`questionText` | [RichTextDocument](RichTextDocument.md)
|
|
14
|
+
`questionType` | string
|
|
15
|
+
`questionVersionNumber` | number
|
|
16
|
+
`questionVersion` | string
|
|
12
17
|
`displayOrder` | number
|
|
13
18
|
`points` | number
|
|
14
19
|
`versionLocked` | boolean
|
|
@@ -24,6 +29,11 @@ const example = {
|
|
|
24
29
|
"id": null,
|
|
25
30
|
"questionId": null,
|
|
26
31
|
"questionGroupId": null,
|
|
32
|
+
"effectiveQuestionId": null,
|
|
33
|
+
"questionText": null,
|
|
34
|
+
"questionType": null,
|
|
35
|
+
"questionVersionNumber": null,
|
|
36
|
+
"questionVersion": null,
|
|
27
37
|
"displayOrder": null,
|
|
28
38
|
"points": null,
|
|
29
39
|
"versionLocked": null,
|
package/package.json
CHANGED
|
@@ -23,6 +23,11 @@ import {
|
|
|
23
23
|
GetLibraryQuizAnalyticsFromJSON,
|
|
24
24
|
GetLibraryQuizAnalyticsToJSON,
|
|
25
25
|
} from '../models/GetLibraryQuizAnalytics';
|
|
26
|
+
import {
|
|
27
|
+
type GetLibraryQuizCriteriaPreview,
|
|
28
|
+
GetLibraryQuizCriteriaPreviewFromJSON,
|
|
29
|
+
GetLibraryQuizCriteriaPreviewToJSON,
|
|
30
|
+
} from '../models/GetLibraryQuizCriteriaPreview';
|
|
26
31
|
import {
|
|
27
32
|
type GetLibraryQuizList,
|
|
28
33
|
GetLibraryQuizListFromJSON,
|
|
@@ -197,6 +202,12 @@ export interface PostLibraryQuizArchiveRequest {
|
|
|
197
202
|
quizId: string;
|
|
198
203
|
}
|
|
199
204
|
|
|
205
|
+
export interface PostLibraryQuizCriteriaPreviewRequest {
|
|
206
|
+
quizId: string;
|
|
207
|
+
versionId: string;
|
|
208
|
+
putLibraryQuizCriteria: PutLibraryQuizCriteria;
|
|
209
|
+
}
|
|
210
|
+
|
|
200
211
|
export interface PostLibraryQuizSessionRequest {
|
|
201
212
|
quizId: string;
|
|
202
213
|
versionId: string;
|
|
@@ -996,6 +1007,69 @@ export class ContentLibraryQuizApi extends runtime.BaseAPI {
|
|
|
996
1007
|
return await response.value();
|
|
997
1008
|
}
|
|
998
1009
|
|
|
1010
|
+
/**
|
|
1011
|
+
* Creates request options for postLibraryQuizCriteriaPreview without sending the request
|
|
1012
|
+
*/
|
|
1013
|
+
async postLibraryQuizCriteriaPreviewRequestOpts(requestParameters: PostLibraryQuizCriteriaPreviewRequest): Promise<runtime.RequestOpts> {
|
|
1014
|
+
if (requestParameters['quizId'] == null) {
|
|
1015
|
+
throw new runtime.RequiredError(
|
|
1016
|
+
'quizId',
|
|
1017
|
+
'Required parameter "quizId" was null or undefined when calling postLibraryQuizCriteriaPreview().'
|
|
1018
|
+
);
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
if (requestParameters['versionId'] == null) {
|
|
1022
|
+
throw new runtime.RequiredError(
|
|
1023
|
+
'versionId',
|
|
1024
|
+
'Required parameter "versionId" was null or undefined when calling postLibraryQuizCriteriaPreview().'
|
|
1025
|
+
);
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
if (requestParameters['putLibraryQuizCriteria'] == null) {
|
|
1029
|
+
throw new runtime.RequiredError(
|
|
1030
|
+
'putLibraryQuizCriteria',
|
|
1031
|
+
'Required parameter "putLibraryQuizCriteria" was null or undefined when calling postLibraryQuizCriteriaPreview().'
|
|
1032
|
+
);
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
const queryParameters: any = {};
|
|
1036
|
+
|
|
1037
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
1038
|
+
|
|
1039
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
let urlPath = `/content-library/quizzes/{quizId}/versions/{versionId}/criteria/preview`;
|
|
1043
|
+
urlPath = urlPath.replace('{quizId}', encodeURIComponent(String(requestParameters['quizId'])));
|
|
1044
|
+
urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
|
|
1045
|
+
|
|
1046
|
+
return {
|
|
1047
|
+
path: urlPath,
|
|
1048
|
+
method: 'POST',
|
|
1049
|
+
headers: headerParameters,
|
|
1050
|
+
query: queryParameters,
|
|
1051
|
+
body: PutLibraryQuizCriteriaToJSON(requestParameters['putLibraryQuizCriteria']),
|
|
1052
|
+
};
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
/**
|
|
1056
|
+
* Preview questions matching unsaved quiz-selection criteria
|
|
1057
|
+
*/
|
|
1058
|
+
async postLibraryQuizCriteriaPreviewRaw(requestParameters: PostLibraryQuizCriteriaPreviewRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetLibraryQuizCriteriaPreview>> {
|
|
1059
|
+
const requestOptions = await this.postLibraryQuizCriteriaPreviewRequestOpts(requestParameters);
|
|
1060
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
1061
|
+
|
|
1062
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => GetLibraryQuizCriteriaPreviewFromJSON(jsonValue));
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* Preview questions matching unsaved quiz-selection criteria
|
|
1067
|
+
*/
|
|
1068
|
+
async postLibraryQuizCriteriaPreview(requestParameters: PostLibraryQuizCriteriaPreviewRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetLibraryQuizCriteriaPreview> {
|
|
1069
|
+
const response = await this.postLibraryQuizCriteriaPreviewRaw(requestParameters, initOverrides);
|
|
1070
|
+
return await response.value();
|
|
1071
|
+
}
|
|
1072
|
+
|
|
999
1073
|
/**
|
|
1000
1074
|
* Creates request options for postLibraryQuizSession without sending the request
|
|
1001
1075
|
*/
|
|
@@ -0,0 +1,83 @@
|
|
|
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 { LibraryQuizCriterionPreview } from './LibraryQuizCriterionPreview';
|
|
17
|
+
import {
|
|
18
|
+
LibraryQuizCriterionPreviewFromJSON,
|
|
19
|
+
LibraryQuizCriterionPreviewFromJSONTyped,
|
|
20
|
+
LibraryQuizCriterionPreviewToJSON,
|
|
21
|
+
LibraryQuizCriterionPreviewToJSONTyped,
|
|
22
|
+
} from './LibraryQuizCriterionPreview';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface GetLibraryQuizCriteriaPreview
|
|
28
|
+
*/
|
|
29
|
+
export interface GetLibraryQuizCriteriaPreview {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {number}
|
|
33
|
+
* @memberof GetLibraryQuizCriteriaPreview
|
|
34
|
+
*/
|
|
35
|
+
totalUniqueQuestions: number;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {Array<LibraryQuizCriterionPreview>}
|
|
39
|
+
* @memberof GetLibraryQuizCriteriaPreview
|
|
40
|
+
*/
|
|
41
|
+
criteria: Array<LibraryQuizCriterionPreview>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Check if a given object implements the GetLibraryQuizCriteriaPreview interface.
|
|
46
|
+
*/
|
|
47
|
+
export function instanceOfGetLibraryQuizCriteriaPreview(value: object): value is GetLibraryQuizCriteriaPreview {
|
|
48
|
+
if (!('totalUniqueQuestions' in value) || value['totalUniqueQuestions'] === undefined) return false;
|
|
49
|
+
if (!('criteria' in value) || value['criteria'] === undefined) return false;
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function GetLibraryQuizCriteriaPreviewFromJSON(json: any): GetLibraryQuizCriteriaPreview {
|
|
54
|
+
return GetLibraryQuizCriteriaPreviewFromJSONTyped(json, false);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function GetLibraryQuizCriteriaPreviewFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLibraryQuizCriteriaPreview {
|
|
58
|
+
if (json == null) {
|
|
59
|
+
return json;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
|
|
63
|
+
'totalUniqueQuestions': json['total_unique_questions'],
|
|
64
|
+
'criteria': ((json['criteria'] as Array<any>).map(LibraryQuizCriterionPreviewFromJSON)),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function GetLibraryQuizCriteriaPreviewToJSON(json: any): GetLibraryQuizCriteriaPreview {
|
|
69
|
+
return GetLibraryQuizCriteriaPreviewToJSONTyped(json, false);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function GetLibraryQuizCriteriaPreviewToJSONTyped(value?: GetLibraryQuizCriteriaPreview | null, ignoreDiscriminator: boolean = false): any {
|
|
73
|
+
if (value == null) {
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
|
|
79
|
+
'total_unique_questions': value['totalUniqueQuestions'],
|
|
80
|
+
'criteria': ((value['criteria'] as Array<any>).map(LibraryQuizCriterionPreviewToJSON)),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|