@easyedu/js-lsm-api 1.20.0 → 1.21.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 (50) hide show
  1. package/.openapi-generator/FILES +6 -1
  2. package/README.md +2 -2
  3. package/dist/apis/QuizApi.d.ts +84 -9
  4. package/dist/apis/QuizApi.js +209 -14
  5. package/dist/esm/apis/QuizApi.d.ts +84 -9
  6. package/dist/esm/apis/QuizApi.js +210 -15
  7. package/dist/esm/models/GetManualQuestionSelectionItem.d.ts +75 -0
  8. package/dist/esm/models/GetManualQuestionSelectionItem.js +72 -0
  9. package/dist/esm/models/GetManualQuestionSelectionList.d.ts +63 -0
  10. package/dist/esm/models/GetManualQuestionSelectionList.js +64 -0
  11. package/dist/esm/models/GetQuizCriteria.d.ts +3 -3
  12. package/dist/esm/models/GetQuizCriteria.js +3 -3
  13. package/dist/esm/models/GetQuizCriteriaItem.d.ts +122 -0
  14. package/dist/esm/models/{GetQuizCriteriaCriteriaInner.js → GetQuizCriteriaItem.js} +10 -10
  15. package/dist/esm/models/GetQuizCriteriaList.d.ts +57 -0
  16. package/dist/esm/models/GetQuizCriteriaList.js +60 -0
  17. package/dist/esm/models/GetQuizCriteriaListItemsInner.d.ts +122 -0
  18. package/dist/esm/models/GetQuizCriteriaListItemsInner.js +93 -0
  19. package/dist/esm/models/PostManualQuestionSelection.d.ts +50 -0
  20. package/dist/esm/models/PostManualQuestionSelection.js +49 -0
  21. package/dist/esm/models/index.d.ts +6 -1
  22. package/dist/esm/models/index.js +6 -1
  23. package/dist/models/GetManualQuestionSelectionItem.d.ts +75 -0
  24. package/dist/models/GetManualQuestionSelectionItem.js +79 -0
  25. package/dist/models/GetManualQuestionSelectionList.d.ts +63 -0
  26. package/dist/models/GetManualQuestionSelectionList.js +71 -0
  27. package/dist/models/GetQuizCriteria.d.ts +3 -3
  28. package/dist/models/GetQuizCriteria.js +3 -3
  29. package/dist/models/GetQuizCriteriaItem.d.ts +122 -0
  30. package/dist/models/{GetQuizCriteriaCriteriaInner.js → GetQuizCriteriaItem.js} +16 -16
  31. package/dist/models/GetQuizCriteriaList.d.ts +57 -0
  32. package/dist/models/GetQuizCriteriaList.js +67 -0
  33. package/dist/models/GetQuizCriteriaListItemsInner.d.ts +122 -0
  34. package/dist/models/GetQuizCriteriaListItemsInner.js +101 -0
  35. package/dist/models/PostManualQuestionSelection.d.ts +50 -0
  36. package/dist/models/PostManualQuestionSelection.js +56 -0
  37. package/dist/models/index.d.ts +6 -1
  38. package/dist/models/index.js +6 -1
  39. package/package.json +1 -1
  40. package/src/apis/QuizApi.ts +314 -16
  41. package/src/models/GetManualQuestionSelectionItem.ts +137 -0
  42. package/src/models/GetManualQuestionSelectionList.ts +119 -0
  43. package/src/models/GetQuizCriteria.ts +10 -10
  44. package/src/models/{GetQuizCriteriaCriteriaInner.ts → GetQuizCriteriaItem.ts} +29 -29
  45. package/src/models/GetQuizCriteriaList.ts +110 -0
  46. package/src/models/GetQuizCriteriaListItemsInner.ts +189 -0
  47. package/src/models/PostManualQuestionSelection.ts +90 -0
  48. package/src/models/index.ts +6 -1
  49. package/dist/esm/models/GetQuizCriteriaCriteriaInner.d.ts +0 -122
  50. package/dist/models/GetQuizCriteriaCriteriaInner.d.ts +0 -122
