@easyedu/js-lsm-api 1.42.0 → 1.44.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 (38) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/README.md +6 -2
  3. package/dist/apis/CourseApi.d.ts +32 -1
  4. package/dist/apis/CourseApi.js +99 -0
  5. package/dist/esm/apis/CourseApi.d.ts +32 -1
  6. package/dist/esm/apis/CourseApi.js +100 -1
  7. package/dist/esm/models/GetCourseImageUpload.d.ts +32 -0
  8. package/dist/esm/models/GetCourseImageUpload.js +43 -0
  9. package/dist/esm/models/GetQuestion.d.ts +8 -1
  10. package/dist/esm/models/GetQuestion.js +2 -0
  11. package/dist/esm/models/GetQuestionQuizzesInner.d.ts +50 -0
  12. package/dist/esm/models/GetQuestionQuizzesInner.js +55 -0
  13. package/dist/esm/models/PutCourse.d.ts +0 -6
  14. package/dist/esm/models/PutCourse.js +0 -2
  15. package/dist/esm/models/index.d.ts +2 -0
  16. package/dist/esm/models/index.js +2 -0
  17. package/dist/models/GetCourseImageUpload.d.ts +32 -0
  18. package/dist/models/GetCourseImageUpload.js +50 -0
  19. package/dist/models/GetQuestion.d.ts +8 -1
  20. package/dist/models/GetQuestion.js +2 -0
  21. package/dist/models/GetQuestionQuizzesInner.d.ts +50 -0
  22. package/dist/models/GetQuestionQuizzesInner.js +62 -0
  23. package/dist/models/PutCourse.d.ts +0 -6
  24. package/dist/models/PutCourse.js +0 -2
  25. package/dist/models/index.d.ts +2 -0
  26. package/dist/models/index.js +2 -0
  27. package/docs/CourseApi.md +138 -0
  28. package/docs/GetCourseImageUpload.md +34 -0
  29. package/docs/GetQuestion.md +2 -0
  30. package/docs/GetQuestionQuizzesInner.md +40 -0
  31. package/docs/PutCourse.md +0 -2
  32. package/package.json +1 -1
  33. package/src/apis/CourseApi.ts +129 -0
  34. package/src/models/GetCourseImageUpload.ts +66 -0
  35. package/src/models/GetQuestion.ts +15 -1
  36. package/src/models/GetQuestionQuizzesInner.ts +93 -0
  37. package/src/models/PutCourse.ts +0 -8
  38. package/src/models/index.ts +2 -0
