@easyedu/js-lsm-api 1.80.0 → 1.82.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 (91) hide show
  1. package/.openapi-generator/FILES +14 -0
  2. package/README.md +12 -2
  3. package/dist/apis/RichTextApi.d.ts +83 -0
  4. package/dist/apis/RichTextApi.js +201 -0
  5. package/dist/apis/index.d.ts +1 -0
  6. package/dist/apis/index.js +1 -0
  7. package/dist/esm/apis/RichTextApi.d.ts +83 -0
  8. package/dist/esm/apis/RichTextApi.js +197 -0
  9. package/dist/esm/apis/index.d.ts +1 -0
  10. package/dist/esm/apis/index.js +1 -0
  11. package/dist/esm/models/GetQuestion.d.ts +7 -6
  12. package/dist/esm/models/GetQuestion.js +5 -4
  13. package/dist/esm/models/GetQuestionAnswerChoicesInner.d.ts +3 -2
  14. package/dist/esm/models/GetQuestionAnswerChoicesInner.js +3 -2
  15. package/dist/esm/models/GetRichTextAssetUpload.d.ts +50 -0
  16. package/dist/esm/models/GetRichTextAssetUpload.js +55 -0
  17. package/dist/esm/models/PostQuestion.d.ts +7 -6
  18. package/dist/esm/models/PostQuestion.js +5 -4
  19. package/dist/esm/models/PostQuestionAnswerChoicesInner.d.ts +3 -2
  20. package/dist/esm/models/PostQuestionAnswerChoicesInner.js +3 -2
  21. package/dist/esm/models/PostRichTextAssetComplete.d.ts +44 -0
  22. package/dist/esm/models/PostRichTextAssetComplete.js +47 -0
  23. package/dist/esm/models/PostRichTextAssetUpload.d.ts +69 -0
  24. package/dist/esm/models/PostRichTextAssetUpload.js +65 -0
  25. package/dist/esm/models/PutQuestion.d.ts +7 -6
  26. package/dist/esm/models/PutQuestion.js +5 -4
  27. package/dist/esm/models/PutQuestionAnswerChoicesInner.d.ts +3 -2
  28. package/dist/esm/models/PutQuestionAnswerChoicesInner.js +3 -2
  29. package/dist/esm/models/RichTextAsset.d.ts +62 -0
  30. package/dist/esm/models/RichTextAsset.js +59 -0
  31. package/dist/esm/models/RichTextDocument.d.ts +60 -0
  32. package/dist/esm/models/RichTextDocument.js +62 -0
  33. package/dist/esm/models/RichTextInput.d.ts +47 -0
  34. package/dist/esm/models/RichTextInput.js +53 -0
  35. package/dist/esm/models/index.d.ts +6 -0
  36. package/dist/esm/models/index.js +6 -0
  37. package/dist/models/GetQuestion.d.ts +7 -6
  38. package/dist/models/GetQuestion.js +5 -4
  39. package/dist/models/GetQuestionAnswerChoicesInner.d.ts +3 -2
  40. package/dist/models/GetQuestionAnswerChoicesInner.js +3 -2
  41. package/dist/models/GetRichTextAssetUpload.d.ts +50 -0
  42. package/dist/models/GetRichTextAssetUpload.js +62 -0
  43. package/dist/models/PostQuestion.d.ts +7 -6
  44. package/dist/models/PostQuestion.js +5 -4
  45. package/dist/models/PostQuestionAnswerChoicesInner.d.ts +3 -2
  46. package/dist/models/PostQuestionAnswerChoicesInner.js +3 -2
  47. package/dist/models/PostRichTextAssetComplete.d.ts +44 -0
  48. package/dist/models/PostRichTextAssetComplete.js +54 -0
  49. package/dist/models/PostRichTextAssetUpload.d.ts +69 -0
  50. package/dist/models/PostRichTextAssetUpload.js +73 -0
  51. package/dist/models/PutQuestion.d.ts +7 -6
  52. package/dist/models/PutQuestion.js +5 -4
  53. package/dist/models/PutQuestionAnswerChoicesInner.d.ts +3 -2
  54. package/dist/models/PutQuestionAnswerChoicesInner.js +3 -2
  55. package/dist/models/RichTextAsset.d.ts +62 -0
  56. package/dist/models/RichTextAsset.js +66 -0
  57. package/dist/models/RichTextDocument.d.ts +60 -0
  58. package/dist/models/RichTextDocument.js +70 -0
  59. package/dist/models/RichTextInput.d.ts +47 -0
  60. package/dist/models/RichTextInput.js +61 -0
  61. package/dist/models/index.d.ts +6 -0
  62. package/dist/models/index.js +6 -0
  63. package/docs/GetQuestion.md +2 -2
  64. package/docs/GetQuestionAnswerChoicesInner.md +1 -1
  65. package/docs/GetRichTextAssetUpload.md +40 -0
  66. package/docs/PostQuestion.md +2 -2
  67. package/docs/PostQuestionAnswerChoicesInner.md +1 -1
  68. package/docs/PostRichTextAssetComplete.md +38 -0
  69. package/docs/PostRichTextAssetUpload.md +44 -0
  70. package/docs/PutQuestion.md +2 -2
  71. package/docs/PutQuestionAnswerChoicesInner.md +1 -1
  72. package/docs/RichTextApi.md +285 -0
  73. package/docs/RichTextAsset.md +44 -0
  74. package/docs/RichTextDocument.md +40 -0
  75. package/docs/RichTextInput.md +36 -0
  76. package/package.json +1 -1
  77. package/src/apis/RichTextApi.ts +260 -0
  78. package/src/apis/index.ts +1 -0
  79. package/src/models/GetQuestion.ts +17 -10
  80. package/src/models/GetQuestionAnswerChoicesInner.ts +12 -4
  81. package/src/models/GetRichTextAssetUpload.ts +93 -0
  82. package/src/models/PostQuestion.ts +17 -10
  83. package/src/models/PostQuestionAnswerChoicesInner.ts +12 -4
  84. package/src/models/PostRichTextAssetComplete.ts +82 -0
  85. package/src/models/PostRichTextAssetUpload.ts +119 -0
  86. package/src/models/PutQuestion.ts +17 -10
  87. package/src/models/PutQuestionAnswerChoicesInner.ts +12 -4
  88. package/src/models/RichTextAsset.ts +109 -0
  89. package/src/models/RichTextDocument.ts +111 -0
  90. package/src/models/RichTextInput.ts +85 -0
  91. package/src/models/index.ts +6 -0
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { RichTextDocument } from './RichTextDocument';
17
+ import {
18
+ RichTextDocumentFromJSON,
19
+ RichTextDocumentFromJSONTyped,
20
+ RichTextDocumentToJSON,
21
+ RichTextDocumentToJSONTyped,
22
+ } from './RichTextDocument';
16
23
  import type { GetQuestionAnswerChoicesInner } from './GetQuestionAnswerChoicesInner';