@@ -0,0 +1,119 @@
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 { GetQuizQuestionsItemsInner } from './GetQuizQuestionsItemsInner';
17
+ import {
18
+ GetQuizQuestionsItemsInnerFromJSON,
19
+ GetQuizQuestionsItemsInnerFromJSONTyped,
20
+ GetQuizQuestionsItemsInnerToJSON,
21
+ GetQuizQuestionsItemsInnerToJSONTyped,
22
+ } from './GetQuizQuestionsItemsInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetManualQuestionSelectionList
28
+ */
29
+ export interface GetManualQuestionSelectionList {
30
+ /**
31
+ * The current page number
32
+ * @type {number}
33
+ * @memberof GetManualQuestionSelectionList
34
+ */
35
+ page: number;
36
+ /**
37
+ * The number of items per page
38
+ * @type {number}
39
+ * @memberof GetManualQuestionSelectionList
40
+ */
41
+ pageSize: number;
42
+ /**
43
+ * The total number of pages
44
+ * @type {number}
45
+ * @memberof GetManualQuestionSelectionList
46
+ */
47
+ totalPages: number;
48
+ /**
49
+ * The total number of questions in the quiz
50
+ * @type {number}
51
+ * @memberof GetManualQuestionSelectionList
52
+ */
53
+ totalItems: number;
54
+ /**
55
+ * Total points possible for quiz
56
+ * @type {number}
57
+ * @memberof GetManualQuestionSelectionList
58
+ */
59
+ totalPoints: number;
60
+ /**
61
+ * Manually selected questions in the quiz (paginated)
62
+ * @type {Array<GetQuizQuestionsItemsInner>}
63
+ * @memberof GetManualQuestionSelectionList
64
+ */
65
+ items: Array<GetQuizQuestionsItemsInner>;
66
+ }
67
+
68
+ /**
69
+ * Check if a given object implements the GetManualQuestionSelectionList interface.
70
+ */
71
+ export function instanceOfGetManualQuestionSelectionList(value: object): value is GetManualQuestionSelectionList {
72
+ if (!('page' in value) || value['page'] === undefined) return false;
73
+ if (!('pageSize' in value) || value['pageSize'] === undefined) return false;
74
+ if (!('totalPages' in value) || value['totalPages'] === undefined) return false;
75
+ if (!('totalItems' in value) || value['totalItems'] === undefined) return false;
76
+ if (!('totalPoints' in value) || value['totalPoints'] === undefined) return false;
77
+ if (!('items' in value) || value['items'] === undefined) return false;
78
+ return true;
79
+ }
80
+
81
+ export function GetManualQuestionSelectionListFromJSON(json: any): GetManualQuestionSelectionList {
82
+ return GetManualQuestionSelectionListFromJSONTyped(json, false);
83
+ }
84
+
85
+ export function GetManualQuestionSelectionListFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetManualQuestionSelectionList {
86
+ if (json == null) {
87
+ return json;
88
+ }
89
+ return {
90
+
91
+ 'page': json['page'],
92
+ 'pageSize': json['pageSize'],
93
+ 'totalPages': json['totalPages'],
94
+ 'totalItems': json['totalItems'],
95
+ 'totalPoints': json['total_points'],
96
+ 'items': ((json['items'] as Array<any>).map(GetQuizQuestionsItemsInnerFromJSON)),
97
+ };
98
+ }
99
+
100
+ export function GetManualQuestionSelectionListToJSON(json: any): GetManualQuestionSelectionList {
101
+ return GetManualQuestionSelectionListToJSONTyped(json, false);
102
+ }
103
+
104
+ export function GetManualQuestionSelectionListToJSONTyped(value?: GetManualQuestionSelectionList | null, ignoreDiscriminator: boolean = false): any {
105
+ if (value == null) {
106
+ return value;
107
+ }
108
+
109
+ return {
110
+
111
+ 'page': value['page'],
112
+ 'pageSize': value['pageSize'],
113
+ 'totalPages': value['totalPages'],
114
+ 'totalItems': value['totalItems'],
115
+ 'total_points': value['totalPoints'],
116
+ 'items': ((value['items'] as Array<any>).map(GetQuizQuestionsItemsInnerToJSON)),
117
+ };
118
+ }
119
+
@@ -20,13 +20,13 @@ import {
20
20
  GetQuizCriteriaEstimatedQuestionsToJSON,
21
21
  GetQuizCriteriaEstimatedQuestionsToJSONTyped,
22
22
  } from './GetQuizCriteriaEstimatedQuestions';
