@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.
Files changed (44) hide show
  1. package/.openapi-generator/FILES +6 -0
  2. package/README.md +6 -2
  3. package/dist/apis/ContentLibraryQuizApi.d.ts +18 -0
  4. package/dist/apis/ContentLibraryQuizApi.js +49 -0
  5. package/dist/esm/apis/ContentLibraryQuizApi.d.ts +18 -0
  6. package/dist/esm/apis/ContentLibraryQuizApi.js +49 -0
  7. package/dist/esm/models/GetLibraryQuizCriteriaPreview.d.ts +39 -0
  8. package/dist/esm/models/GetLibraryQuizCriteriaPreview.js +48 -0
  9. package/dist/esm/models/GetQuestion.d.ts +7 -1
  10. package/dist/esm/models/GetQuestion.js +3 -0
  11. package/dist/esm/models/LibraryQuizCriteriaPreviewQuestion.d.ts +96 -0
  12. package/dist/esm/models/LibraryQuizCriteriaPreviewQuestion.js +89 -0
  13. package/dist/esm/models/LibraryQuizCriterionPreview.d.ts +63 -0
  14. package/dist/esm/models/LibraryQuizCriterionPreview.js +62 -0
  15. package/dist/esm/models/LibraryQuizQuestion.d.ts +43 -0
  16. package/dist/esm/models/LibraryQuizQuestion.js +30 -0
  17. package/dist/esm/models/index.d.ts +3 -0
  18. package/dist/esm/models/index.js +3 -0
  19. package/dist/models/GetLibraryQuizCriteriaPreview.d.ts +39 -0
  20. package/dist/models/GetLibraryQuizCriteriaPreview.js +55 -0
  21. package/dist/models/GetQuestion.d.ts +7 -1
  22. package/dist/models/GetQuestion.js +3 -0
  23. package/dist/models/LibraryQuizCriteriaPreviewQuestion.d.ts +96 -0
  24. package/dist/models/LibraryQuizCriteriaPreviewQuestion.js +97 -0
  25. package/dist/models/LibraryQuizCriterionPreview.d.ts +63 -0
  26. package/dist/models/LibraryQuizCriterionPreview.js +69 -0
  27. package/dist/models/LibraryQuizQuestion.d.ts +43 -0
  28. package/dist/models/LibraryQuizQuestion.js +31 -0
  29. package/dist/models/index.d.ts +3 -0
  30. package/dist/models/index.js +3 -0
  31. package/docs/ContentLibraryQuizApi.md +73 -0
  32. package/docs/GetLibraryQuizCriteriaPreview.md +36 -0
  33. package/docs/GetQuestion.md +2 -0
  34. package/docs/LibraryQuizCriteriaPreviewQuestion.md +48 -0
  35. package/docs/LibraryQuizCriterionPreview.md +44 -0
  36. package/docs/LibraryQuizQuestion.md +10 -0
  37. package/package.json +1 -1
  38. package/src/apis/ContentLibraryQuizApi.ts +74 -0
  39. package/src/models/GetLibraryQuizCriteriaPreview.ts +83 -0
  40. package/src/models/GetQuestion.ts +9 -1
  41. package/src/models/LibraryQuizCriteriaPreviewQuestion.ts +161 -0
  42. package/src/models/LibraryQuizCriterionPreview.ts +118 -0
  43. package/src/models/LibraryQuizQuestion.ts +67 -0
  44. 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'],
@@ -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';
@@ -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
+
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.92.0",
3
+ "version": "1.94.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -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
+