@easyedu/js-lsm-api 1.63.0 → 1.65.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 +4 -0
  2. package/README.md +13 -2
  3. package/dist/apis/ContentApi.d.ts +37 -0
  4. package/dist/apis/ContentApi.js +98 -0
  5. package/dist/apis/CourseApi.d.ts +49 -0
  6. package/dist/apis/CourseApi.js +124 -0
  7. package/dist/apis/ModuleApi.d.ts +18 -0
  8. package/dist/apis/ModuleApi.js +44 -0
  9. package/dist/apis/PortalApi.d.ts +16 -0
  10. package/dist/apis/PortalApi.js +42 -0
  11. package/dist/apis/UserApi.d.ts +32 -0
  12. package/dist/apis/UserApi.js +82 -0
  13. package/dist/esm/apis/ContentApi.d.ts +37 -0
  14. package/dist/esm/apis/ContentApi.js +98 -0
  15. package/dist/esm/apis/CourseApi.d.ts +49 -0
  16. package/dist/esm/apis/CourseApi.js +124 -0
  17. package/dist/esm/apis/ModuleApi.d.ts +18 -0
  18. package/dist/esm/apis/ModuleApi.js +44 -0
  19. package/dist/esm/apis/PortalApi.d.ts +16 -0
  20. package/dist/esm/apis/PortalApi.js +42 -0
  21. package/dist/esm/apis/UserApi.d.ts +32 -0
  22. package/dist/esm/apis/UserApi.js +82 -0
  23. package/dist/esm/models/PostSignupRequest.d.ts +68 -0
  24. package/dist/esm/models/PostSignupRequest.js +67 -0
  25. package/dist/esm/models/PostSignupRequestResponse.d.ts +32 -0
  26. package/dist/esm/models/PostSignupRequestResponse.js +43 -0
  27. package/dist/esm/models/index.d.ts +2 -0
  28. package/dist/esm/models/index.js +2 -0
  29. package/dist/models/PostSignupRequest.d.ts +68 -0
  30. package/dist/models/PostSignupRequest.js +74 -0
  31. package/dist/models/PostSignupRequestResponse.d.ts +32 -0
  32. package/dist/models/PostSignupRequestResponse.js +50 -0
  33. package/dist/models/index.d.ts +2 -0
  34. package/dist/models/index.js +2 -0
  35. package/docs/ContentApi.md +155 -0
  36. package/docs/CourseApi.md +211 -0
  37. package/docs/ModuleApi.md +73 -0
  38. package/docs/PortalApi.md +71 -0
  39. package/docs/PostSignupRequest.md +46 -0
  40. package/docs/PostSignupRequestResponse.md +34 -0
  41. package/docs/UserApi.md +134 -0
  42. package/package.json +1 -1
  43. package/src/apis/ContentApi.ts +143 -0
  44. package/src/apis/CourseApi.ts +164 -0
  45. package/src/apis/ModuleApi.ts +59 -0
  46. package/src/apis/PortalApi.ts +57 -0
  47. package/src/apis/UserApi.ts +112 -0
  48. package/src/models/PostSignupRequest.ts +120 -0
  49. package/src/models/PostSignupRequestResponse.ts +66 -0
  50. package/src/models/index.ts +2 -0