23
- import type { GetQuizCriteriaCriteriaInner } from './GetQuizCriteriaCriteriaInner';
23
+ import type { GetQuizCriteriaListItemsInner } from './GetQuizCriteriaListItemsInner';
24
24
  import {
25
- GetQuizCriteriaCriteriaInnerFromJSON,
26
- GetQuizCriteriaCriteriaInnerFromJSONTyped,
27
- GetQuizCriteriaCriteriaInnerToJSON,
28
- GetQuizCriteriaCriteriaInnerToJSONTyped,
29
- } from './GetQuizCriteriaCriteriaInner';
25
+ GetQuizCriteriaListItemsInnerFromJSON,
26
+ GetQuizCriteriaListItemsInnerFromJSONTyped,
27
+ GetQuizCriteriaListItemsInnerToJSON,
28
+ GetQuizCriteriaListItemsInnerToJSONTyped,
29
+ } from './GetQuizCriteriaListItemsInner';
30
30
 
31
31
  /**
32
32
  *
@@ -36,10 +36,10 @@ import {
36
36
  export interface GetQuizCriteria {
37
37
  /**
38
38
  * Question selection criteria
39
- * @type {Array<GetQuizCriteriaCriteriaInner>}
39
+ * @type {Array<GetQuizCriteriaListItemsInner>}
40
40
  * @memberof GetQuizCriteria
41
41
  */
42
- criteria: Array<GetQuizCriteriaCriteriaInner>;
42
+ criteria: Array<GetQuizCriteriaListItemsInner>;
43
43
  /**
44
44
  * Total number of criteria
45
45
  * @type {number}
@@ -74,7 +74,7 @@ export function GetQuizCriteriaFromJSONTyped(json: any, ignoreDiscriminator: boo
74
74
  }
75
75
  return {
76
76
 
77
- 'criteria': ((json['criteria'] as Array<any>).map(GetQuizCriteriaCriteriaInnerFromJSON)),
77
+ 'criteria': ((json['criteria'] as Array<any>).map(GetQuizCriteriaListItemsInnerFromJSON)),
78
78
  'totalCriteria': json['total_criteria'],
79
79
  'estimatedQuestions': GetQuizCriteriaEstimatedQuestionsFromJSON(json['estimated_questions']),
80
80
  };
@@ -91,7 +91,7 @@ export function GetQuizCriteriaToJSONTyped(value?: GetQuizCriteria | null, ignor
91
91
 
92
92
  return {
93
93
 
94
- 'criteria': ((value['criteria'] as Array<any>).map(GetQuizCriteriaCriteriaInnerToJSON)),
94
+ 'criteria': ((value['criteria'] as Array<any>).map(GetQuizCriteriaListItemsInnerToJSON)),
95
95
  'total_criteria': value['totalCriteria'],
96
96
  'estimated_questions': GetQuizCriteriaEstimatedQuestionsToJSON(value['estimatedQuestions']),
97
97
  };
@@ -16,85 +16,85 @@ import { mapValues } from '../runtime';
16
16
  /**
17
17
  *
18
18
  * @export
19
- * @interface GetQuizCriteriaCriteriaInner
19
+ * @interface GetQuizCriteriaItem
20
20
  */
