@easyedu/js-lsm-api 1.80.0 → 1.81.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 +11 -2
  3. package/dist/apis/RichTextApi.d.ts +67 -0
  4. package/dist/apis/RichTextApi.js +158 -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 +67 -0
  8. package/dist/esm/apis/RichTextApi.js +154 -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 +212 -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 +201 -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
@@ -0,0 +1,40 @@
1
+
2
+ # RichTextDocument
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `format` | string
10
+ `document` | { [key: string]: any; }
11
+ `plainText` | string
12
+ `assets` | [Array<RichTextAsset>](RichTextAsset.md)
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import type { RichTextDocument } from '@easyedu/js-lsm-api'
18
+
19
+ // TODO: Update the object below with actual values
20
+ const example = {
21
+ "format": null,
22
+ "document": null,
23
+ "plainText": null,
24
+ "assets": null,
25
+ } satisfies RichTextDocument
26
+
27
+ console.log(example)
28
+
29
+ // Convert the instance to a JSON string
30
+ const exampleJSON: string = JSON.stringify(example)
31
+ console.log(exampleJSON)
32
+
33
+ // Parse the JSON string back to an object
34
+ const exampleParsed = JSON.parse(exampleJSON) as RichTextDocument
35
+ console.log(exampleParsed)
36
+ ```
37
+
38
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
39
+
40
+
@@ -0,0 +1,36 @@
1
+
2
+ # RichTextInput
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `format` | string
10
+ `document` | { [key: string]: any; }
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ import type { RichTextInput } from '@easyedu/js-lsm-api'
16
+
17
+ // TODO: Update the object below with actual values
18
+ const example = {
19
+ "format": null,
20
+ "document": null,
21
+ } satisfies RichTextInput
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 RichTextInput
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.80.0",
3
+ "version": "1.81.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -0,0 +1,201 @@
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 * as runtime from '../runtime';
16
+ import {
17
+ type GetRichTextAssetUpload,
18
+ GetRichTextAssetUploadFromJSON,
19
+ GetRichTextAssetUploadToJSON,
20
+ } from '../models/GetRichTextAssetUpload';
21
+ import {
22
+ type PostRichTextAssetComplete,
23
+ PostRichTextAssetCompleteFromJSON,
24
+ PostRichTextAssetCompleteToJSON,
25
+ } from '../models/PostRichTextAssetComplete';
26
+ import {
27
+ type PostRichTextAssetUpload,
28
+ PostRichTextAssetUploadFromJSON,
29
+ PostRichTextAssetUploadToJSON,
30
+ } from '../models/PostRichTextAssetUpload';
31
+ import {
32
+ type RichTextAsset,
33
+ RichTextAssetFromJSON,
34
+ RichTextAssetToJSON,
35
+ } from '../models/RichTextAsset';
36
+
37
+ export interface GetRichTextAssetRequest {
38
+ assetId: string;
39
+ }
40
+
41
+ export interface PostRichTextAssetCompleteRequest {
42
+ assetId: string;
43
+ postRichTextAssetComplete: PostRichTextAssetComplete;
44
+ }
45
+
46
+ export interface PostRichTextAssetUploadRequest {
47
+ postRichTextAssetUpload: PostRichTextAssetUpload;
48
+ }
49
+
50
+ /**
51
+ *
52
+ */
53
+ export class RichTextApi extends runtime.BaseAPI {
54
+
55
+ /**
56
+ * Creates request options for getRichTextAsset without sending the request
57
+ */
58
+ async getRichTextAssetRequestOpts(requestParameters: GetRichTextAssetRequest): Promise<runtime.RequestOpts> {
59
+ if (requestParameters['assetId'] == null) {
60
+ throw new runtime.RequiredError(
61
+ 'assetId',
62
+ 'Required parameter "assetId" was null or undefined when calling getRichTextAsset().'
63
+ );
64
+ }
65
+
66
+ const queryParameters: any = {};
67
+
68
+ const headerParameters: runtime.HTTPHeaders = {};
69
+
70
+
71
+ let urlPath = `/rich-text/assets/{assetId}`;
72
+ urlPath = urlPath.replace('{assetId}', encodeURIComponent(String(requestParameters['assetId'])));
73
+
74
+ return {
75
+ path: urlPath,
76
+ method: 'GET',
77
+ headers: headerParameters,
78
+ query: queryParameters,
79
+ };
80
+ }
81
+
82
+ /**
83
+ * Redirect to a signed rich text asset URL
84
+ */
85
+ async getRichTextAssetRaw(requestParameters: GetRichTextAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
86
+ const requestOptions = await this.getRichTextAssetRequestOpts(requestParameters);
87
+ const response = await this.request(requestOptions, initOverrides);
88
+
89
+ return new runtime.VoidApiResponse(response);
90
+ }
91
+
92
+ /**
93
+ * Redirect to a signed rich text asset URL
94
+ */
95
+ async getRichTextAsset(requestParameters: GetRichTextAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
96
+ await this.getRichTextAssetRaw(requestParameters, initOverrides);
97
+ }
98
+
99
+ /**
100
+ * Creates request options for postRichTextAssetComplete without sending the request
101
+ */
102
+ async postRichTextAssetCompleteRequestOpts(requestParameters: PostRichTextAssetCompleteRequest): Promise<runtime.RequestOpts> {
103
+ if (requestParameters['assetId'] == null) {
104
+ throw new runtime.RequiredError(
105
+ 'assetId',
106
+ 'Required parameter "assetId" was null or undefined when calling postRichTextAssetComplete().'
107
+ );
108
+ }
109
+
110
+ if (requestParameters['postRichTextAssetComplete'] == null) {
111
+ throw new runtime.RequiredError(
112
+ 'postRichTextAssetComplete',
113
+ 'Required parameter "postRichTextAssetComplete" was null or undefined when calling postRichTextAssetComplete().'
114
+ );
115
+ }
116
+
117
+ const queryParameters: any = {};
118
+
119
+ const headerParameters: runtime.HTTPHeaders = {};
120
+
121
+ headerParameters['Content-Type'] = 'application/json';
122
+
123
+
124
+ let urlPath = `/rich-text/assets/{assetId}/complete`;
125
+ urlPath = urlPath.replace('{assetId}', encodeURIComponent(String(requestParameters['assetId'])));
126
+
127
+ return {
128
+ path: urlPath,
129
+ method: 'POST',
130
+ headers: headerParameters,
131
+ query: queryParameters,
132
+ body: PostRichTextAssetCompleteToJSON(requestParameters['postRichTextAssetComplete']),
133
+ };
134
+ }
135
+
136
+ /**
137
+ * Complete a pending rich text asset upload
138
+ */
139
+ async postRichTextAssetCompleteRaw(requestParameters: PostRichTextAssetCompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RichTextAsset>> {
140
+ const requestOptions = await this.postRichTextAssetCompleteRequestOpts(requestParameters);
141
+ const response = await this.request(requestOptions, initOverrides);
142
+
143
+ return new runtime.JSONApiResponse(response, (jsonValue) => RichTextAssetFromJSON(jsonValue));
144
+ }
145
+
146
+ /**
147
+ * Complete a pending rich text asset upload
148
+ */
149
+ async postRichTextAssetComplete(requestParameters: PostRichTextAssetCompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RichTextAsset> {
150
+ const response = await this.postRichTextAssetCompleteRaw(requestParameters, initOverrides);
151
+ return await response.value();
152
+ }
153
+
154
+ /**
155
+ * Creates request options for postRichTextAssetUpload without sending the request
156
+ */
157
+ async postRichTextAssetUploadRequestOpts(requestParameters: PostRichTextAssetUploadRequest): Promise<runtime.RequestOpts> {
158
+ if (requestParameters['postRichTextAssetUpload'] == null) {
159
+ throw new runtime.RequiredError(
160
+ 'postRichTextAssetUpload',
161
+ 'Required parameter "postRichTextAssetUpload" was null or undefined when calling postRichTextAssetUpload().'
162
+ );
163
+ }
164
+
165
+ const queryParameters: any = {};
166
+
167
+ const headerParameters: runtime.HTTPHeaders = {};
168
+
169
+ headerParameters['Content-Type'] = 'application/json';
170
+
171
+
172
+ let urlPath = `/rich-text/assets/uploads`;
173
+
174
+ return {
175
+ path: urlPath,
176
+ method: 'POST',
177
+ headers: headerParameters,
178
+ query: queryParameters,
179
+ body: PostRichTextAssetUploadToJSON(requestParameters['postRichTextAssetUpload']),
180
+ };
181
+ }
182
+
183
+ /**
184
+ * Create a pending rich text asset upload
185
+ */
186
+ async postRichTextAssetUploadRaw(requestParameters: PostRichTextAssetUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetRichTextAssetUpload>> {
187
+ const requestOptions = await this.postRichTextAssetUploadRequestOpts(requestParameters);
188
+ const response = await this.request(requestOptions, initOverrides);
189
+
190
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetRichTextAssetUploadFromJSON(jsonValue));
191
+ }
192
+
193
+ /**
194
+ * Create a pending rich text asset upload
195
+ */
196
+ async postRichTextAssetUpload(requestParameters: PostRichTextAssetUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetRichTextAssetUpload> {
197
+ const response = await this.postRichTextAssetUploadRaw(requestParameters, initOverrides);
198
+ return await response.value();
199
+ }
200
+
201
+ }
package/src/apis/index.ts CHANGED
@@ -15,6 +15,7 @@ export * from './PortalSublicenseApi';
15
15
  export * from './QuestionApi';
16
16
  export * from './QuizApi';
17
17
  export * from './ReportingApi';
18
+ export * from './RichTextApi';
18
19
  export * from './RoleApi';
19
20
  export * from './SupportTicketApi';
20
21
  export * from './SystemApi';
@@ -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
  }