package/docs/UserApi.md CHANGED
@@ -10,10 +10,12 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
10
10
  | [**getUser**](UserApi.md#getuser) | **GET** /users/{userId} | Get a user by id |
11
11
  | [**postLogin**](UserApi.md#postlogin) | **POST** /auth/login | Post a new login |
12
12
  | [**postLogout**](UserApi.md#postlogout) | **POST** /auth/logout | Logout a user |
13
+ | [**postSignupRequest**](UserApi.md#postsignuprequest) | **POST** /auth/signup-request | Request a new organization signup |
13
14
  | [**postUserAvatarUpload**](UserApi.md#postuseravatarupload) | **POST** /users/{userId}/avatar | Upload a profile photo for the current user |
14
15
  | [**putUser**](UserApi.md#putuser) | **PUT** /users/{userId} | Update a user by id |
15
16
  | [**resetPassword**](UserApi.md#resetpassword) | **POST** /auth/reset-password | Reset a users password |
16
17
  | [**sendResetPassword**](UserApi.md#sendresetpassword) | **POST** /auth/send-reset-password | Send a reset password email |
18
+ | [**verifySignupRequest**](UserApi.md#verifysignuprequest) | **GET** /auth/signup/verify | Verify a signup request and provision the portal |
17
19
 
18
20
 
19
21
 
@@ -388,6 +390,72 @@ No authorization required
388
390
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
389
391
 
390
392
 
393
+ ## postSignupRequest
394
+
395
+ > PostSignupRequestResponse postSignupRequest(postSignupRequest)
396
+
397
+ Request a new organization signup
398
+
399
+ ### Example
400
+
401
+ ```ts
402
+ import {
403
+ Configuration,
404
+ UserApi,
405
+ } from '@easyedu/js-lsm-api';
406
+ import type { PostSignupRequestRequest } from '@easyedu/js-lsm-api';
407
+
408
+ async function example() {
409
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
410
+ const api = new UserApi();
411
+
412
+ const body = {
413
+ // PostSignupRequest | Pending signup request
414
+ postSignupRequest: ...,
415
+ } satisfies PostSignupRequestRequest;
416
+
417
+ try {
418
+ const data = await api.postSignupRequest(body);
419
+ console.log(data);
420
+ } catch (error) {
421
+ console.error(error);
422
+ }
423
+ }
424
+
425
+ // Run the test
426
+ example().catch(console.error);
427
+ ```
428
+
429
+ ### Parameters
430
+
431
+
432
+ | Name | Type | Description | Notes |
433
+ |------------- | ------------- | ------------- | -------------|
434
+ | **postSignupRequest** | [PostSignupRequest](PostSignupRequest.md) | Pending signup request | |
435
+
436
+ ### Return type
437
+
438
+ [**PostSignupRequestResponse**](PostSignupRequestResponse.md)
439
+
440
+ ### Authorization
441
+
442
+ No authorization required
443
+
444
+ ### HTTP request headers
445
+
446
+ - **Content-Type**: `application/json`
447
+ - **Accept**: `application/json`
448
+
449
+
450
+ ### HTTP response details
451
+ | Status code | Description | Response headers |
452
+ |-------------|-------------|------------------|
453
+ | **200** | signup request accepted | - |
454
+ | **400** | signup request validation error | - |
455
+
456
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
457
+
458
+
391
459
  ## postUserAvatarUpload
392
460
 
393
461
  > GetUserAvatarUpload postUserAvatarUpload(userId, file)
@@ -657,3 +725,69 @@ No authorization required
657
725
 
658
726
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
659
727
 
728
+
729
+ ## verifySignupRequest
730
+
731
+ > verifySignupRequest(token)
732
+
733
+ Verify a signup request and provision the portal
734
+
735
+ ### Example
736
+
737
+ ```ts
738
+ import {
739
+ Configuration,
740
+ UserApi,
741
+ } from '@easyedu/js-lsm-api';
742
+ import type { VerifySignupRequestRequest } from '@easyedu/js-lsm-api';
743
+
744
+ async function example() {
745
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
746
+ const api = new UserApi();
747
+
748
+ const body = {
749
+ // string
750
+ token: token_example,
751
+ } satisfies VerifySignupRequestRequest;
752
+
753
+ try {
754
+ const data = await api.verifySignupRequest(body);
755
+ console.log(data);
756
+ } catch (error) {
757
+ console.error(error);
758
+ }
759
+ }
760
+
761
+ // Run the test
762
+ example().catch(console.error);
763
+ ```
764
+
765
+ ### Parameters
766
+
767
+
768
+ | Name | Type | Description | Notes |
769
+ |------------- | ------------- | ------------- | -------------|
770
+ | **token** | `string` | | [Defaults to `undefined`] |
771
+
772
+ ### Return type
773
+
774
+ `void` (Empty response body)
775
+
776
+ ### Authorization
777
+
778
+ No authorization required
779
+
780
+ ### HTTP request headers
781
+
782
+ - **Content-Type**: Not defined
783
+ - **Accept**: Not defined
784
+
785
+
786
+ ### HTTP response details
787
+ | Status code | Description | Response headers |
788
+ |-------------|-------------|------------------|
789
+ | **303** | signup verified and redirected to portal signin | - |
790
+ | **400** | invalid or expired signup verification token | - |
791
+
792
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
793
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.63.0",
3
+ "version": "1.65.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -128,6 +128,19 @@ export interface CommitScormSessionRequest {
128
128
  scormSessionId: string;
129
129
  }
130
130
 
131
+ export interface DeleteContentRequest {
132
+ contentId: string;
133
+ moduleId: string;
134
+ courseId: string;
135
+ }
136
+
137
+ export interface DeleteContentVersionRequest {
138
+ contentId: string;
139
+ moduleId: string;
140
+ courseId: string;
141
+ versionId: string;
142
+ }
143
+
131
144
  export interface GetContentRequest {
132
145
  contentId: string;
133
146
  moduleId: string;
@@ -317,6 +330,136 @@ export class ContentApi extends runtime.BaseAPI {
317
330
  await this.commitScormSessionRaw(requestParameters, initOverrides);
318
331
  }
319
332
 
333
+ /**
334
+ * Creates request options for deleteContent without sending the request
335
+ */
336
+ async deleteContentRequestOpts(requestParameters: DeleteContentRequest): Promise<runtime.RequestOpts> {
337
+ if (requestParameters['contentId'] == null) {
338
+ throw new runtime.RequiredError(
339
+ 'contentId',
340
+ 'Required parameter "contentId" was null or undefined when calling deleteContent().'
341
+ );
342
+ }
343
+
344
+ if (requestParameters['moduleId'] == null) {
345
+ throw new runtime.RequiredError(
346
+ 'moduleId',
347
+ 'Required parameter "moduleId" was null or undefined when calling deleteContent().'
348
+ );
349
+ }
350
+
351
+ if (requestParameters['courseId'] == null) {
352
+ throw new runtime.RequiredError(
353
+ 'courseId',
354
+ 'Required parameter "courseId" was null or undefined when calling deleteContent().'
355
+ );
356
+ }
357
+
358
+ const queryParameters: any = {};
359
+
360
+ const headerParameters: runtime.HTTPHeaders = {};
361
+
362
+
363
+ let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/{contentId}`;
364
+ urlPath = urlPath.replace('{contentId}', encodeURIComponent(String(requestParameters['contentId'])));
365
+ urlPath = urlPath.replace('{moduleId}', encodeURIComponent(String(requestParameters['moduleId'])));
366
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
367
+
368
+ return {
369
+ path: urlPath,
370
+ method: 'DELETE',
371
+ headers: headerParameters,
372
+ query: queryParameters,
373
+ };
374
+ }
375
+
376
+ /**
377
+ * Soft-deletes the content item.
378
+ * Delete content by id
379
+ */
380
+ async deleteContentRaw(requestParameters: DeleteContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
381
+ const requestOptions = await this.deleteContentRequestOpts(requestParameters);
382
+ const response = await this.request(requestOptions, initOverrides);
383
+
384
+ return new runtime.VoidApiResponse(response);
385
+ }
386
+
387
+ /**
388
+ * Soft-deletes the content item.
389
+ * Delete content by id
390
+ */
391
+ async deleteContent(requestParameters: DeleteContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
392
+ await this.deleteContentRaw(requestParameters, initOverrides);
393
+ }
394
+
395
+ /**
396
+ * Creates request options for deleteContentVersion without sending the request
397
+ */
398
+ async deleteContentVersionRequestOpts(requestParameters: DeleteContentVersionRequest): Promise<runtime.RequestOpts> {
399
+ if (requestParameters['contentId'] == null) {
400
+ throw new runtime.RequiredError(
401
+ 'contentId',
402
+ 'Required parameter "contentId" was null or undefined when calling deleteContentVersion().'
403
+ );
404
+ }
405
+
406
+ if (requestParameters['moduleId'] == null) {
407
+ throw new runtime.RequiredError(
408
+ 'moduleId',
409
+ 'Required parameter "moduleId" was null or undefined when calling deleteContentVersion().'
410
+ );
411
+ }
412
+
413
+ if (requestParameters['courseId'] == null) {
414
+ throw new runtime.RequiredError(
415
+ 'courseId',
416
+ 'Required parameter "courseId" was null or undefined when calling deleteContentVersion().'
417
+ );
418
+ }
419
+
420
+ if (requestParameters['versionId'] == null) {
421
+ throw new runtime.RequiredError(
422
+ 'versionId',
423
+ 'Required parameter "versionId" was null or undefined when calling deleteContentVersion().'
424
+ );
425
+ }
426
+
427
+ const queryParameters: any = {};
428
+
429
+ const headerParameters: runtime.HTTPHeaders = {};
430
+
431
+
432
+ let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/{contentId}/versions/{versionId}`;
433
+ urlPath = urlPath.replace('{contentId}', encodeURIComponent(String(requestParameters['contentId'])));
434
+ urlPath = urlPath.replace('{moduleId}', encodeURIComponent(String(requestParameters['moduleId'])));
435
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
436
+ urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId'])));
437
+
438
+ return {
439
+ path: urlPath,
440
+ method: 'DELETE',
441
+ headers: headerParameters,
442
+ query: queryParameters,
443
+ };
444
+ }
445
+
446
+ /**
447
+ * Delete an inactive content version
448
+ */
449
+ async deleteContentVersionRaw(requestParameters: DeleteContentVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
450
+ const requestOptions = await this.deleteContentVersionRequestOpts(requestParameters);
451
+ const response = await this.request(requestOptions, initOverrides);
452
+
453
+ return new runtime.VoidApiResponse(response);
454
+ }
455
+
456
+ /**
457
+ * Delete an inactive content version
458
+ */
459
+ async deleteContentVersion(requestParameters: DeleteContentVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
460
+ await this.deleteContentVersionRaw(requestParameters, initOverrides);
461
+ }
462
+
320
463
  /**
321
464
  * Creates request options for getContent without sending the request
322
465
  */
@@ -84,6 +84,20 @@ import {
84
84
  PutCourseEnrollmentToJSON,
85
85
  } from '../models/PutCourseEnrollment';
86
86
 
87
+ export interface DeleteCourseRequest {
88
+ courseId: string;
89
+ }
90
+
91
+ export interface DeleteCourseEnrollmentRequest {
92
+ courseId: string;
93
+ enrollmentId: string;
94
+ }
95
+
96
+ export interface DeleteCourseExportRequest {
97
+ courseId: string;
98
+ exportId: string;
99
+ }
100
+
87
101
  export interface DeleteCourseImageRequest {
88
102
  courseId: string;
89
103
  }
@@ -167,6 +181,156 @@ export interface PutCourseEnrollmentRequest {
167
181
  */
168
182
  export class CourseApi extends runtime.BaseAPI {
169
183
 
184
+ /**
185
+ * Creates request options for deleteCourse without sending the request
186
+ */
187
+ async deleteCourseRequestOpts(requestParameters: DeleteCourseRequest): Promise<runtime.RequestOpts> {
188
+ if (requestParameters['courseId'] == null) {
189
+ throw new runtime.RequiredError(
190
+ 'courseId',
191
+ 'Required parameter "courseId" was null or undefined when calling deleteCourse().'
192
+ );
193
+ }
194
+
195
+ const queryParameters: any = {};
196
+
197
+ const headerParameters: runtime.HTTPHeaders = {};
198
+
199
+
200
+ let urlPath = `/courses/{courseId}`;
201
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
202
+
203
+ return {
204
+ path: urlPath,
205
+ method: 'DELETE',
206
+ headers: headerParameters,
207
+ query: queryParameters,
208
+ };
209
+ }
210
+
211
+ /**
212
+ * Soft-deletes the course and its modules/content.
213
+ * Delete a course by id
214
+ */
215
+ async deleteCourseRaw(requestParameters: DeleteCourseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
216
+ const requestOptions = await this.deleteCourseRequestOpts(requestParameters);
217
+ const response = await this.request(requestOptions, initOverrides);
218
+
219
+ return new runtime.VoidApiResponse(response);
220
+ }
221
+
222
+ /**
223
+ * Soft-deletes the course and its modules/content.
224
+ * Delete a course by id
225
+ */
226
+ async deleteCourse(requestParameters: DeleteCourseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
227
+ await this.deleteCourseRaw(requestParameters, initOverrides);
228
+ }
229
+
230
+ /**
231
+ * Creates request options for deleteCourseEnrollment without sending the request
232
+ */
233
+ async deleteCourseEnrollmentRequestOpts(requestParameters: DeleteCourseEnrollmentRequest): Promise<runtime.RequestOpts> {
234
+ if (requestParameters['courseId'] == null) {
235
+ throw new runtime.RequiredError(
236
+ 'courseId',
237
+ 'Required parameter "courseId" was null or undefined when calling deleteCourseEnrollment().'
238
+ );
239
+ }
240
+
241
+ if (requestParameters['enrollmentId'] == null) {
242
+ throw new runtime.RequiredError(
243
+ 'enrollmentId',
244
+ 'Required parameter "enrollmentId" was null or undefined when calling deleteCourseEnrollment().'
245
+ );
246
+ }
247
+
248
+ const queryParameters: any = {};
249
+
250
+ const headerParameters: runtime.HTTPHeaders = {};
251
+
252
+
253
+ let urlPath = `/courses/{courseId}/enrollments/{enrollmentId}`;
254
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
255
+ urlPath = urlPath.replace('{enrollmentId}', encodeURIComponent(String(requestParameters['enrollmentId'])));
256
+
257
+ return {
258
+ path: urlPath,
259
+ method: 'DELETE',
260
+ headers: headerParameters,
261
+ query: queryParameters,
262
+ };
263
+ }
264
+
265
+ /**
266
+ * Remove a course enrollment
267
+ */
268
+ async deleteCourseEnrollmentRaw(requestParameters: DeleteCourseEnrollmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
269
+ const requestOptions = await this.deleteCourseEnrollmentRequestOpts(requestParameters);
270
+ const response = await this.request(requestOptions, initOverrides);
271
+
272
+ return new runtime.VoidApiResponse(response);
273
+ }
274
+
275
+ /**
276
+ * Remove a course enrollment
277
+ */
278
+ async deleteCourseEnrollment(requestParameters: DeleteCourseEnrollmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
279
+ await this.deleteCourseEnrollmentRaw(requestParameters, initOverrides);
280
+ }
281
+
282
+ /**
283
+ * Creates request options for deleteCourseExport without sending the request
284
+ */
285
+ async deleteCourseExportRequestOpts(requestParameters: DeleteCourseExportRequest): Promise<runtime.RequestOpts> {
286
+ if (requestParameters['courseId'] == null) {
287
+ throw new runtime.RequiredError(
288
+ 'courseId',
289
+ 'Required parameter "courseId" was null or undefined when calling deleteCourseExport().'
290
+ );
291
+ }
292
+
293
+ if (requestParameters['exportId'] == null) {
294
+ throw new runtime.RequiredError(
295
+ 'exportId',
296
+ 'Required parameter "exportId" was null or undefined when calling deleteCourseExport().'
297
+ );
298
+ }
299
+
300
+ const queryParameters: any = {};
301
+
302
+ const headerParameters: runtime.HTTPHeaders = {};
303
+
304
+
305
+ let urlPath = `/courses/{courseId}/exports/{exportId}`;
306
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
307
+ urlPath = urlPath.replace('{exportId}', encodeURIComponent(String(requestParameters['exportId'])));
308
+
309
+ return {
310
+ path: urlPath,
311
+ method: 'DELETE',
312
+ headers: headerParameters,
313
+ query: queryParameters,
314
+ };
315
+ }
316
+
317
+ /**
318
+ * Delete a course export
319
+ */
320
+ async deleteCourseExportRaw(requestParameters: DeleteCourseExportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
321
+ const requestOptions = await this.deleteCourseExportRequestOpts(requestParameters);
322
+ const response = await this.request(requestOptions, initOverrides);
323
+
324
+ return new runtime.VoidApiResponse(response);
325
+ }
326
+
327
+ /**
328
+ * Delete a course export
329
+ */
330
+ async deleteCourseExport(requestParameters: DeleteCourseExportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
331
+ await this.deleteCourseExportRaw(requestParameters, initOverrides);
332
+ }
333
+
170
334
  /**
171
335
  * Creates request options for deleteCourseImage without sending the request
172
336
  */
@@ -44,6 +44,11 @@ import {
44
44
  PutModuleReorderToJSON,
45
45
  } from '../models/PutModuleReorder';
46
46
 
47
+ export interface DeleteModuleRequest {
48
+ moduleId: string;
49
+ courseId: string;
50
+ }
51
+
47
52
  export interface GetModuleRequest {
48
53
  moduleId: string;
49
54
  courseId: string;
@@ -80,6 +85,60 @@ export interface PutModuleReorderRequest {
80
85
  */
81
86
  export class ModuleApi extends runtime.BaseAPI {
82
87
 
88
+ /**
89
+ * Creates request options for deleteModule without sending the request
90
+ */
91
+ async deleteModuleRequestOpts(requestParameters: DeleteModuleRequest): Promise<runtime.RequestOpts> {
92
+ if (requestParameters['moduleId'] == null) {
93
+ throw new runtime.RequiredError(
94
+ 'moduleId',
95
+ 'Required parameter "moduleId" was null or undefined when calling deleteModule().'
96
+ );
97
+ }
98
+
99
+ if (requestParameters['courseId'] == null) {
100
+ throw new runtime.RequiredError(
101
+ 'courseId',
102
+ 'Required parameter "courseId" was null or undefined when calling deleteModule().'
103
+ );
104
+ }
105
+
106
+ const queryParameters: any = {};
107
+
108
+ const headerParameters: runtime.HTTPHeaders = {};
109
+
110
+
111
+ let urlPath = `/courses/{courseId}/modules/{moduleId}`;
112
+ urlPath = urlPath.replace('{moduleId}', encodeURIComponent(String(requestParameters['moduleId'])));
113
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
114
+
115
+ return {
116
+ path: urlPath,
117
+ method: 'DELETE',
118
+ headers: headerParameters,
119
+ query: queryParameters,
120
+ };
121
+ }
122
+
123
+ /**
124
+ * Soft-deletes the module and its content.
125
+ * Delete a module by id
126
+ */
127
+ async deleteModuleRaw(requestParameters: DeleteModuleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
128
+ const requestOptions = await this.deleteModuleRequestOpts(requestParameters);
129
+ const response = await this.request(requestOptions, initOverrides);
130
+
131
+ return new runtime.VoidApiResponse(response);
132
+ }
133
+
134
+ /**
135
+ * Soft-deletes the module and its content.
136
+ * Delete a module by id
137
+ */
138
+ async deleteModule(requestParameters: DeleteModuleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
139
+ await this.deleteModuleRaw(requestParameters, initOverrides);
140
+ }
141
+
83
142
  /**
84
143
  * Creates request options for getModule without sending the request
85
144
  */
@@ -109,6 +109,11 @@ export interface PutPortalBrandingRequest {
109
109
  putPortalBranding: PutPortalBranding;
110
110
  }
111
111
 
112
+ export interface RemovePortalUserRequest {
113
+ portalId: string;
114
+ userId: string;
115
+ }
116
+
112
117
  export interface UpdateSelectedPortalRequest {
113
118
  portalId: string;
114
119
  }
@@ -694,6 +699,58 @@ export class PortalApi extends runtime.BaseAPI {
694
699
  return await response.value();
695
700
  }
696
701
 
702
+ /**
703
+ * Creates request options for removePortalUser without sending the request
704
+ */
705
+ async removePortalUserRequestOpts(requestParameters: RemovePortalUserRequest): Promise<runtime.RequestOpts> {
706
+ if (requestParameters['portalId'] == null) {
707
+ throw new runtime.RequiredError(
708
+ 'portalId',
709
+ 'Required parameter "portalId" was null or undefined when calling removePortalUser().'
710
+ );
711
+ }
712
+
713
+ if (requestParameters['userId'] == null) {
714
+ throw new runtime.RequiredError(
715
+ 'userId',
716
+ 'Required parameter "userId" was null or undefined when calling removePortalUser().'
717
+ );
718
+ }
719
+
720
+ const queryParameters: any = {};
721
+
722
+ const headerParameters: runtime.HTTPHeaders = {};
723
+
724
+
725
+ let urlPath = `/portals/{portalId}/users/{userId}`;
726
+ urlPath = urlPath.replace('{portalId}', encodeURIComponent(String(requestParameters['portalId'])));
727
+ urlPath = urlPath.replace('{userId}', encodeURIComponent(String(requestParameters['userId'])));
728
+
729
+ return {
730
+ path: urlPath,
731
+ method: 'DELETE',
732
+ headers: headerParameters,
733
+ query: queryParameters,
734
+ };
735
+ }
736
+
737
+ /**
738
+ * Remove a user from a portal
739
+ */
740
+ async removePortalUserRaw(requestParameters: RemovePortalUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
741
+ const requestOptions = await this.removePortalUserRequestOpts(requestParameters);
742
+ const response = await this.request(requestOptions, initOverrides);
743
+
744
+ return new runtime.VoidApiResponse(response);
745
+ }
746
+
747
+ /**
748
+ * Remove a user from a portal
749
+ */
750
+ async removePortalUser(requestParameters: RemovePortalUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
751
+ await this.removePortalUserRaw(requestParameters, initOverrides);
752
+ }
753
+
697
754
  /**
698
755
  * Creates request options for updateSelectedPortal without sending the request
699
756
  */