@@ -20,6 +20,7 @@ import type {
20
20
  GetCourseEnrollmentList,
21
21
  GetCourseExport,
22
22
  GetCourseExportList,
23
+ GetCourseImageUpload,
23
24
  GetCourseList,
24
25
  GetCourseReportingBasic,
25
26
  PostCourse,
@@ -39,6 +40,8 @@ import {
39
40
  GetCourseExportToJSON,
40
41
  GetCourseExportListFromJSON,
41
42
  GetCourseExportListToJSON,
43
+ GetCourseImageUploadFromJSON,
44
+ GetCourseImageUploadToJSON,
42
45
  GetCourseListFromJSON,
43
46
  GetCourseListToJSON,
44
47
  GetCourseReportingBasicFromJSON,
@@ -55,6 +58,10 @@ import {
55
58
  PutCourseEnrollmentToJSON,
56
59
  } from '../models/index';
57
60
 
61
+ export interface DeleteCourseImageRequest {
62
+ courseId: string;
63
+ }
64
+
58
65
  export interface GetCourseRequest {
59
66
  courseId: string;
60
67
  }
@@ -104,6 +111,11 @@ export interface PostCourseExportRequest {
104
111
  postCourseExport: PostCourseExport;
105
112
  }
106
113
 
114
+ export interface PostCourseImageUploadRequest {
115
+ courseId: string;
116
+ file: Blob;
117
+ }
118
+
107
119
  export interface PutCourseRequest {
108
120
  courseId: string;
109
121
  putCourse: Omit<PutCourse, 'id'>;
@@ -120,6 +132,50 @@ export interface PutCourseEnrollmentRequest {
120
132
  */
121
133
  export class CourseApi extends runtime.BaseAPI {
122
134
 
135
+ /**
136
+ * Creates request options for deleteCourseImage without sending the request
137
+ */
138
+ async deleteCourseImageRequestOpts(requestParameters: DeleteCourseImageRequest): Promise<runtime.RequestOpts> {
139
+ if (requestParameters['courseId'] == null) {
140
+ throw new runtime.RequiredError(
141
+ 'courseId',
142
+ 'Required parameter "courseId" was null or undefined when calling deleteCourseImage().'
143
+ );
144
+ }
145
+
146
+ const queryParameters: any = {};
147
+
148
+ const headerParameters: runtime.HTTPHeaders = {};
149
+
150
+
151
+ let urlPath = `/courses/{courseId}/image`;
152
+ urlPath = urlPath.replace(`{${"courseId"}}`, encodeURIComponent(String(requestParameters['courseId'])));
153
+
154
+ return {
155
+ path: urlPath,
156
+ method: 'DELETE',
157
+ headers: headerParameters,
158
+ query: queryParameters,
159
+ };
160
+ }
161
+
162
+ /**
163
+ * Remove the course image
164
+ */
165
+ async deleteCourseImageRaw(requestParameters: DeleteCourseImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
166
+ const requestOptions = await this.deleteCourseImageRequestOpts(requestParameters);
167
+ const response = await this.request(requestOptions, initOverrides);
168
+
169
+ return new runtime.VoidApiResponse(response);
170
+ }
171
+
172
+ /**
173
+ * Remove the course image
174
+ */
175
+ async deleteCourseImage(requestParameters: DeleteCourseImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
176
+ await this.deleteCourseImageRaw(requestParameters, initOverrides);
177
+ }
178
+
123
179
  /**
124
180
  * Creates request options for getCourse without sending the request
125
181
  */
@@ -626,6 +682,79 @@ export class CourseApi extends runtime.BaseAPI {
626
682
  return await response.value();
627
683
  }
628
684
 
685
+ /**
686
+ * Creates request options for postCourseImageUpload without sending the request
687
+ */
688
+ async postCourseImageUploadRequestOpts(requestParameters: PostCourseImageUploadRequest): Promise<runtime.RequestOpts> {
689
+ if (requestParameters['courseId'] == null) {
690
+ throw new runtime.RequiredError(
691
+ 'courseId',
692
+ 'Required parameter "courseId" was null or undefined when calling postCourseImageUpload().'
693
+ );
694
+ }
695
+
696
+ if (requestParameters['file'] == null) {
697
+ throw new runtime.RequiredError(
698
+ 'file',
699
+ 'Required parameter "file" was null or undefined when calling postCourseImageUpload().'
700
+ );
701
+ }
702
+
703
+ const queryParameters: any = {};
704
+
705
+ const headerParameters: runtime.HTTPHeaders = {};
706
+
707
+ const consumes: runtime.Consume[] = [
708
+ { contentType: 'multipart/form-data' },
709
+ ];
710
+ // @ts-ignore: canConsumeForm may be unused
711
+ const canConsumeForm = runtime.canConsumeForm(consumes);
712
+
713
+ let formParams: { append(param: string, value: any): any };
714
+ let useForm = false;
715
+ // use FormData to transmit files using content-type "multipart/form-data"
716
+ useForm = canConsumeForm;
717
+ if (useForm) {
718
+ formParams = new FormData();
719
+ } else {
720
+ formParams = new URLSearchParams();
721
+ }
722
+
723
+ if (requestParameters['file'] != null) {
724
+ formParams.append('file', requestParameters['file'] as any);
725
+ }
726
+
727
+
728
+ let urlPath = `/courses/{courseId}/image`;
729
+ urlPath = urlPath.replace(`{${"courseId"}}`, encodeURIComponent(String(requestParameters['courseId'])));
730
+
731
+ return {
732
+ path: urlPath,
733
+ method: 'POST',
734
+ headers: headerParameters,
735
+ query: queryParameters,
736
+ body: formParams,
737
+ };
738
+ }
739
+
740
+ /**
741
+ * Upload a course image
742
+ */
743
+ async postCourseImageUploadRaw(requestParameters: PostCourseImageUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCourseImageUpload>> {
744
+ const requestOptions = await this.postCourseImageUploadRequestOpts(requestParameters);
745
+ const response = await this.request(requestOptions, initOverrides);
746
+
747
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetCourseImageUploadFromJSON(jsonValue));
748
+ }
749
+
750
+ /**
751
+ * Upload a course image
752
+ */
753
+ async postCourseImageUpload(requestParameters: PostCourseImageUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCourseImageUpload> {
754
+ const response = await this.postCourseImageUploadRaw(requestParameters, initOverrides);
755
+ return await response.value();
756
+ }
757
+
629
758
  /**
630
759
  * Creates request options for putCourse without sending the request
631
760
  */
@@ -0,0 +1,66 @@
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 GetCourseImageUpload
20
+ */
21
+ export interface GetCourseImageUpload {
22
+ /**
23
+ * Presigned URL for the uploaded course image
24
+ * @type {string}
25
+ * @memberof GetCourseImageUpload
26
+ */
27
+ imageUrl: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the GetCourseImageUpload interface.
32
+ */
33
+ export function instanceOfGetCourseImageUpload(value: object): value is GetCourseImageUpload {
34
+ if (!('imageUrl' in value) || value['imageUrl'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function GetCourseImageUploadFromJSON(json: any): GetCourseImageUpload {
39
+ return GetCourseImageUploadFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function GetCourseImageUploadFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCourseImageUpload {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'imageUrl': json['image_url'],
49
+ };
50
+ }
51
+
52
+ export function GetCourseImageUploadToJSON(json: any): GetCourseImageUpload {
53
+ return GetCourseImageUploadToJSONTyped(json, false);
54
+ }
55
+
56
+ export function GetCourseImageUploadToJSONTyped(value?: GetCourseImageUpload | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'image_url': value['imageUrl'],
64
+ };
65
+ }
66
+
@@ -20,6 +20,13 @@ import {
20
20
  GetQuestionAnswerChoicesInnerToJSON,
21
21
  GetQuestionAnswerChoicesInnerToJSONTyped,
22
22
  } from './GetQuestionAnswerChoicesInner';
23
+ import type { GetQuestionQuizzesInner } from './GetQuestionQuizzesInner';
24
+ import {
25
+ GetQuestionQuizzesInnerFromJSON,
26
+ GetQuestionQuizzesInnerFromJSONTyped,
27
+ GetQuestionQuizzesInnerToJSON,
28
+ GetQuestionQuizzesInnerToJSONTyped,
29
+ } from './GetQuestionQuizzesInner';
23
30
 
24
31
  /**
25
32
  *
@@ -117,6 +124,12 @@ export interface GetQuestion {
117
124
  * @memberof GetQuestion
118
125
  */
119
126
  readonly quizCount?: number;
127
+ /**
128
+ * Quizzes that use this question
129
+ * @type {Array<GetQuestionQuizzesInner>}
130
+ * @memberof GetQuestion
131
+ */
132
+ readonly quizzes?: Array<GetQuestionQuizzesInner>;
120
133
  }
121
134
 
122
135
 
@@ -183,6 +196,7 @@ export function GetQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean
183
196
  'updatedDate': (new Date(json['updated_date'])),
184
197
  'createdBy': json['created_by'] == null ? undefined : json['created_by'],
185
198
  'quizCount': json['quiz_count'] == null ? undefined : json['quiz_count'],
199
+ 'quizzes': json['quizzes'] == null ? undefined : ((json['quizzes'] as Array<any>).map(GetQuestionQuizzesInnerFromJSON)),
186
200
  };
187
201
  }
188
202
 
@@ -190,7 +204,7 @@ export function GetQuestionToJSON(json: any): GetQuestion {
190
204
  return GetQuestionToJSONTyped(json, false);
191
205
  }
192
206
 
193
- export function GetQuestionToJSONTyped(value?: Omit<GetQuestion, 'id'|'created_date'|'updated_date'|'created_by'|'quiz_count'> | null, ignoreDiscriminator: boolean = false): any {
207
+ export function GetQuestionToJSONTyped(value?: Omit<GetQuestion, 'id'|'created_date'|'updated_date'|'created_by'|'quiz_count'|'quizzes'> | null, ignoreDiscriminator: boolean = false): any {
194
208
  if (value == null) {
195
209
  return value;
196
210
  }
@@ -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 GetQuestionQuizzesInner
20
+ */
21
+ export interface GetQuestionQuizzesInner {
22
+ /**
23
+ * Quiz external identifier
24
+ * @type {string}
25
+ * @memberof GetQuestionQuizzesInner
26
+ */
27
+ quizId: string;
28
+ /**
29
+ * Quiz name
30
+ * @type {string}
31
+ * @memberof GetQuestionQuizzesInner
32
+ */
33
+ quizName: string;
34
+ /**
35
+ * Module external identifier
36
+ * @type {string}
37
+ * @memberof GetQuestionQuizzesInner
38
+ */
39
+ moduleId: string;
40
+ /**
41
+ * Course external identifier
42
+ * @type {string}
43
+ * @memberof GetQuestionQuizzesInner
44
+ */
45
+ courseId: string;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the GetQuestionQuizzesInner interface.
50
+ */
51
+ export function instanceOfGetQuestionQuizzesInner(value: object): value is GetQuestionQuizzesInner {
52
+ if (!('quizId' in value) || value['quizId'] === undefined) return false;
53
+ if (!('quizName' in value) || value['quizName'] === undefined) return false;
54
+ if (!('moduleId' in value) || value['moduleId'] === undefined) return false;
55
+ if (!('courseId' in value) || value['courseId'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function GetQuestionQuizzesInnerFromJSON(json: any): GetQuestionQuizzesInner {
60
+ return GetQuestionQuizzesInnerFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function GetQuestionQuizzesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetQuestionQuizzesInner {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'quizId': json['quiz_id'],
70
+ 'quizName': json['quiz_name'],
71
+ 'moduleId': json['module_id'],
72
+ 'courseId': json['course_id'],
73
+ };
74
+ }
75
+
76
+ export function GetQuestionQuizzesInnerToJSON(json: any): GetQuestionQuizzesInner {
77
+ return GetQuestionQuizzesInnerToJSONTyped(json, false);
78
+ }
79
+
80
+ export function GetQuestionQuizzesInnerToJSONTyped(value?: GetQuestionQuizzesInner | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'quiz_id': value['quizId'],
88
+ 'quiz_name': value['quizName'],
89
+ 'module_id': value['moduleId'],
90
+ 'course_id': value['courseId'],
91
+ };
92
+ }
93
+
@@ -43,12 +43,6 @@ export interface PutCourse {
43
43
  * @memberof PutCourse
44
44
  */
45
45
  instructor?: string;
46
- /**
47
- *
48
- * @type {string}
49
- * @memberof PutCourse
50
- */
51
- imageUrl?: string;
52
46
  /**
53
47
  * Whether the course is published and visible to students
54
48
  * @type {boolean}
@@ -78,7 +72,6 @@ export function PutCourseFromJSONTyped(json: any, ignoreDiscriminator: boolean):
78
72
  'name': json['name'] == null ? undefined : json['name'],
79
73
  'description': json['description'] == null ? undefined : json['description'],
80
74
  'instructor': json['instructor'] == null ? undefined : json['instructor'],
81
- 'imageUrl': json['image_url'] == null ? undefined : json['image_url'],
82
75
  'published': json['published'] == null ? undefined : json['published'],
83
76
  };
84
77
  }
@@ -97,7 +90,6 @@ export function PutCourseToJSONTyped(value?: Omit<PutCourse, 'id'> | null, ignor
97
90
  'name': value['name'],
98
91
  'description': value['description'],
99
92
  'instructor': value['instructor'],
100
- 'image_url': value['imageUrl'],
101
93
  'published': value['published'],
102
94
  };
103
95
  }
@@ -41,6 +41,7 @@ export * from './GetCourseEnrollmentList';
41
41
  export * from './GetCourseEnrollmentListItem';
42
42
  export * from './GetCourseExport';
43
43
  export * from './GetCourseExportList';
44
+ export * from './GetCourseImageUpload';
44
45
  export * from './GetCourseList';
45
46
  export * from './GetCourseReportingBasic';
46
47
  export * from './GetCourseStudentReporting';
@@ -74,6 +75,7 @@ export * from './GetQuestion';
74
75
  export * from './GetQuestionAnswerChoicesInner';
75
76
  export * from './GetQuestionList';
76
77
  export * from './GetQuestionListFilters';
78
+ export * from './GetQuestionQuizzesInner';
77
79
  export * from './GetQuiz';
78
80
  export * from './GetQuizAttempt';
79
81
  export * from './GetQuizAttemptAnalytics';