@easyedu/js-lsm-api 1.66.0 → 1.68.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 (115) hide show
  1. package/.openapi-generator/FILES +10 -2
  2. package/README.md +15 -3
  3. package/dist/apis/ContentApi.d.ts +74 -0
  4. package/dist/apis/ContentApi.js +172 -1
  5. package/dist/apis/CourseApi.d.ts +16 -0
  6. package/dist/apis/CourseApi.js +43 -0
  7. package/dist/apis/PortalApi.d.ts +58 -0
  8. package/dist/apis/PortalApi.js +152 -0
  9. package/dist/apis/SupportTicketApi.d.ts +2 -3
  10. package/dist/apis/SupportTicketApi.js +1 -2
  11. package/dist/esm/apis/ContentApi.d.ts +74 -0
  12. package/dist/esm/apis/ContentApi.js +171 -0
  13. package/dist/esm/apis/CourseApi.d.ts +16 -0
  14. package/dist/esm/apis/CourseApi.js +43 -0
  15. package/dist/esm/apis/PortalApi.d.ts +58 -0
  16. package/dist/esm/apis/PortalApi.js +152 -0
  17. package/dist/esm/apis/SupportTicketApi.d.ts +2 -3
  18. package/dist/esm/apis/SupportTicketApi.js +1 -2
  19. package/dist/esm/models/ContentAttemptItem.d.ts +69 -0
  20. package/dist/esm/models/ContentAttemptItem.js +68 -0
  21. package/dist/esm/models/ContentAttemptRollupScore.d.ts +38 -0
  22. package/dist/esm/models/ContentAttemptRollupScore.js +47 -0
  23. package/dist/esm/models/ContentAttemptScore.d.ts +50 -0
  24. package/dist/esm/models/ContentAttemptScore.js +47 -0
  25. package/dist/esm/models/ContentLaunchMode.d.ts +26 -0
  26. package/dist/esm/models/ContentLaunchMode.js +44 -0
  27. package/dist/esm/models/GetContent.d.ts +7 -0
  28. package/dist/esm/models/GetContent.js +5 -0
  29. package/dist/esm/models/GetContentAttempts.d.ts +90 -0
  30. package/dist/esm/models/GetContentAttempts.js +84 -0
  31. package/dist/esm/models/GetContentSession.d.ts +12 -0
  32. package/dist/esm/models/GetContentSession.js +8 -0
  33. package/dist/esm/models/GetContentSessionDetail.d.ts +12 -0
  34. package/dist/esm/models/GetContentSessionDetail.js +8 -0
  35. package/dist/esm/models/GetContentSessionListItem.d.ts +24 -0
  36. package/dist/esm/models/GetContentSessionListItem.js +16 -0
  37. package/dist/esm/models/GetPortal.d.ts +2 -2
  38. package/dist/esm/models/GetPortalFaviconUpload.d.ts +1 -1
  39. package/dist/esm/models/GetPortalLogoUpload.d.ts +1 -1
  40. package/dist/esm/models/GetPublicPortalBranding.d.ts +2 -2
  41. package/dist/esm/models/PostContentSession.d.ts +19 -0
  42. package/dist/esm/models/PostContentSession.js +13 -0
  43. package/dist/esm/models/PutContent.d.ts +7 -0
  44. package/dist/esm/models/PutContent.js +3 -0
  45. package/dist/esm/models/index.d.ts +5 -1
  46. package/dist/esm/models/index.js +5 -1
  47. package/dist/models/ContentAttemptItem.d.ts +69 -0
  48. package/dist/models/ContentAttemptItem.js +75 -0
  49. package/dist/models/ContentAttemptRollupScore.d.ts +38 -0
  50. package/dist/models/ContentAttemptRollupScore.js +54 -0
  51. package/dist/models/ContentAttemptScore.d.ts +50 -0
  52. package/dist/models/ContentAttemptScore.js +54 -0
  53. package/dist/models/ContentLaunchMode.d.ts +26 -0
  54. package/dist/models/ContentLaunchMode.js +52 -0
  55. package/dist/models/GetContent.d.ts +7 -0
  56. package/dist/models/GetContent.js +5 -0
  57. package/dist/models/GetContentAttempts.d.ts +90 -0
  58. package/dist/models/GetContentAttempts.js +92 -0
  59. package/dist/models/GetContentSession.d.ts +12 -0
  60. package/dist/models/GetContentSession.js +8 -0
  61. package/dist/models/GetContentSessionDetail.d.ts +12 -0
  62. package/dist/models/GetContentSessionDetail.js +8 -0
  63. package/dist/models/GetContentSessionListItem.d.ts +24 -0
  64. package/dist/models/GetContentSessionListItem.js +16 -0
  65. package/dist/models/GetPortal.d.ts +2 -2
  66. package/dist/models/GetPortalFaviconUpload.d.ts +1 -1
  67. package/dist/models/GetPortalLogoUpload.d.ts +1 -1
  68. package/dist/models/GetPublicPortalBranding.d.ts +2 -2
  69. package/dist/models/PostContentSession.d.ts +19 -0
  70. package/dist/models/PostContentSession.js +13 -0
  71. package/dist/models/PutContent.d.ts +7 -0
  72. package/dist/models/PutContent.js +3 -0
  73. package/dist/models/index.d.ts +5 -1
  74. package/dist/models/index.js +5 -1
  75. package/docs/ContentApi.md +238 -0
  76. package/docs/ContentAttemptItem.md +47 -0
  77. package/docs/ContentAttemptRollupScore.md +37 -0
  78. package/docs/ContentAttemptScore.md +41 -0
  79. package/docs/{DownloadSupportTicketAttachment200Response.md → ContentLaunchMode.md} +5 -6
  80. package/docs/CourseApi.md +72 -0
  81. package/docs/GetContent.md +2 -0
  82. package/docs/GetContentAttempts.md +51 -0
  83. package/docs/GetContentSession.md +4 -0
  84. package/docs/GetContentSessionDetail.md +4 -0
  85. package/docs/GetContentSessionListItem.md +8 -0
  86. package/docs/PortalApi.md +258 -0
  87. package/docs/PostContentSession.md +6 -0
  88. package/docs/PutContent.md +2 -0
  89. package/docs/SupportTicketApi.md +4 -4
  90. package/package.json +1 -1
  91. package/src/apis/ContentApi.ts +249 -0
  92. package/src/apis/CourseApi.ts +58 -0
  93. package/src/apis/PortalApi.ts +176 -0
  94. package/src/apis/SupportTicketApi.ts +3 -8
  95. package/src/models/ContentAttemptItem.ts +128 -0
  96. package/src/models/ContentAttemptRollupScore.ts +75 -0
  97. package/src/models/ContentAttemptScore.ts +89 -0
  98. package/src/models/ContentLaunchMode.ts +54 -0
  99. package/src/models/GetContent.ts +16 -0
  100. package/src/models/GetContentAttempts.ts +164 -0
  101. package/src/models/GetContentSession.ts +18 -0
  102. package/src/models/GetContentSessionDetail.ts +18 -0
  103. package/src/models/GetContentSessionListItem.ts +36 -0
  104. package/src/models/GetPortal.ts +2 -2
  105. package/src/models/GetPortalFaviconUpload.ts +1 -1
  106. package/src/models/GetPortalLogoUpload.ts +1 -1
  107. package/src/models/GetPublicPortalBranding.ts +2 -2
  108. package/src/models/PostContentSession.ts +37 -0
  109. package/src/models/PutContent.ts +18 -0
  110. package/src/models/index.ts +5 -1
  111. package/dist/esm/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
  112. package/dist/esm/models/DownloadSupportTicketAttachment200Response.js +0 -43
  113. package/dist/models/DownloadSupportTicketAttachment200Response.d.ts +0 -32
  114. package/dist/models/DownloadSupportTicketAttachment200Response.js +0 -50
  115. package/src/models/DownloadSupportTicketAttachment200Response.ts +0 -66