21
- export interface GetQuizCriteriaCriteriaInner {
21
+ export interface GetQuizCriteriaItem {
22
22
  /**
23
23
  * Criteria ID
24
24
  * @type {string}
25
- * @memberof GetQuizCriteriaCriteriaInner
25
+ * @memberof GetQuizCriteriaItem
26
26
  */
27
27
  id: string;
28
28
  /**
29
29
  * External UUID for criteria
30
30
  * @type {string}
31
- * @memberof GetQuizCriteriaCriteriaInner
31
+ * @memberof GetQuizCriteriaItem
32
32
  */
33
33
  externalId: string;
34
34
  /**
35
35
  * Topic filter (null for any topic)
36
36
  * @type {string}
37
- * @memberof GetQuizCriteriaCriteriaInner
37
+ * @memberof GetQuizCriteriaItem
38
38
  */
39
39
  topic?: string;
40
40
  /**
41
41
  * Difficulty filter (null for any difficulty)
42
42
  * @type {string}
43
- * @memberof GetQuizCriteriaCriteriaInner
43
+ * @memberof GetQuizCriteriaItem
44
44
  */
45
- difficultyLevel?: GetQuizCriteriaCriteriaInnerDifficultyLevelEnum;
45
+ difficultyLevel?: GetQuizCriteriaItemDifficultyLevelEnum;
46
46
  /**
47
47
  * Question type filter (null for any type)
48
48
  * @type {string}
49
- * @memberof GetQuizCriteriaCriteriaInner
49
+ * @memberof GetQuizCriteriaItem
50
50
  */
51
- questionType?: GetQuizCriteriaCriteriaInnerQuestionTypeEnum;
51
+ questionType?: GetQuizCriteriaItemQuestionTypeEnum;
52
52
  /**
53
53
  * Tag filters (must match all specified)
54
54
  * @type {Array<string>}
55
- * @memberof GetQuizCriteriaCriteriaInner
55
+ * @memberof GetQuizCriteriaItem
56
56
  */
57
57
  tags?: Array<string>;
58
58
  /**
59
59
  * Course filter (null for any course)
60
60
  * @type {string}
61
- * @memberof GetQuizCriteriaCriteriaInner
61
+ * @memberof GetQuizCriteriaItem
62
62
  */
63
63
  course?: string;
64
64
  /**
65
65
  * Minimum questions from this criteria
66
66
  * @type {number}
67
- * @memberof GetQuizCriteriaCriteriaInner
67
+ * @memberof GetQuizCriteriaItem
68
68
  */
69
69
  minQuestions?: number;
70
70
  /**
71
71
  * Maximum questions from this criteria
72
72
  * @type {number}
73
- * @memberof GetQuizCriteriaCriteriaInner
73
+ * @memberof GetQuizCriteriaItem
74
74
  */
75
75
  maxQuestions?: number;
76
76
  /**
77
77
  * Selection priority
78
78
  * @type {number}
79
- * @memberof GetQuizCriteriaCriteriaInner
79
+ * @memberof GetQuizCriteriaItem
80
80
  */
81
81
  priority: number;
82
82
  /**
83
83
  * Number of questions matching this criteria
84
84
  * @type {number}
85
- * @memberof GetQuizCriteriaCriteriaInner
85
+ * @memberof GetQuizCriteriaItem
86
86
  */
87
87
  matchingQuestionsCount: number;
88
88
  /**
89
89
  * When criteria was created
90
90
  * @type {Date}
91
- * @memberof GetQuizCriteriaCriteriaInner
91
+ * @memberof GetQuizCriteriaItem
92
92
  */
93
93
  createdAt: Date;
94
94
  /**
95
95
  * When criteria was last updated
96
96
  * @type {Date}
97
- * @memberof GetQuizCriteriaCriteriaInner
97
+ * @memberof GetQuizCriteriaItem
98
98
  */
99
99
  updatedAt: Date;
100
100
  }
@@ -103,28 +103,28 @@ export interface GetQuizCriteriaCriteriaInner {
103
103
  /**
104
104
  * @export
105
105
  */
106
- export const GetQuizCriteriaCriteriaInnerDifficultyLevelEnum = {
106
+ export const GetQuizCriteriaItemDifficultyLevelEnum = {
107
107
  Beginner: 'beginner',
108
108
  Intermediate: 'intermediate',
109
109
  Advanced: 'advanced'
110
110
  } as const;
111
- export type GetQuizCriteriaCriteriaInnerDifficultyLevelEnum = typeof GetQuizCriteriaCriteriaInnerDifficultyLevelEnum[keyof typeof GetQuizCriteriaCriteriaInnerDifficultyLevelEnum];
111
+ export type GetQuizCriteriaItemDifficultyLevelEnum = typeof GetQuizCriteriaItemDifficultyLevelEnum[keyof typeof GetQuizCriteriaItemDifficultyLevelEnum];
112
112
 
113
113
  /**
114
114
  * @export
115
115
  */
116
- export const GetQuizCriteriaCriteriaInnerQuestionTypeEnum = {
116
+ export const GetQuizCriteriaItemQuestionTypeEnum = {
117
117
  SingleAnswer: 'single_answer',
118
118
  MultipleAnswer: 'multiple_answer',
119
119
  FillInBlank: 'fill_in_blank'
120
120
  } as const;
121
- export type GetQuizCriteriaCriteriaInnerQuestionTypeEnum = typeof GetQuizCriteriaCriteriaInnerQuestionTypeEnum[keyof typeof GetQuizCriteriaCriteriaInnerQuestionTypeEnum];
121
+ export type GetQuizCriteriaItemQuestionTypeEnum = typeof GetQuizCriteriaItemQuestionTypeEnum[keyof typeof GetQuizCriteriaItemQuestionTypeEnum];
122
122
 
123
123
 
124
124
  /**
125
- * Check if a given object implements the GetQuizCriteriaCriteriaInner interface.
125
+ * Check if a given object implements the GetQuizCriteriaItem interface.
126
126
  */
127
- export function instanceOfGetQuizCriteriaCriteriaInner(value: object): value is GetQuizCriteriaCriteriaInner {
127
+ export function instanceOfGetQuizCriteriaItem(value: object): value is GetQuizCriteriaItem {
128
128
  if (!('id' in value) || value['id'] === undefined) return false;
129
129
  if (!('externalId' in value) || value['externalId'] === undefined) return false;
130
130
  if (!('priority' in value) || value['priority'] === undefined) return false;
@@ -134,11 +134,11 @@ export function instanceOfGetQuizCriteriaCriteriaInner(value: object): value is
134
134
  return true;
135
135
  }
136
136
 
137
- export function GetQuizCriteriaCriteriaInnerFromJSON(json: any): GetQuizCriteriaCriteriaInner {
138
- return GetQuizCriteriaCriteriaInnerFromJSONTyped(json, false);
137
+ export function GetQuizCriteriaItemFromJSON(json: any): GetQuizCriteriaItem {
138
+ return GetQuizCriteriaItemFromJSONTyped(json, false);
139
139
  }
140
140
 
141
- export function GetQuizCriteriaCriteriaInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetQuizCriteriaCriteriaInner {
141
+ export function GetQuizCriteriaItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetQuizCriteriaItem {
142
142
  if (json == null) {
143
143
  return json;
144
144
  }
@@ -160,11 +160,11 @@ export function GetQuizCriteriaCriteriaInnerFromJSONTyped(json: any, ignoreDiscr
160
160
  };
161
161
  }
162
162
 
163
- export function GetQuizCriteriaCriteriaInnerToJSON(json: any): GetQuizCriteriaCriteriaInner {
164
- return GetQuizCriteriaCriteriaInnerToJSONTyped(json, false);
163
+ export function GetQuizCriteriaItemToJSON(json: any): GetQuizCriteriaItem {
164
+ return GetQuizCriteriaItemToJSONTyped(json, false);
165
165
  }
166
166
 
167
- export function GetQuizCriteriaCriteriaInnerToJSONTyped(value?: GetQuizCriteriaCriteriaInner | null, ignoreDiscriminator: boolean = false): any {
167
+ export function GetQuizCriteriaItemToJSONTyped(value?: GetQuizCriteriaItem | null, ignoreDiscriminator: boolean = false): any {
168
168
  if (value == null) {
169
169
  return value;
170
170
  }
@@ -0,0 +1,110 @@
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 { GetQuizCriteriaListItemsInner } from './GetQuizCriteriaListItemsInner';
17
+ import {
18
+ GetQuizCriteriaListItemsInnerFromJSON,
19
+ GetQuizCriteriaListItemsInnerFromJSONTyped,
20
+ GetQuizCriteriaListItemsInnerToJSON,
21
+ GetQuizCriteriaListItemsInnerToJSONTyped,
22
+ } from './GetQuizCriteriaListItemsInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetQuizCriteriaList
28
+ */
29
+ export interface GetQuizCriteriaList {
30
+ /**
31
+ * The current page number
32
+ * @type {number}
33
+ * @memberof GetQuizCriteriaList
34
+ */
35
+ page: number;
36
+ /**
37
+ * The number of items per page
38
+ * @type {number}
39
+ * @memberof GetQuizCriteriaList
40
+ */
41
+ pageSize: number;
42
+ /**
43
+ * The total number of pages
44
+ * @type {number}
45
+ * @memberof GetQuizCriteriaList
46
+ */
47
+ totalPages: number;
48
+ /**
49
+ * The total number of criteria
50
+ * @type {number}
51
+ * @memberof GetQuizCriteriaList
52
+ */
53
+ totalItems: number;
54
+ /**
55
+ * Question selection criteria
56
+ * @type {Array<GetQuizCriteriaListItemsInner>}
57
+ * @memberof GetQuizCriteriaList
58
+ */
59
+ items: Array<GetQuizCriteriaListItemsInner>;
60
+ }
61
+
62
+ /**
63
+ * Check if a given object implements the GetQuizCriteriaList interface.
64
+ */
65
+ export function instanceOfGetQuizCriteriaList(value: object): value is GetQuizCriteriaList {
66
+ if (!('page' in value) || value['page'] === undefined) return false;
67
+ if (!('pageSize' in value) || value['pageSize'] === undefined) return false;
68
+ if (!('totalPages' in value) || value['totalPages'] === undefined) return false;
69
+ if (!('totalItems' in value) || value['totalItems'] === undefined) return false;
70
+ if (!('items' in value) || value['items'] === undefined) return false;
71
+ return true;
72
+ }
73
+
74
+ export function GetQuizCriteriaListFromJSON(json: any): GetQuizCriteriaList {
75
+ return GetQuizCriteriaListFromJSONTyped(json, false);
76
+ }
77
+
78
+ export function GetQuizCriteriaListFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetQuizCriteriaList {
79
+ if (json == null) {
80
+ return json;
81
+ }
82
+ return {
83
+
84
+ 'page': json['page'],
85
+ 'pageSize': json['pageSize'],
86
+ 'totalPages': json['totalPages'],
87
+ 'totalItems': json['totalItems'],
88
+ 'items': ((json['items'] as Array<any>).map(GetQuizCriteriaListItemsInnerFromJSON)),
89
+ };
90
+ }
91
+
92
+ export function GetQuizCriteriaListToJSON(json: any): GetQuizCriteriaList {
93
+ return GetQuizCriteriaListToJSONTyped(json, false);
94
+ }
95
+
96
+ export function GetQuizCriteriaListToJSONTyped(value?: GetQuizCriteriaList | null, ignoreDiscriminator: boolean = false): any {
97
+ if (value == null) {
98
+ return value;
99
+ }
100
+
101
+ return {
102
+
103
+ 'page': value['page'],
104
+ 'pageSize': value['pageSize'],
105
+ 'totalPages': value['totalPages'],
106
+ 'totalItems': value['totalItems'],
107
+ 'items': ((value['items'] as Array<any>).map(GetQuizCriteriaListItemsInnerToJSON)),
108
+ };
109
+ }
110
+
@@ -0,0 +1,189 @@
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
+ /**
17
+ *
18
+ * @export
19
+ * @interface GetQuizCriteriaListItemsInner
20
+ */
21
+ export interface GetQuizCriteriaListItemsInner {
22
+ /**
23
+ * Criteria ID
24
+ * @type {string}
25
+ * @memberof GetQuizCriteriaListItemsInner
26
+ */
27
+ id: string;
28
+ /**
29
+ * External UUID for criteria
30
+ * @type {string}
31
+ * @memberof GetQuizCriteriaListItemsInner
32
+ */
33
+ externalId: string;
34
+ /**
35
+ * Topic filter (null for any topic)
36
+ * @type {string}
37
+ * @memberof GetQuizCriteriaListItemsInner
38
+ */
39
+ topic?: string;
40
+ /**
41
+ * Difficulty filter (null for any difficulty)
42
+ * @type {string}
43
+ * @memberof GetQuizCriteriaListItemsInner
44
+ */
45
+ difficultyLevel?: GetQuizCriteriaListItemsInnerDifficultyLevelEnum;
46
+ /**
47
+ * Question type filter (null for any type)
48
+ * @type {string}
49
+ * @memberof GetQuizCriteriaListItemsInner
50
+ */
51
+ questionType?: GetQuizCriteriaListItemsInnerQuestionTypeEnum;
52
+ /**
53
+ * Tag filters (must match all specified)
54
+ * @type {Array<string>}
55
+ * @memberof GetQuizCriteriaListItemsInner
56
+ */
57
+ tags?: Array<string>;
58
+ /**
59
+ * Course filter (null for any course)
60
+ * @type {string}
61
+ * @memberof GetQuizCriteriaListItemsInner
62
+ */
63
+ course?: string;
64
+ /**
65
+ * Minimum questions from this criteria
66
+ * @type {number}
67
+ * @memberof GetQuizCriteriaListItemsInner
68
+ */
69
+ minQuestions?: number;
70
+ /**
71
+ * Maximum questions from this criteria
72
+ * @type {number}
73
+ * @memberof GetQuizCriteriaListItemsInner
74
+ */
75
+ maxQuestions?: number;
76
+ /**
77
+ * Selection priority
78
+ * @type {number}
79
+ * @memberof GetQuizCriteriaListItemsInner
80
+ */
81
+ priority: number;
82
+ /**
83
+ * Number of questions matching this criteria
84
+ * @type {number}
85
+ * @memberof GetQuizCriteriaListItemsInner
86
+ */
87
+ matchingQuestionsCount: number;
88
+ /**
89
+ * When criteria was created
90
+ * @type {Date}
91
+ * @memberof GetQuizCriteriaListItemsInner
92
+ */
93
+ createdAt: Date;
94
+ /**
95
+ * When criteria was last updated
96
+ * @type {Date}
97
+ * @memberof GetQuizCriteriaListItemsInner
98
+ */
99
+ updatedAt: Date;
100
+ }
101
+
102
+
103
+ /**
104
+ * @export
105
+ */
106
+ export const GetQuizCriteriaListItemsInnerDifficultyLevelEnum = {
107
+ Beginner: 'beginner',
108
+ Intermediate: 'intermediate',
109
+ Advanced: 'advanced'
110
+ } as const;
111
+ export type GetQuizCriteriaListItemsInnerDifficultyLevelEnum = typeof GetQuizCriteriaListItemsInnerDifficultyLevelEnum[keyof typeof GetQuizCriteriaListItemsInnerDifficultyLevelEnum];
112
+
113
+ /**
114
+ * @export
115
+ */
116
+ export const GetQuizCriteriaListItemsInnerQuestionTypeEnum = {
117
+ SingleAnswer: 'single_answer',
118
+ MultipleAnswer: 'multiple_answer',
119
+ FillInBlank: 'fill_in_blank'
120
+ } as const;
121
+ export type GetQuizCriteriaListItemsInnerQuestionTypeEnum = typeof GetQuizCriteriaListItemsInnerQuestionTypeEnum[keyof typeof GetQuizCriteriaListItemsInnerQuestionTypeEnum];
122
+
123
+
124
+ /**
125
+ * Check if a given object implements the GetQuizCriteriaListItemsInner interface.
126
+ */
127
+ export function instanceOfGetQuizCriteriaListItemsInner(value: object): value is GetQuizCriteriaListItemsInner {
128
+ if (!('id' in value) || value['id'] === undefined) return false;
129
+ if (!('externalId' in value) || value['externalId'] === undefined) return false;
130
+ if (!('priority' in value) || value['priority'] === undefined) return false;
131
+ if (!('matchingQuestionsCount' in value) || value['matchingQuestionsCount'] === undefined) return false;
132
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
133
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
134
+ return true;
135
+ }
136
+
137
+ export function GetQuizCriteriaListItemsInnerFromJSON(json: any): GetQuizCriteriaListItemsInner {
138
+ return GetQuizCriteriaListItemsInnerFromJSONTyped(json, false);
139
+ }
140
+
141
+ export function GetQuizCriteriaListItemsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetQuizCriteriaListItemsInner {
142
+ if (json == null) {
143
+ return json;
144
+ }
145
+ return {
146
+
147
+ 'id': json['id'],
148
+ 'externalId': json['external_id'],
149
+ 'topic': json['topic'] == null ? undefined : json['topic'],
150
+ 'difficultyLevel': json['difficulty_level'] == null ? undefined : json['difficulty_level'],
151
+ 'questionType': json['question_type'] == null ? undefined : json['question_type'],
152
+ 'tags': json['tags'] == null ? undefined : json['tags'],
153
+ 'course': json['course'] == null ? undefined : json['course'],
154
+ 'minQuestions': json['min_questions'] == null ? undefined : json['min_questions'],
155
+ 'maxQuestions': json['max_questions'] == null ? undefined : json['max_questions'],
156
+ 'priority': json['priority'],
157
+ 'matchingQuestionsCount': json['matching_questions_count'],
158
+ 'createdAt': (new Date(json['created_at'])),
159
+ 'updatedAt': (new Date(json['updated_at'])),
160
+ };
161
+ }
162
+
163
+ export function GetQuizCriteriaListItemsInnerToJSON(json: any): GetQuizCriteriaListItemsInner {
164
+ return GetQuizCriteriaListItemsInnerToJSONTyped(json, false);
165
+ }
166
+
167
+ export function GetQuizCriteriaListItemsInnerToJSONTyped(value?: GetQuizCriteriaListItemsInner | null, ignoreDiscriminator: boolean = false): any {
168
+ if (value == null) {
169
+ return value;
170
+ }
171
+
172
+ return {
173
+
174
+ 'id': value['id'],
175
+ 'external_id': value['externalId'],
176
+ 'topic': value['topic'],
177
+ 'difficulty_level': value['difficultyLevel'],
178
+ 'question_type': value['questionType'],
179
+ 'tags': value['tags'],
180
+ 'course': value['course'],
181
+ 'min_questions': value['minQuestions'],
182
+ 'max_questions': value['maxQuestions'],
183
+ 'priority': value['priority'],
184
+ 'matching_questions_count': value['matchingQuestionsCount'],
185
+ 'created_at': ((value['createdAt']).toISOString()),
186
+ 'updated_at': ((value['updatedAt']).toISOString()),
187
+ };
188
+ }
189
+