17
24
  import {
18
25
  GetQuestionAnswerChoicesInnerFromJSON,
@@ -41,11 +48,11 @@ export interface GetQuestion {
41
48
  */
42
49
  readonly id: string;
43
50
  /**
44
- * The main question text or prompt
45
- * @type {string}
51
+ *
52
+ * @type {RichTextDocument}
46
53
  * @memberof GetQuestion
47
54
  */
48
- questionText: string;
55
+ questionText: RichTextDocument;
49
56
  /**
50
57
  * Type of question
51
58
  * @type {GetQuestionQuestionTypeEnum}
@@ -65,11 +72,11 @@ export interface GetQuestion {
65
72
  */
66
73
  correctAnswer?: string;
67
74
  /**
68
- * Explanation of the correct answer
69
- * @type {string}
75
+ *
76
+ * @type {RichTextDocument}
70
77
  * @memberof GetQuestion
71
78
  */
72
- explanation?: string;
79
+ explanation?: RichTextDocument;
73
80
  /**
74
81
  * Topic category (Fire Alarm, Fire Pump, Fire Sprinkler, etc.)
75
82
  * @type {string}
@@ -176,11 +183,11 @@ export function GetQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean
176
183
  return {
177
184
 
178
185
  'id': json['id'],
179
- 'questionText': json['question_text'],
186
+ 'questionText': RichTextDocumentFromJSON(json['question_text']),
180
187
  'questionType': json['question_type'],
181
188
  'answerChoices': json['answer_choices'] == null ? undefined : ((json['answer_choices'] as Array<any>).map(GetQuestionAnswerChoicesInnerFromJSON)),
182
189
  'correctAnswer': json['correct_answer'] == null ? undefined : json['correct_answer'],
183
- 'explanation': json['explanation'] == null ? undefined : json['explanation'],
190
+ 'explanation': json['explanation'] == null ? undefined : RichTextDocumentFromJSON(json['explanation']),
184
191
  'topic': json['topic'],
185
192
  'difficultyLevel': json['difficulty_level'],
186
193
  'tags': json['tags'] == null ? undefined : json['tags'],
@@ -204,11 +211,11 @@ export function GetQuestionToJSONTyped(value?: Omit<GetQuestion, 'id'|'created_d
204
211
 
205
212
  return {
206
213
 
207
- 'question_text': value['questionText'],
214
+ 'question_text': RichTextDocumentToJSON(value['questionText']),
208
215
  'question_type': value['questionType'],
209
216
  'answer_choices': value['answerChoices'] == null ? undefined : ((value['answerChoices'] as Array<any>).map(GetQuestionAnswerChoicesInnerToJSON)),
210
217
  'correct_answer': value['correctAnswer'],
211
- 'explanation': value['explanation'],
218
+ 'explanation': RichTextDocumentToJSON(value['explanation']),
212
219
  'topic': value['topic'],
213
220
  'difficulty_level': value['difficultyLevel'],
214
221
  'tags': value['tags'],
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { RichTextDocument } from './RichTextDocument';
17
+ import {
18
+ RichTextDocumentFromJSON,
19
+ RichTextDocumentFromJSONTyped,
20
+ RichTextDocumentToJSON,
21
+ RichTextDocumentToJSONTyped,
22
+ } from './RichTextDocument';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -27,10 +35,10 @@ export interface GetQuestionAnswerChoicesInner {
27
35
  id: string;
28
36
  /**
29
37
  *
30
- * @type {string}
38
+ * @type {RichTextDocument}
31
39
  * @memberof GetQuestionAnswerChoicesInner
32
40
  */
33
- text: string;
41
+ text: RichTextDocument;
34
42
  /**
35
43
  *
36
44
  * @type {boolean}
@@ -60,7 +68,7 @@ export function GetQuestionAnswerChoicesInnerFromJSONTyped(json: any, ignoreDisc
60
68
  return {
61
69
 
62
70
  'id': json['id'],
63
- 'text': json['text'],
71
+ 'text': RichTextDocumentFromJSON(json['text']),
64
72
  'isCorrect': json['is_correct'],
65
73
  };
66
74
  }
@@ -77,7 +85,7 @@ export function GetQuestionAnswerChoicesInnerToJSONTyped(value?: GetQuestionAnsw
77
85
  return {
78
86
 
79
87
  'id': value['id'],
80
- 'text': value['text'],
88
+ 'text': RichTextDocumentToJSON(value['text']),
81
89
  'is_correct': value['isCorrect'],
82
90
  };
83
91
  }
@@ -0,0 +1,93 @@
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 GetRichTextAssetUpload
20
+ */
21
+ export interface GetRichTextAssetUpload {
22
+ /**
23
+ * Created pending asset ID
24
+ * @type {string}
25
+ * @memberof GetRichTextAssetUpload
26
+ */
27
+ assetId: string;
28
+ /**
29
+ * Presigned URL for direct upload
30
+ * @type {string}
31
+ * @memberof GetRichTextAssetUpload
32
+ */
33
+ uploadUrl: string;
34
+ /**
35
+ * Authenticated API URL that redirects to a signed asset URL once completed
36
+ * @type {string}
37
+ * @memberof GetRichTextAssetUpload
38
+ */
39
+ renderUrl: string;
40
+ /**
41
+ * Upload URL lifetime
42
+ * @type {number}
43
+ * @memberof GetRichTextAssetUpload
44
+ */
45
+ expiresInSeconds: number;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the GetRichTextAssetUpload interface.
50
+ */
51
+ export function instanceOfGetRichTextAssetUpload(value: object): value is GetRichTextAssetUpload {
52
+ if (!('assetId' in value) || value['assetId'] === undefined) return false;
53
+ if (!('uploadUrl' in value) || value['uploadUrl'] === undefined) return false;
54
+ if (!('renderUrl' in value) || value['renderUrl'] === undefined) return false;
55
+ if (!('expiresInSeconds' in value) || value['expiresInSeconds'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function GetRichTextAssetUploadFromJSON(json: any): GetRichTextAssetUpload {
60
+ return GetRichTextAssetUploadFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function GetRichTextAssetUploadFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetRichTextAssetUpload {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'assetId': json['asset_id'],
70
+ 'uploadUrl': json['upload_url'],
71
+ 'renderUrl': json['render_url'],
72
+ 'expiresInSeconds': json['expires_in_seconds'],
73
+ };
74
+ }
75
+
76
+ export function GetRichTextAssetUploadToJSON(json: any): GetRichTextAssetUpload {
77
+ return GetRichTextAssetUploadToJSONTyped(json, false);
78
+ }
79
+
80
+ export function GetRichTextAssetUploadToJSONTyped(value?: GetRichTextAssetUpload | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'asset_id': value['assetId'],
88
+ 'upload_url': value['uploadUrl'],
89
+ 'render_url': value['renderUrl'],
90
+ 'expires_in_seconds': value['expiresInSeconds'],
91
+ };
92
+ }
93
+
@@ -20,6 +20,13 @@ import {
20
20
  PostQuestionAnswerChoicesInnerToJSON,
21
21
  PostQuestionAnswerChoicesInnerToJSONTyped,
22
22
  } from './PostQuestionAnswerChoicesInner';
23
+ import type { RichTextInput } from './RichTextInput';
24
+ import {
25
+ RichTextInputFromJSON,
26
+ RichTextInputFromJSONTyped,
27
+ RichTextInputToJSON,
28
+ RichTextInputToJSONTyped,
29
+ } from './RichTextInput';
23
30
 
24
31
  /**
25
32
  *
@@ -28,11 +35,11 @@ import {
28
35
  */
29
36
  export interface PostQuestion {
30
37
  /**
31
- * The main question text or prompt
32
- * @type {string}
38
+ *
39
+ * @type {RichTextInput}
33
40
  * @memberof PostQuestion
34
41
  */
35
- questionText: string;
42
+ questionText: RichTextInput;
36
43
  /**
37
44
  * Type of question
38
45
  * @type {PostQuestionQuestionTypeEnum}
@@ -52,11 +59,11 @@ export interface PostQuestion {
52
59
  */
53
60
  correctAnswer?: string;
54
61
  /**
55
- * Explanation of the correct answer
56
- * @type {string}
62
+ *
63
+ * @type {RichTextInput}
57
64
  * @memberof PostQuestion
58
65
  */
59
- explanation?: string;
66
+ explanation?: RichTextInput;
60
67
  /**
61
68
  * Topic category (Fire Alarm, Fire Pump, Fire Sprinkler, etc.)
62
69
  * @type {string}
@@ -129,11 +136,11 @@ export function PostQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolea
129
136
  }
130
137
  return {
131
138
 
132
- 'questionText': json['question_text'],
139
+ 'questionText': RichTextInputFromJSON(json['question_text']),
133
140
  'questionType': json['question_type'],
134
141
  'answerChoices': json['answer_choices'] == null ? undefined : ((json['answer_choices'] as Array<any>).map(PostQuestionAnswerChoicesInnerFromJSON)),
135
142
  'correctAnswer': json['correct_answer'] == null ? undefined : json['correct_answer'],
136
- 'explanation': json['explanation'] == null ? undefined : json['explanation'],
143
+ 'explanation': json['explanation'] == null ? undefined : RichTextInputFromJSON(json['explanation']),
137
144
  'topic': json['topic'],
138
145
  'difficultyLevel': json['difficulty_level'],
139
146
  'tags': json['tags'] == null ? undefined : json['tags'],
@@ -152,11 +159,11 @@ export function PostQuestionToJSONTyped(value?: PostQuestion | null, ignoreDiscr
152
159
 
153
160
  return {
154
161
 
155
- 'question_text': value['questionText'],
162
+ 'question_text': RichTextInputToJSON(value['questionText']),
156
163
  'question_type': value['questionType'],
157
164
  'answer_choices': value['answerChoices'] == null ? undefined : ((value['answerChoices'] as Array<any>).map(PostQuestionAnswerChoicesInnerToJSON)),
158
165
  'correct_answer': value['correctAnswer'],
159
- 'explanation': value['explanation'],
166
+ 'explanation': RichTextInputToJSON(value['explanation']),
160
167
  'topic': value['topic'],
161
168
  'difficulty_level': value['difficultyLevel'],
162
169
  'tags': value['tags'],
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { RichTextInput } from './RichTextInput';
17
+ import {
18
+ RichTextInputFromJSON,
19
+ RichTextInputFromJSONTyped,
20
+ RichTextInputToJSON,
21
+ RichTextInputToJSONTyped,
22
+ } from './RichTextInput';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -21,10 +29,10 @@ import { mapValues } from '../runtime';
21
29
  export interface PostQuestionAnswerChoicesInner {
22
30
  /**
23
31
  *
24
- * @type {string}
32
+ * @type {RichTextInput}
25
33
  * @memberof PostQuestionAnswerChoicesInner
26
34
  */
27
- text: string;
35
+ text: RichTextInput;
28
36
  /**
29
37
  *
30
38
  * @type {boolean}
@@ -52,7 +60,7 @@ export function PostQuestionAnswerChoicesInnerFromJSONTyped(json: any, ignoreDis
52
60
  }
53
61
  return {
54
62
 
55
- 'text': json['text'],
63
+ 'text': RichTextInputFromJSON(json['text']),
56
64
  'isCorrect': json['is_correct'],
57
65
  };
58
66
  }
@@ -68,7 +76,7 @@ export function PostQuestionAnswerChoicesInnerToJSONTyped(value?: PostQuestionAn
68
76
 
69
77
  return {
70
78
 
71
- 'text': value['text'],
79
+ 'text': RichTextInputToJSON(value['text']),
72
80
  'is_correct': value['isCorrect'],
73
81
  };
74
82
  }
@@ -0,0 +1,82 @@
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 PostRichTextAssetComplete
20
+ */
21
+ export interface PostRichTextAssetComplete {
22
+ /**
23
+ * Uploaded size confirmed by the client
24
+ * @type {number}
25
+ * @memberof PostRichTextAssetComplete
26
+ */
27
+ byteSize: number;
28
+ /**
29
+ * Image width in pixels
30
+ * @type {number}
31
+ * @memberof PostRichTextAssetComplete
32
+ */
33
+ width?: number;
34
+ /**
35
+ * Image height in pixels
36
+ * @type {number}
37
+ * @memberof PostRichTextAssetComplete
38
+ */
39
+ height?: number;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the PostRichTextAssetComplete interface.
44
+ */
45
+ export function instanceOfPostRichTextAssetComplete(value: object): value is PostRichTextAssetComplete {
46
+ if (!('byteSize' in value) || value['byteSize'] === undefined) return false;
47
+ return true;
48
+ }
49
+
50
+ export function PostRichTextAssetCompleteFromJSON(json: any): PostRichTextAssetComplete {
51
+ return PostRichTextAssetCompleteFromJSONTyped(json, false);
52
+ }
53
+
54
+ export function PostRichTextAssetCompleteFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostRichTextAssetComplete {
55
+ if (json == null) {
56
+ return json;
57
+ }
58
+ return {
59
+
60
+ 'byteSize': json['byte_size'],
61
+ 'width': json['width'] == null ? undefined : json['width'],
62
+ 'height': json['height'] == null ? undefined : json['height'],
63
+ };
64
+ }
65
+
66
+ export function PostRichTextAssetCompleteToJSON(json: any): PostRichTextAssetComplete {
67
+ return PostRichTextAssetCompleteToJSONTyped(json, false);
68
+ }
69
+
70
+ export function PostRichTextAssetCompleteToJSONTyped(value?: PostRichTextAssetComplete | null, ignoreDiscriminator: boolean = false): any {
71
+ if (value == null) {
72
+ return value;
73
+ }
74
+
75
+ return {
76
+
77
+ 'byte_size': value['byteSize'],
78
+ 'width': value['width'],
79
+ 'height': value['height'],
80
+ };
81
+ }
82
+
@@ -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
+ /**
17
+ *
18
+ * @export
19
+ * @interface PostRichTextAssetUpload
20
+ */
21
+ export interface PostRichTextAssetUpload {
22
+ /**
23
+ * Original file name
24
+ * @type {string}
25
+ * @memberof PostRichTextAssetUpload
26
+ */
27
+ filename: string;
28
+ /**
29
+ * Expected MIME type
30
+ * @type {string}
31
+ * @memberof PostRichTextAssetUpload
32
+ */
33
+ mimeType: string;
34
+ /**
35
+ * Expected upload size in bytes
36
+ * @type {number}
37
+ * @memberof PostRichTextAssetUpload
38
+ */
39
+ byteSize: number;
40
+ /**
41
+ * Image width in pixels
42
+ * @type {number}
43
+ * @memberof PostRichTextAssetUpload
44
+ */
45
+ width?: number;
46
+ /**
47
+ * Image height in pixels
48
+ * @type {number}
49
+ * @memberof PostRichTextAssetUpload
50
+ */
51
+ height?: number;
52
+ /**
53
+ * Asset access policy context
54
+ * @type {PostRichTextAssetUploadUsageContextEnum}
55
+ * @memberof PostRichTextAssetUpload
56
+ */
57
+ usageContext: PostRichTextAssetUploadUsageContextEnum;
58
+ }
59
+
60
+
61
+ /**
62
+ * @export
63
+ */
64
+ export const PostRichTextAssetUploadUsageContextEnum = {
65
+ LearningContent: 'learning_content'
66
+ } as const;
67
+ export type PostRichTextAssetUploadUsageContextEnum = typeof PostRichTextAssetUploadUsageContextEnum[keyof typeof PostRichTextAssetUploadUsageContextEnum];
68
+
69
+
70
+ /**
71
+ * Check if a given object implements the PostRichTextAssetUpload interface.
72
+ */
73
+ export function instanceOfPostRichTextAssetUpload(value: object): value is PostRichTextAssetUpload {
74
+ if (!('filename' in value) || value['filename'] === undefined) return false;
75
+ if (!('mimeType' in value) || value['mimeType'] === undefined) return false;
76
+ if (!('byteSize' in value) || value['byteSize'] === undefined) return false;
77
+ if (!('usageContext' in value) || value['usageContext'] === undefined) return false;
78
+ return true;
79
+ }
80
+
81
+ export function PostRichTextAssetUploadFromJSON(json: any): PostRichTextAssetUpload {
82
+ return PostRichTextAssetUploadFromJSONTyped(json, false);
83
+ }
84
+
85
+ export function PostRichTextAssetUploadFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostRichTextAssetUpload {
86
+ if (json == null) {
87
+ return json;
88
+ }
89
+ return {
90
+
91
+ 'filename': json['filename'],
92
+ 'mimeType': json['mime_type'],
93
+ 'byteSize': json['byte_size'],
94
+ 'width': json['width'] == null ? undefined : json['width'],
95
+ 'height': json['height'] == null ? undefined : json['height'],
96
+ 'usageContext': json['usage_context'],
97
+ };
98
+ }
99
+
100
+ export function PostRichTextAssetUploadToJSON(json: any): PostRichTextAssetUpload {
101
+ return PostRichTextAssetUploadToJSONTyped(json, false);
102
+ }
103
+
104
+ export function PostRichTextAssetUploadToJSONTyped(value?: PostRichTextAssetUpload | null, ignoreDiscriminator: boolean = false): any {
105
+ if (value == null) {
106
+ return value;
107
+ }
108
+
109
+ return {
110
+
111
+ 'filename': value['filename'],
112
+ 'mime_type': value['mimeType'],
113
+ 'byte_size': value['byteSize'],
114
+ 'width': value['width'],
115
+ 'height': value['height'],
116
+ 'usage_context': value['usageContext'],
117
+ };
118
+ }
119
+
@@ -20,6 +20,13 @@ import {
20
20
  PutQuestionAnswerChoicesInnerToJSON,
21
21
  PutQuestionAnswerChoicesInnerToJSONTyped,
22
22
  } from './PutQuestionAnswerChoicesInner';
23
+ import type { RichTextInput } from './RichTextInput';
24
+ import {
25
+ RichTextInputFromJSON,
26
+ RichTextInputFromJSONTyped,
27
+ RichTextInputToJSON,
28
+ RichTextInputToJSONTyped,
29
+ } from './RichTextInput';
23
30
 
24
31
  /**
25
32
  *
@@ -28,11 +35,11 @@ import {
28
35
  */
29
36
  export interface PutQuestion {
30
37
  /**
31
- * The main question text or prompt
32
- * @type {string}
38
+ *
39
+ * @type {RichTextInput}
33
40
  * @memberof PutQuestion
34
41
  */
35
- questionText?: string;
42
+ questionText?: RichTextInput;
36
43
  /**
37
44
  * Type of question
38
45
  * @type {PutQuestionQuestionTypeEnum}
@@ -52,11 +59,11 @@ export interface PutQuestion {
52
59
  */
53
60
  correctAnswer?: string;
54
61
  /**
55
- * Explanation of the correct answer
56
- * @type {string}
62
+ *
63
+ * @type {RichTextInput}
57
64
  * @memberof PutQuestion
58
65
  */
59
- explanation?: string;
66
+ explanation?: RichTextInput;
60
67
  /**
61
68
  * Topic category (Fire Alarm, Fire Pump, Fire Sprinkler, etc.)
62
69
  * @type {string}
@@ -125,11 +132,11 @@ export function PutQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean
125
132
  }
126
133
  return {
127
134
 
128
- 'questionText': json['question_text'] == null ? undefined : json['question_text'],
135
+ 'questionText': json['question_text'] == null ? undefined : RichTextInputFromJSON(json['question_text']),
129
136
  'questionType': json['question_type'] == null ? undefined : json['question_type'],
130
137
  'answerChoices': json['answer_choices'] == null ? undefined : ((json['answer_choices'] as Array<any>).map(PutQuestionAnswerChoicesInnerFromJSON)),
131
138
  'correctAnswer': json['correct_answer'] == null ? undefined : json['correct_answer'],
132
- 'explanation': json['explanation'] == null ? undefined : json['explanation'],
139
+ 'explanation': json['explanation'] == null ? undefined : RichTextInputFromJSON(json['explanation']),
133
140
  'topic': json['topic'] == null ? undefined : json['topic'],
134
141
  'difficultyLevel': json['difficulty_level'] == null ? undefined : json['difficulty_level'],
135
142
  'tags': json['tags'] == null ? undefined : json['tags'],
@@ -148,11 +155,11 @@ export function PutQuestionToJSONTyped(value?: PutQuestion | null, ignoreDiscrim
148
155
 
149
156
  return {
150
157
 
151
- 'question_text': value['questionText'],
158
+ 'question_text': RichTextInputToJSON(value['questionText']),
152
159
  'question_type': value['questionType'],
153
160
  'answer_choices': value['answerChoices'] == null ? undefined : ((value['answerChoices'] as Array<any>).map(PutQuestionAnswerChoicesInnerToJSON)),
154
161
  'correct_answer': value['correctAnswer'],
155
- 'explanation': value['explanation'],
162
+ 'explanation': RichTextInputToJSON(value['explanation']),
156
163
  'topic': value['topic'],
157
164
  'difficulty_level': value['difficultyLevel'],
158
165
  'tags': value['tags'],
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { RichTextInput } from './RichTextInput';
17
+ import {
18
+ RichTextInputFromJSON,
19
+ RichTextInputFromJSONTyped,
20
+ RichTextInputToJSON,
21
+ RichTextInputToJSONTyped,
22
+ } from './RichTextInput';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -27,10 +35,10 @@ export interface PutQuestionAnswerChoicesInner {
27
35
  id?: string;
28
36
  /**
29
37
  *
30
- * @type {string}
38
+ * @type {RichTextInput}
31
39
  * @memberof PutQuestionAnswerChoicesInner
32
40
  */
33
- text: string;
41
+ text: RichTextInput;
34
42
  /**
35
43
  *
36
44
  * @type {boolean}
@@ -59,7 +67,7 @@ export function PutQuestionAnswerChoicesInnerFromJSONTyped(json: any, ignoreDisc
59
67
  return {
60
68
 
61
69
  'id': json['id'] == null ? undefined : json['id'],
62
- 'text': json['text'],
70
+ 'text': RichTextInputFromJSON(json['text']),
63
71
  'isCorrect': json['is_correct'],
64
72
  };
65
73
  }
@@ -76,7 +84,7 @@ export function PutQuestionAnswerChoicesInnerToJSONTyped(value?: PutQuestionAnsw
76
84
  return {
77
85
 
78
86
  'id': value['id'],
79
- 'text': value['text'],
87
+ 'text': RichTextInputToJSON(value['text']),
80
88
  'is_correct': value['isCorrect'],
81
89
  };
82
90
  }