@@ -8,6 +8,7 @@ Name | Type
8
8
  ------------ | -------------
9
9
  `name` | string
10
10
  `published` | boolean
11
+ `launchMode` | [ContentLaunchMode](ContentLaunchMode.md)
11
12
 
12
13
  ## Example
13
14
 
@@ -18,6 +19,7 @@ import type { PutContent } from '@easyedu/js-lsm-api'
18
19
  const example = {
19
20
  "name": null,
20
21
  "published": null,
22
+ "launchMode": null,
21
23
  } satisfies PutContent
22
24
 
23
25
  console.log(example)
@@ -86,7 +86,7 @@ No authorization required
86
86
 
87
87
  ## downloadSupportTicketAttachment
88
88
 
89
- > DownloadSupportTicketAttachment200Response downloadSupportTicketAttachment(ticketId, attachmentId)
89
+ > Blob downloadSupportTicketAttachment(ticketId, attachmentId)
90
90
 
91
91
  Download a ticket attachment
92
92
 
@@ -132,7 +132,7 @@ example().catch(console.error);
132
132
 
133
133
  ### Return type
134
134
 
135
- [**DownloadSupportTicketAttachment200Response**](DownloadSupportTicketAttachment200Response.md)
135
+ **Blob**
136
136
 
137
137
  ### Authorization
138
138
 
@@ -141,13 +141,13 @@ No authorization required
141
141
  ### HTTP request headers
142
142
 
143
143
  - **Content-Type**: Not defined
144
- - **Accept**: `application/json`
144
+ - **Accept**: `application/octet-stream`
145
145
 
146
146
 
147
147
  ### HTTP response details
148
148
  | Status code | Description | Response headers |
149
149
  |-------------|-------------|------------------|
150
- | **200** | Presigned download URL | - |
150
+ | **200** | Attachment file | - |
151
151
  | **401** | Unauthorized | - |
152
152
  | **403** | Forbidden | - |
153
153
  | **404** | Attachment not found | - |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.66.0",
3
+ "version": "1.68.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -18,6 +18,11 @@ import {
18
18
  GetContentFromJSON,
19
19
  GetContentToJSON,
20
20
  } from '../models/GetContent';
21
+ import {
22
+ type GetContentAttempts,
23
+ GetContentAttemptsFromJSON,
24
+ GetContentAttemptsToJSON,
25
+ } from '../models/GetContentAttempts';
21
26
  import {
22
27
  type GetContentList,
23
28
  GetContentListFromJSON,
@@ -147,6 +152,14 @@ export interface GetContentRequest {
147
152
  courseId: string;
148
153
  }
149
154
 
155
+ export interface GetContentAttemptsRequest {
156
+ contentId: string;
157
+ moduleId: string;
158
+ courseId: string;
159
+ userId?: number;
160
+ environment?: GetContentAttemptsEnvironmentEnum;
161
+ }
162
+
150
163
  export interface GetContentListRequest {
151
164
  moduleId: string;
152
165
  courseId: string;
@@ -239,6 +252,13 @@ export interface PostContentSessionRequest {
239
252
  environment?: PostContentSessionEnvironmentEnum;
240
253
  }
241
254
 
255
+ export interface PostContentSessionRetakeRequest {
256
+ contentId: string;
257
+ moduleId: string;
258
+ courseId: string;
259
+ environment?: PostContentSessionRetakeEnvironmentEnum;
260
+ }
261
+
242
262
  export interface PostContentUploadRequest {
243
263
  moduleId: string;
244
264
  courseId: string;
@@ -258,6 +278,13 @@ export interface PutContentReorderRequest {
258
278
  putContentReorder: PutContentReorder;
259
279
  }
260
280
 
281
+ export interface PutContentUploadFileRequest {
282
+ courseId: string;
283
+ moduleId: string;
284
+ uploadId: number;
285
+ body: Blob;
286
+ }
287
+
261
288
  export interface PutContentVersionRequest {
262
289
  contentId: string;
263
290
  moduleId: string;
@@ -521,6 +548,77 @@ export class ContentApi extends runtime.BaseAPI {
521
548
  return await response.value();
522
549
  }
523
550
 
551
+ /**
552
+ * Creates request options for getContentAttempts without sending the request
553
+ */
554
+ async getContentAttemptsRequestOpts(requestParameters: GetContentAttemptsRequest): Promise<runtime.RequestOpts> {
555
+ if (requestParameters['contentId'] == null) {
556
+ throw new runtime.RequiredError(
557
+ 'contentId',
558
+ 'Required parameter "contentId" was null or undefined when calling getContentAttempts().'
559
+ );
560
+ }
561
+
562
+ if (requestParameters['moduleId'] == null) {
563
+ throw new runtime.RequiredError(
564
+ 'moduleId',
565
+ 'Required parameter "moduleId" was null or undefined when calling getContentAttempts().'
566
+ );
567
+ }
568
+
569
+ if (requestParameters['courseId'] == null) {
570
+ throw new runtime.RequiredError(
571
+ 'courseId',
572
+ 'Required parameter "courseId" was null or undefined when calling getContentAttempts().'
573
+ );
574
+ }
575
+
576
+ const queryParameters: any = {};
577
+
578
+ if (requestParameters['userId'] != null) {
579
+ queryParameters['user_id'] = requestParameters['userId'];
580
+ }
581
+
582
+ if (requestParameters['environment'] != null) {
583
+ queryParameters['environment'] = requestParameters['environment'];
584
+ }
585
+
586
+ const headerParameters: runtime.HTTPHeaders = {};
587
+
588
+
589
+ let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/{contentId}/attempts`;
590
+ urlPath = urlPath.replace('{contentId}', encodeURIComponent(String(requestParameters['contentId'])));
591
+ urlPath = urlPath.replace('{moduleId}', encodeURIComponent(String(requestParameters['moduleId'])));
592
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
593
+
594
+ return {
595
+ path: urlPath,
596
+ method: 'GET',
597
+ headers: headerParameters,
598
+ query: queryParameters,
599
+ };
600
+ }
601
+
602
+ /**
603
+ * Lists content attempts and score rollup for the current learner. Instructors may pass user_id to inspect another learner.
604
+ * Get content attempts
605
+ */
606
+ async getContentAttemptsRaw(requestParameters: GetContentAttemptsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetContentAttempts>> {
607
+ const requestOptions = await this.getContentAttemptsRequestOpts(requestParameters);
608
+ const response = await this.request(requestOptions, initOverrides);
609
+
610
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetContentAttemptsFromJSON(jsonValue));
611
+ }
612
+
613
+ /**
614
+ * Lists content attempts and score rollup for the current learner. Instructors may pass user_id to inspect another learner.
615
+ * Get content attempts
616
+ */
617
+ async getContentAttempts(requestParameters: GetContentAttemptsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetContentAttempts> {
618
+ const response = await this.getContentAttemptsRaw(requestParameters, initOverrides);
619
+ return await response.value();
620
+ }
621
+
524
622
  /**
525
623
  * Creates request options for getContentList without sending the request
526
624
  */
@@ -1438,6 +1536,71 @@ export class ContentApi extends runtime.BaseAPI {
1438
1536
  return await response.value();
1439
1537
  }
1440
1538
 
1539
+ /**
1540
+ * Creates request options for postContentSessionRetake without sending the request
1541
+ */
1542
+ async postContentSessionRetakeRequestOpts(requestParameters: PostContentSessionRetakeRequest): Promise<runtime.RequestOpts> {
1543
+ if (requestParameters['contentId'] == null) {
1544
+ throw new runtime.RequiredError(
1545
+ 'contentId',
1546
+ 'Required parameter "contentId" was null or undefined when calling postContentSessionRetake().'
1547
+ );
1548
+ }
1549
+
1550
+ if (requestParameters['moduleId'] == null) {
1551
+ throw new runtime.RequiredError(
1552
+ 'moduleId',
1553
+ 'Required parameter "moduleId" was null or undefined when calling postContentSessionRetake().'
1554
+ );
1555
+ }
1556
+
1557
+ if (requestParameters['courseId'] == null) {
1558
+ throw new runtime.RequiredError(
1559
+ 'courseId',
1560
+ 'Required parameter "courseId" was null or undefined when calling postContentSessionRetake().'
1561
+ );
1562
+ }
1563
+
1564
+ const queryParameters: any = {};
1565
+
1566
+ if (requestParameters['environment'] != null) {
1567
+ queryParameters['environment'] = requestParameters['environment'];
1568
+ }
1569
+
1570
+ const headerParameters: runtime.HTTPHeaders = {};
1571
+
1572
+
1573
+ let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/{contentId}/session/retake`;
1574
+ urlPath = urlPath.replace('{contentId}', encodeURIComponent(String(requestParameters['contentId'])));
1575
+ urlPath = urlPath.replace('{moduleId}', encodeURIComponent(String(requestParameters['moduleId'])));
1576
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
1577
+
1578
+ return {
1579
+ path: urlPath,
1580
+ method: 'POST',
1581
+ headers: headerParameters,
1582
+ query: queryParameters,
1583
+ };
1584
+ }
1585
+
1586
+ /**
1587
+ * Create a new retake content session
1588
+ */
1589
+ async postContentSessionRetakeRaw(requestParameters: PostContentSessionRetakeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostContentSession>> {
1590
+ const requestOptions = await this.postContentSessionRetakeRequestOpts(requestParameters);
1591
+ const response = await this.request(requestOptions, initOverrides);
1592
+
1593
+ return new runtime.JSONApiResponse(response, (jsonValue) => PostContentSessionFromJSON(jsonValue));
1594
+ }
1595
+
1596
+ /**
1597
+ * Create a new retake content session
1598
+ */
1599
+ async postContentSessionRetake(requestParameters: PostContentSessionRetakeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostContentSession> {
1600
+ const response = await this.postContentSessionRetakeRaw(requestParameters, initOverrides);
1601
+ return await response.value();
1602
+ }
1603
+
1441
1604
  /**
1442
1605
  * Creates request options for postContentUpload without sending the request
1443
1606
  */
@@ -1634,6 +1797,76 @@ export class ContentApi extends runtime.BaseAPI {
1634
1797
  await this.putContentReorderRaw(requestParameters, initOverrides);
1635
1798
  }
1636
1799
 
1800
+ /**
1801
+ * Creates request options for putContentUploadFile without sending the request
1802
+ */
1803
+ async putContentUploadFileRequestOpts(requestParameters: PutContentUploadFileRequest): Promise<runtime.RequestOpts> {
1804
+ if (requestParameters['courseId'] == null) {
1805
+ throw new runtime.RequiredError(
1806
+ 'courseId',
1807
+ 'Required parameter "courseId" was null or undefined when calling putContentUploadFile().'
1808
+ );
1809
+ }
1810
+
1811
+ if (requestParameters['moduleId'] == null) {
1812
+ throw new runtime.RequiredError(
1813
+ 'moduleId',
1814
+ 'Required parameter "moduleId" was null or undefined when calling putContentUploadFile().'
1815
+ );
1816
+ }
1817
+
1818
+ if (requestParameters['uploadId'] == null) {
1819
+ throw new runtime.RequiredError(
1820
+ 'uploadId',
1821
+ 'Required parameter "uploadId" was null or undefined when calling putContentUploadFile().'
1822
+ );
1823
+ }
1824
+
1825
+ if (requestParameters['body'] == null) {
1826
+ throw new runtime.RequiredError(
1827
+ 'body',
1828
+ 'Required parameter "body" was null or undefined when calling putContentUploadFile().'
1829
+ );
1830
+ }
1831
+
1832
+ const queryParameters: any = {};
1833
+
1834
+ const headerParameters: runtime.HTTPHeaders = {};
1835
+
1836
+ headerParameters['Content-Type'] = 'application/octet-stream';
1837
+
1838
+
1839
+ let urlPath = `/courses/{courseId}/modules/{moduleId}/contents/uploads/{uploadId}/file`;
1840
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
1841
+ urlPath = urlPath.replace('{moduleId}', encodeURIComponent(String(requestParameters['moduleId'])));
1842
+ urlPath = urlPath.replace('{uploadId}', encodeURIComponent(String(requestParameters['uploadId'])));
1843
+
1844
+ return {
1845
+ path: urlPath,
1846
+ method: 'PUT',
1847
+ headers: headerParameters,
1848
+ query: queryParameters,
1849
+ body: requestParameters['body'] as any,
1850
+ };
1851
+ }
1852
+
1853
+ /**
1854
+ * Upload content file through the API
1855
+ */
1856
+ async putContentUploadFileRaw(requestParameters: PutContentUploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
1857
+ const requestOptions = await this.putContentUploadFileRequestOpts(requestParameters);
1858
+ const response = await this.request(requestOptions, initOverrides);
1859
+
1860
+ return new runtime.VoidApiResponse(response);
1861
+ }
1862
+
1863
+ /**
1864
+ * Upload content file through the API
1865
+ */
1866
+ async putContentUploadFile(requestParameters: PutContentUploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
1867
+ await this.putContentUploadFileRaw(requestParameters, initOverrides);
1868
+ }
1869
+
1637
1870
  /**
1638
1871
  * Creates request options for putContentVersion without sending the request
1639
1872
  */
@@ -1869,6 +2102,14 @@ export class ContentApi extends runtime.BaseAPI {
1869
2102
 
1870
2103
  }
1871
2104
 
2105
+ /**
2106
+ * @export
2107
+ */
2108
+ export const GetContentAttemptsEnvironmentEnum = {
2109
+ Sandbox: 'sandbox',
2110
+ Live: 'live'
2111
+ } as const;
2112
+ export type GetContentAttemptsEnvironmentEnum = typeof GetContentAttemptsEnvironmentEnum[keyof typeof GetContentAttemptsEnvironmentEnum];
1872
2113
  /**
1873
2114
  * @export
1874
2115
  */
@@ -1885,3 +2126,11 @@ export const PostContentSessionEnvironmentEnum = {
1885
2126
  Live: 'live'
1886
2127
  } as const;
1887
2128
  export type PostContentSessionEnvironmentEnum = typeof PostContentSessionEnvironmentEnum[keyof typeof PostContentSessionEnvironmentEnum];
2129
+ /**
2130
+ * @export
2131
+ */
2132
+ export const PostContentSessionRetakeEnvironmentEnum = {
2133
+ Sandbox: 'sandbox',
2134
+ Live: 'live'
2135
+ } as const;
2136
+ export type PostContentSessionRetakeEnvironmentEnum = typeof PostContentSessionRetakeEnvironmentEnum[keyof typeof PostContentSessionRetakeEnvironmentEnum];
@@ -102,6 +102,11 @@ export interface DeleteCourseImageRequest {
102
102
  courseId: string;
103
103
  }
104
104
 
105
+ export interface DownloadCourseExportRequest {
106
+ courseId: string;
107
+ exportId: string;
108
+ }
109
+
105
110
  export interface GetCourseRequest {
106
111
  courseId: string;
107
112
  }
@@ -375,6 +380,59 @@ export class CourseApi extends runtime.BaseAPI {
375
380
  await this.deleteCourseImageRaw(requestParameters, initOverrides);
376
381
  }
377
382
 
383
+ /**
384
+ * Creates request options for downloadCourseExport without sending the request
385
+ */
386
+ async downloadCourseExportRequestOpts(requestParameters: DownloadCourseExportRequest): Promise<runtime.RequestOpts> {
387
+ if (requestParameters['courseId'] == null) {
388
+ throw new runtime.RequiredError(
389
+ 'courseId',
390
+ 'Required parameter "courseId" was null or undefined when calling downloadCourseExport().'
391
+ );
392
+ }
393
+
394
+ if (requestParameters['exportId'] == null) {
395
+ throw new runtime.RequiredError(
396
+ 'exportId',
397
+ 'Required parameter "exportId" was null or undefined when calling downloadCourseExport().'
398
+ );
399
+ }
400
+
401
+ const queryParameters: any = {};
402
+
403
+ const headerParameters: runtime.HTTPHeaders = {};
404
+
405
+
406
+ let urlPath = `/courses/{courseId}/exports/{exportId}/download`;
407
+ urlPath = urlPath.replace('{courseId}', encodeURIComponent(String(requestParameters['courseId'])));
408
+ urlPath = urlPath.replace('{exportId}', encodeURIComponent(String(requestParameters['exportId'])));
409
+
410
+ return {
411
+ path: urlPath,
412
+ method: 'GET',
413
+ headers: headerParameters,
414
+ query: queryParameters,
415
+ };
416
+ }
417
+
418
+ /**
419
+ * Download a completed course export
420
+ */
421
+ async downloadCourseExportRaw(requestParameters: DownloadCourseExportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
422
+ const requestOptions = await this.downloadCourseExportRequestOpts(requestParameters);
423
+ const response = await this.request(requestOptions, initOverrides);
424
+
425
+ return new runtime.BlobApiResponse(response);
426
+ }
427
+
428
+ /**
429
+ * Download a completed course export
430
+ */
431
+ async downloadCourseExport(requestParameters: DownloadCourseExportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
432
+ const response = await this.downloadCourseExportRaw(requestParameters, initOverrides);
433
+ return await response.value();
434
+ }
435
+
378
436
  /**
379
437
  * Creates request options for getCourse without sending the request
380
438
  */
@@ -76,6 +76,14 @@ export interface GetPortalByIdRequest {
76
76
  portalId: string;
77
77
  }
78
78
 
79
+ export interface GetPortalFaviconAssetRequest {
80
+ portalId: string;
81
+ }
82
+
83
+ export interface GetPortalLogoAssetRequest {
84
+ portalId: string;
85
+ }
86
+
79
87
  export interface GetPortalUsersRequest {
80
88
  portalId: string;
81
89
  type?: GetPortalUsersTypeEnum;
@@ -256,6 +264,51 @@ export class PortalApi extends runtime.BaseAPI {
256
264
  return await response.value();
257
265
  }
258
266
 
267
+ /**
268
+ * Creates request options for getPortalFaviconAsset without sending the request
269
+ */
270
+ async getPortalFaviconAssetRequestOpts(requestParameters: GetPortalFaviconAssetRequest): Promise<runtime.RequestOpts> {
271
+ if (requestParameters['portalId'] == null) {
272
+ throw new runtime.RequiredError(
273
+ 'portalId',
274
+ 'Required parameter "portalId" was null or undefined when calling getPortalFaviconAsset().'
275
+ );
276
+ }
277
+
278
+ const queryParameters: any = {};
279
+
280
+ const headerParameters: runtime.HTTPHeaders = {};
281
+
282
+
283
+ let urlPath = `/portals/{portalId}/branding/favicon`;
284
+ urlPath = urlPath.replace('{portalId}', encodeURIComponent(String(requestParameters['portalId'])));
285
+
286
+ return {
287
+ path: urlPath,
288
+ method: 'GET',
289
+ headers: headerParameters,
290
+ query: queryParameters,
291
+ };
292
+ }
293
+
294
+ /**
295
+ * Stream the configured portal favicon
296
+ */
297
+ async getPortalFaviconAssetRaw(requestParameters: GetPortalFaviconAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
298
+ const requestOptions = await this.getPortalFaviconAssetRequestOpts(requestParameters);
299
+ const response = await this.request(requestOptions, initOverrides);
300
+
301
+ return new runtime.BlobApiResponse(response);
302
+ }
303
+
304
+ /**
305
+ * Stream the configured portal favicon
306
+ */
307
+ async getPortalFaviconAsset(requestParameters: GetPortalFaviconAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
308
+ const response = await this.getPortalFaviconAssetRaw(requestParameters, initOverrides);
309
+ return await response.value();
310
+ }
311
+
259
312
  /**
260
313
  * Creates request options for getPortalList without sending the request
261
314
  */
@@ -293,6 +346,51 @@ export class PortalApi extends runtime.BaseAPI {
293
346
  return await response.value();
294
347
  }
295
348
 
349
+ /**
350
+ * Creates request options for getPortalLogoAsset without sending the request
351
+ */
352
+ async getPortalLogoAssetRequestOpts(requestParameters: GetPortalLogoAssetRequest): Promise<runtime.RequestOpts> {
353
+ if (requestParameters['portalId'] == null) {
354
+ throw new runtime.RequiredError(
355
+ 'portalId',
356
+ 'Required parameter "portalId" was null or undefined when calling getPortalLogoAsset().'
357
+ );
358
+ }
359
+
360
+ const queryParameters: any = {};
361
+
362
+ const headerParameters: runtime.HTTPHeaders = {};
363
+
364
+
365
+ let urlPath = `/portals/{portalId}/branding/logo`;
366
+ urlPath = urlPath.replace('{portalId}', encodeURIComponent(String(requestParameters['portalId'])));
367
+
368
+ return {
369
+ path: urlPath,
370
+ method: 'GET',
371
+ headers: headerParameters,
372
+ query: queryParameters,
373
+ };
374
+ }
375
+
376
+ /**
377
+ * Stream the configured portal logo
378
+ */
379
+ async getPortalLogoAssetRaw(requestParameters: GetPortalLogoAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
380
+ const requestOptions = await this.getPortalLogoAssetRequestOpts(requestParameters);
381
+ const response = await this.request(requestOptions, initOverrides);
382
+
383
+ return new runtime.BlobApiResponse(response);
384
+ }
385
+
386
+ /**
387
+ * Stream the configured portal logo
388
+ */
389
+ async getPortalLogoAsset(requestParameters: GetPortalLogoAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
390
+ const response = await this.getPortalLogoAssetRaw(requestParameters, initOverrides);
391
+ return await response.value();
392
+ }
393
+
296
394
  /**
297
395
  * Creates request options for getPortalUsers without sending the request
298
396
  */
@@ -397,6 +495,84 @@ export class PortalApi extends runtime.BaseAPI {
397
495
  return await response.value();
398
496
  }
399
497
 
498
+ /**
499
+ * Creates request options for getPublicPortalFaviconAsset without sending the request
500
+ */
501
+ async getPublicPortalFaviconAssetRequestOpts(): Promise<runtime.RequestOpts> {
502
+ const queryParameters: any = {};
503
+
504
+ const headerParameters: runtime.HTTPHeaders = {};
505
+
506
+
507
+ let urlPath = `/public/portal/branding/favicon`;
508
+
509
+ return {
510
+ path: urlPath,
511
+ method: 'GET',
512
+ headers: headerParameters,
513
+ query: queryParameters,
514
+ };
515
+ }
516
+
517
+ /**
518
+ * Resolves the browser Origin/Referer/Host to a portal and streams its configured favicon.
519
+ * Public portal favicon resolved from the request host
520
+ */
521
+ async getPublicPortalFaviconAssetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
522
+ const requestOptions = await this.getPublicPortalFaviconAssetRequestOpts();
523
+ const response = await this.request(requestOptions, initOverrides);
524
+
525
+ return new runtime.BlobApiResponse(response);
526
+ }
527
+
528
+ /**
529
+ * Resolves the browser Origin/Referer/Host to a portal and streams its configured favicon.
530
+ * Public portal favicon resolved from the request host
531
+ */
532
+ async getPublicPortalFaviconAsset(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
533
+ const response = await this.getPublicPortalFaviconAssetRaw(initOverrides);
534
+ return await response.value();
535
+ }
536
+
537
+ /**
538
+ * Creates request options for getPublicPortalLogoAsset without sending the request
539
+ */
540
+ async getPublicPortalLogoAssetRequestOpts(): Promise<runtime.RequestOpts> {
541
+ const queryParameters: any = {};
542
+
543
+ const headerParameters: runtime.HTTPHeaders = {};
544
+
545
+
546
+ let urlPath = `/public/portal/branding/logo`;
547
+
548
+ return {
549
+ path: urlPath,
550
+ method: 'GET',
551
+ headers: headerParameters,
552
+ query: queryParameters,
553
+ };
554
+ }
555
+
556
+ /**
557
+ * Resolves the browser Origin/Referer/Host to a portal and streams its configured logo.
558
+ * Public portal logo resolved from the request host
559
+ */
560
+ async getPublicPortalLogoAssetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
561
+ const requestOptions = await this.getPublicPortalLogoAssetRequestOpts();
562
+ const response = await this.request(requestOptions, initOverrides);
563
+
564
+ return new runtime.BlobApiResponse(response);
565
+ }
566
+
567
+ /**
568
+ * Resolves the browser Origin/Referer/Host to a portal and streams its configured logo.
569
+ * Public portal logo resolved from the request host
570
+ */
571
+ async getPublicPortalLogoAsset(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
572
+ const response = await this.getPublicPortalLogoAssetRaw(initOverrides);
573
+ return await response.value();
574
+ }
575
+
400
576
  /**
401
577
  * Creates request options for inviteUserToPortal without sending the request
402
578
  */
@@ -13,11 +13,6 @@
13
13
  */
14
14
 
15
15
  import * as runtime from '../runtime';
16
- import {
17
- type DownloadSupportTicketAttachment200Response,
18
- DownloadSupportTicketAttachment200ResponseFromJSON,
19
- DownloadSupportTicketAttachment200ResponseToJSON,
20
- } from '../models/DownloadSupportTicketAttachment200Response';
21
16
  import {
22
17
  type GetSupportTicket,
23
18
  GetSupportTicketFromJSON,
@@ -185,17 +180,17 @@ export class SupportTicketApi extends runtime.BaseAPI {
185
180
  /**
186
181
  * Download a ticket attachment
187
182
  */
188
- async downloadSupportTicketAttachmentRaw(requestParameters: DownloadSupportTicketAttachmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DownloadSupportTicketAttachment200Response>> {
183
+ async downloadSupportTicketAttachmentRaw(requestParameters: DownloadSupportTicketAttachmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
189
184
  const requestOptions = await this.downloadSupportTicketAttachmentRequestOpts(requestParameters);
190
185
  const response = await this.request(requestOptions, initOverrides);
191
186
 
192
- return new runtime.JSONApiResponse(response, (jsonValue) => DownloadSupportTicketAttachment200ResponseFromJSON(jsonValue));
187
+ return new runtime.BlobApiResponse(response);
193
188
  }
194
189
 
195
190
  /**
196
191
  * Download a ticket attachment
197
192
  */
198
- async downloadSupportTicketAttachment(requestParameters: DownloadSupportTicketAttachmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DownloadSupportTicketAttachment200Response> {
193
+ async downloadSupportTicketAttachment(requestParameters: DownloadSupportTicketAttachmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
199
194
  const response = await this.downloadSupportTicketAttachmentRaw(requestParameters, initOverrides);
200
195
  return await response.value();
201
196
  }