@easyedu/js-lsm-api 1.105.0 → 1.107.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 (86) hide show
  1. package/.openapi-generator/FILES +6 -0
  2. package/README.md +9 -5
  3. package/dist/apis/CourseApi.d.ts +30 -2
  4. package/dist/apis/CourseApi.js +59 -3
  5. package/dist/apis/CourseShareApi.d.ts +21 -7
  6. package/dist/apis/CourseShareApi.js +24 -11
  7. package/dist/apis/PortalApi.d.ts +2 -2
  8. package/dist/apis/PortalApi.js +2 -2
  9. package/dist/esm/apis/CourseApi.d.ts +30 -2
  10. package/dist/esm/apis/CourseApi.js +58 -2
  11. package/dist/esm/apis/CourseShareApi.d.ts +21 -7
  12. package/dist/esm/apis/CourseShareApi.js +23 -10
  13. package/dist/esm/apis/PortalApi.d.ts +2 -2
  14. package/dist/esm/apis/PortalApi.js +2 -2
  15. package/dist/esm/models/CourseShare.d.ts +57 -9
  16. package/dist/esm/models/CourseShare.js +32 -0
  17. package/dist/esm/models/GetCourseExport.d.ts +6 -0
  18. package/dist/esm/models/GetCourseExport.js +4 -0
  19. package/dist/esm/models/GetPortal.d.ts +11 -2
  20. package/dist/esm/models/GetPortal.js +5 -0
  21. package/dist/esm/models/GetPublicPortalBranding.d.ts +11 -2
  22. package/dist/esm/models/GetPublicPortalBranding.js +5 -0
  23. package/dist/esm/models/PortalBrandColorsV1.d.ts +194 -0
  24. package/dist/esm/models/PortalBrandColorsV1.js +151 -0
  25. package/dist/esm/models/PortalBrandThemeV1.d.ts +53 -0
  26. package/dist/esm/models/PortalBrandThemeV1.js +59 -0
  27. package/dist/esm/models/PortalBrandTypographyV1.d.ts +80 -0
  28. package/dist/esm/models/PortalBrandTypographyV1.js +78 -0
  29. package/dist/esm/models/PostOfferCatalog.d.ts +1 -1
  30. package/dist/esm/models/PostOfferCourse.d.ts +1 -1
  31. package/dist/esm/models/PostPortal.d.ts +9 -0
  32. package/dist/esm/models/PostPortal.js +3 -0
  33. package/dist/esm/models/PutPortalBranding.d.ts +9 -0
  34. package/dist/esm/models/PutPortalBranding.js +3 -0
  35. package/dist/esm/models/index.d.ts +3 -0
  36. package/dist/esm/models/index.js +3 -0
  37. package/dist/models/CourseShare.d.ts +57 -9
  38. package/dist/models/CourseShare.js +32 -0
  39. package/dist/models/GetCourseExport.d.ts +6 -0
  40. package/dist/models/GetCourseExport.js +4 -0
  41. package/dist/models/GetPortal.d.ts +11 -2
  42. package/dist/models/GetPortal.js +5 -0
  43. package/dist/models/GetPublicPortalBranding.d.ts +11 -2
  44. package/dist/models/GetPublicPortalBranding.js +5 -0
  45. package/dist/models/PortalBrandColorsV1.d.ts +194 -0
  46. package/dist/models/PortalBrandColorsV1.js +158 -0
  47. package/dist/models/PortalBrandThemeV1.d.ts +53 -0
  48. package/dist/models/PortalBrandThemeV1.js +67 -0
  49. package/dist/models/PortalBrandTypographyV1.d.ts +80 -0
  50. package/dist/models/PortalBrandTypographyV1.js +86 -0
  51. package/dist/models/PostOfferCatalog.d.ts +1 -1
  52. package/dist/models/PostOfferCourse.d.ts +1 -1
  53. package/dist/models/PostPortal.d.ts +9 -0
  54. package/dist/models/PostPortal.js +3 -0
  55. package/dist/models/PutPortalBranding.d.ts +9 -0
  56. package/dist/models/PutPortalBranding.js +3 -0
  57. package/dist/models/index.d.ts +3 -0
  58. package/dist/models/index.js +3 -0
  59. package/docs/CourseApi.md +79 -1
  60. package/docs/CourseShare.md +19 -3
  61. package/docs/CourseShareApi.md +20 -9
  62. package/docs/GetCourseExport.md +2 -0
  63. package/docs/GetPortal.md +2 -0
  64. package/docs/GetPublicPortalBranding.md +2 -0
  65. package/docs/PortalApi.md +2 -2
  66. package/docs/PortalBrandColorsV1.md +89 -0
  67. package/docs/PortalBrandThemeV1.md +39 -0
  68. package/docs/PortalBrandTypographyV1.md +47 -0
  69. package/docs/PostPortal.md +2 -0
  70. package/docs/PutPortalBranding.md +2 -0
  71. package/package.json +1 -1
  72. package/src/apis/CourseApi.ts +72 -2
  73. package/src/apis/CourseShareApi.ts +28 -9
  74. package/src/apis/PortalApi.ts +2 -2
  75. package/src/models/CourseShare.ts +81 -9
  76. package/src/models/GetCourseExport.ts +9 -0
  77. package/src/models/GetPortal.ts +21 -2
  78. package/src/models/GetPublicPortalBranding.ts +21 -2
  79. package/src/models/PortalBrandColorsV1.ts +309 -0
  80. package/src/models/PortalBrandThemeV1.ts +109 -0
  81. package/src/models/PortalBrandTypographyV1.ts +135 -0
  82. package/src/models/PostOfferCatalog.ts +1 -1
  83. package/src/models/PostOfferCourse.ts +1 -1
  84. package/src/models/PostPortal.ts +18 -0
  85. package/src/models/PutPortalBranding.ts +18 -0
  86. package/src/models/index.ts +3 -0
@@ -43,6 +43,10 @@ export interface DeleteCourseShareRequest {
43
43
  shareId: string;
44
44
  }
45
45
 
46
+ export interface GetCourseSharesOfferedByMeRequest {
47
+ state?: GetCourseSharesOfferedByMeStateEnum;
48
+ }
49
+
46
50
  export interface GetCourseSharesOfferedToMeRequest {
47
51
  state?: GetCourseSharesOfferedToMeStateEnum;
48
52
  }
@@ -127,9 +131,13 @@ export class CourseShareApi extends runtime.BaseAPI {
127
131
  /**
128
132
  * Creates request options for getCourseSharesOfferedByMe without sending the request
129
133
  */
130
- async getCourseSharesOfferedByMeRequestOpts(): Promise<runtime.RequestOpts> {
134
+ async getCourseSharesOfferedByMeRequestOpts(requestParameters: GetCourseSharesOfferedByMeRequest): Promise<runtime.RequestOpts> {
131
135
  const queryParameters: any = {};
132
136
 
137
+ if (requestParameters['state'] != null) {
138
+ queryParameters['state'] = requestParameters['state'];
139
+ }
140
+
133
141
  const headerParameters: runtime.HTTPHeaders = {};
134
142
 
135
143
 
@@ -146,8 +154,8 @@ export class CourseShareApi extends runtime.BaseAPI {
146
154
  /**
147
155
  * List shares the current portal has offered out
148
156
  */
149
- async getCourseSharesOfferedByMeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<CourseShare>>> {
150
- const requestOptions = await this.getCourseSharesOfferedByMeRequestOpts();
157
+ async getCourseSharesOfferedByMeRaw(requestParameters: GetCourseSharesOfferedByMeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<CourseShare>>> {
158
+ const requestOptions = await this.getCourseSharesOfferedByMeRequestOpts(requestParameters);
151
159
  const response = await this.request(requestOptions, initOverrides);
152
160
 
153
161
  return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CourseShareFromJSON));
@@ -156,8 +164,8 @@ export class CourseShareApi extends runtime.BaseAPI {
156
164
  /**
157
165
  * List shares the current portal has offered out
158
166
  */
159
- async getCourseSharesOfferedByMe(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<CourseShare>> {
160
- const response = await this.getCourseSharesOfferedByMeRaw(initOverrides);
167
+ async getCourseSharesOfferedByMe(requestParameters: GetCourseSharesOfferedByMeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<CourseShare>> {
168
+ const response = await this.getCourseSharesOfferedByMeRaw(requestParameters, initOverrides);
161
169
  return await response.value();
162
170
  }
163
171
 
@@ -243,7 +251,7 @@ export class CourseShareApi extends runtime.BaseAPI {
243
251
 
244
252
  /**
245
253
  * Fans out one `course_share` per catalog member. Duplicates are silently skipped. The catalog link is preserved on each generated share via `origin_catalog_id`.
246
- * Offer every course in a catalog to a descendant portal
254
+ * Offer every course in a catalog to another portal
247
255
  */
248
256
  async postOfferCatalogRaw(requestParameters: PostOfferCatalogRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOfferCatalogResponse>> {
249
257
  const requestOptions = await this.postOfferCatalogRequestOpts(requestParameters);
@@ -254,7 +262,7 @@ export class CourseShareApi extends runtime.BaseAPI {
254
262
 
255
263
  /**
256
264
  * Fans out one `course_share` per catalog member. Duplicates are silently skipped. The catalog link is preserved on each generated share via `origin_catalog_id`.
257
- * Offer every course in a catalog to a descendant portal
265
+ * Offer every course in a catalog to another portal
258
266
  */
259
267
  async postOfferCatalog(requestParameters: PostOfferCatalogRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOfferCatalogResponse> {
260
268
  const response = await this.postOfferCatalogRaw(requestParameters, initOverrides);
@@ -299,7 +307,7 @@ export class CourseShareApi extends runtime.BaseAPI {
299
307
  }
300
308
 
301
309
  /**
302
- * Offer a single course to a descendant portal
310
+ * Offer a single course to another portal
303
311
  */
304
312
  async postOfferCourseRaw(requestParameters: PostOfferCourseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOfferCourseResponse>> {
305
313
  const requestOptions = await this.postOfferCourseRequestOpts(requestParameters);
@@ -309,7 +317,7 @@ export class CourseShareApi extends runtime.BaseAPI {
309
317
  }
310
318
 
311
319
  /**
312
- * Offer a single course to a descendant portal
320
+ * Offer a single course to another portal
313
321
  */
314
322
  async postOfferCourse(requestParameters: PostOfferCourseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOfferCourseResponse> {
315
323
  const response = await this.postOfferCourseRaw(requestParameters, initOverrides);
@@ -494,6 +502,17 @@ export class CourseShareApi extends runtime.BaseAPI {
494
502
 
495
503
  }
496
504
 
505
+ /**
506
+ * @export
507
+ */
508
+ export const GetCourseSharesOfferedByMeStateEnum = {
509
+ Offered: 'offered',
510
+ AcceptedMirror: 'accepted_mirror',
511
+ AcceptedClone: 'accepted_clone',
512
+ Declined: 'declined',
513
+ Revoked: 'revoked'
514
+ } as const;
515
+ export type GetCourseSharesOfferedByMeStateEnum = typeof GetCourseSharesOfferedByMeStateEnum[keyof typeof GetCourseSharesOfferedByMeStateEnum];
497
516
  /**
498
517
  * @export
499
518
  */
@@ -991,7 +991,7 @@ export class PortalApi extends runtime.BaseAPI {
991
991
  }
992
992
 
993
993
  /**
994
- * Update portal branding (name, background color, text color)
994
+ * Update portal branding and complete application theme
995
995
  */
996
996
  async putPortalBrandingRaw(requestParameters: PutPortalBrandingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetPortal>> {
997
997
  const requestOptions = await this.putPortalBrandingRequestOpts(requestParameters);
@@ -1001,7 +1001,7 @@ export class PortalApi extends runtime.BaseAPI {
1001
1001
  }
1002
1002
 
1003
1003
  /**
1004
- * Update portal branding (name, background color, text color)
1004
+ * Update portal branding and complete application theme
1005
1005
  */
1006
1006
  async putPortalBranding(requestParameters: PutPortalBrandingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetPortal> {
1007
1007
  const response = await this.putPortalBrandingRaw(requestParameters, initOverrides);
@@ -14,9 +14,9 @@
14
14
 
15
15
  import { mapValues } from '../runtime';
16
16
  /**
17
- * Shape returned by `GET /course-shares/offered-to-me`. Includes joined source
18
- * portal name and course name so the child portal can render an inbox without
19
- * follow-up requests.
17
+ * Shared shape returned by the incoming and outgoing course-share lists. All
18
+ * resource identifiers are public external IDs so clients can link to the
19
+ * related course, portal, and catalog without exposing database keys.
20
20
  *
21
21
  * @export
22
22
  * @interface CourseShare
@@ -29,11 +29,11 @@ export interface CourseShare {
29
29
  */
30
30
  id: string;
31
31
  /**
32
- * Internal ID of the offering portal
33
- * @type {number}
32
+ * External ID of the offering portal
33
+ * @type {string}
34
34
  * @memberof CourseShare
35
35
  */
36
- sourcePortalId: number;
36
+ sourcePortalId: string;
37
37
  /**
38
38
  * Display name of the offering portal
39
39
  * @type {string}
@@ -41,11 +41,23 @@ export interface CourseShare {
41
41
  */
42
42
  sourcePortalName: string;
43
43
  /**
44
- * Internal ID of the offered course
45
- * @type {number}
44
+ * External ID of the receiving portal
45
+ * @type {string}
46
+ * @memberof CourseShare
47
+ */
48
+ targetPortalId: string;
49
+ /**
50
+ * Display name of the receiving portal
51
+ * @type {string}
52
+ * @memberof CourseShare
53
+ */
54
+ targetPortalName: string;
55
+ /**
56
+ * External ID of the offered course
57
+ * @type {string}
46
58
  * @memberof CourseShare
47
59
  */
48
- courseId: number;
60
+ courseId: string;
49
61
  /**
50
62
  * Display name of the offered course
51
63
  * @type {string}
@@ -70,6 +82,42 @@ export interface CourseShare {
70
82
  * @memberof CourseShare
71
83
  */
72
84
  allowResharing: boolean;
85
+ /**
86
+ * Per-share seat cap; null means unlimited
87
+ * @type {number}
88
+ * @memberof CourseShare
89
+ */
90
+ seatLimit: number | null;
91
+ /**
92
+ * External ID of the catalog that produced the offer, when applicable
93
+ * @type {string}
94
+ * @memberof CourseShare
95
+ */
96
+ originCatalogId: string | null;
97
+ /**
98
+ * Display name of the catalog that produced the offer, when applicable
99
+ * @type {string}
100
+ * @memberof CourseShare
101
+ */
102
+ originCatalogName: string | null;
103
+ /**
104
+ *
105
+ * @type {Date}
106
+ * @memberof CourseShare
107
+ */
108
+ offeredAt: Date;
109
+ /**
110
+ *
111
+ * @type {Date}
112
+ * @memberof CourseShare
113
+ */
114
+ respondedAt: Date | null;
115
+ /**
116
+ *
117
+ * @type {Date}
118
+ * @memberof CourseShare
119
+ */
120
+ revokedAt: Date | null;
73
121
  }
74
122
 
75
123
 
@@ -103,11 +151,19 @@ export function instanceOfCourseShare(value: object): value is CourseShare {
103
151
  if (!('id' in value) || value['id'] === undefined) return false;
104
152
  if (!('sourcePortalId' in value) || value['sourcePortalId'] === undefined) return false;
105
153
  if (!('sourcePortalName' in value) || value['sourcePortalName'] === undefined) return false;
154
+ if (!('targetPortalId' in value) || value['targetPortalId'] === undefined) return false;
155
+ if (!('targetPortalName' in value) || value['targetPortalName'] === undefined) return false;
106
156
  if (!('courseId' in value) || value['courseId'] === undefined) return false;
107
157
  if (!('courseName' in value) || value['courseName'] === undefined) return false;
108
158
  if (!('allowedMode' in value) || value['allowedMode'] === undefined) return false;
109
159
  if (!('state' in value) || value['state'] === undefined) return false;
110
160
  if (!('allowResharing' in value) || value['allowResharing'] === undefined) return false;
161
+ if (!('seatLimit' in value) || value['seatLimit'] === undefined) return false;
162
+ if (!('originCatalogId' in value) || value['originCatalogId'] === undefined) return false;
163
+ if (!('originCatalogName' in value) || value['originCatalogName'] === undefined) return false;
164
+ if (!('offeredAt' in value) || value['offeredAt'] === undefined) return false;
165
+ if (!('respondedAt' in value) || value['respondedAt'] === undefined) return false;
166
+ if (!('revokedAt' in value) || value['revokedAt'] === undefined) return false;
111
167
  return true;
112
168
  }
113
169
 
@@ -124,11 +180,19 @@ export function CourseShareFromJSONTyped(json: any, ignoreDiscriminator: boolean
124
180
  'id': json['id'],
125
181
  'sourcePortalId': json['source_portal_id'],
126
182
  'sourcePortalName': json['source_portal_name'],
183
+ 'targetPortalId': json['target_portal_id'],
184
+ 'targetPortalName': json['target_portal_name'],
127
185
  'courseId': json['course_id'],
128
186
  'courseName': json['course_name'],
129
187
  'allowedMode': json['allowed_mode'],
130
188
  'state': json['state'],
131
189
  'allowResharing': json['allow_resharing'],
190
+ 'seatLimit': json['seat_limit'],
191
+ 'originCatalogId': json['origin_catalog_id'],
192
+ 'originCatalogName': json['origin_catalog_name'],
193
+ 'offeredAt': (new Date(json['offered_at'])),
194
+ 'respondedAt': (json['responded_at'] == null ? null : new Date(json['responded_at'])),
195
+ 'revokedAt': (json['revoked_at'] == null ? null : new Date(json['revoked_at'])),
132
196
  };
133
197
  }
134
198
 
@@ -146,11 +210,19 @@ export function CourseShareToJSONTyped(value?: CourseShare | null, ignoreDiscrim
146
210
  'id': value['id'],
147
211
  'source_portal_id': value['sourcePortalId'],
148
212
  'source_portal_name': value['sourcePortalName'],
213
+ 'target_portal_id': value['targetPortalId'],
214
+ 'target_portal_name': value['targetPortalName'],
149
215
  'course_id': value['courseId'],
150
216
  'course_name': value['courseName'],
151
217
  'allowed_mode': value['allowedMode'],
152
218
  'state': value['state'],
153
219
  'allow_resharing': value['allowResharing'],
220
+ 'seat_limit': value['seatLimit'],
221
+ 'origin_catalog_id': value['originCatalogId'],
222
+ 'origin_catalog_name': value['originCatalogName'],
223
+ 'offered_at': value['offeredAt'].toISOString(),
224
+ 'responded_at': value['respondedAt'] == null ? value['respondedAt'] : value['respondedAt'].toISOString(),
225
+ 'revoked_at': value['revokedAt'] == null ? value['revokedAt'] : value['revokedAt'].toISOString(),
154
226
  };
155
227
  }
156
228
 
@@ -31,6 +31,12 @@ export interface GetCourseExport {
31
31
  * @memberof GetCourseExport
32
32
  */
33
33
  courseId: string;
34
+ /**
35
+ * Display name of the course being exported
36
+ * @type {string}
37
+ * @memberof GetCourseExport
38
+ */
39
+ courseName: string;
34
40
  /**
35
41
  * Immutable version used by the export; null only for historical records.
36
42
  * @type {string}
@@ -116,6 +122,7 @@ export type GetCourseExportStatusEnum = typeof GetCourseExportStatusEnum[keyof t
116
122
  export function instanceOfGetCourseExport(value: object): value is GetCourseExport {
117
123
  if (!('id' in value) || value['id'] === undefined) return false;
118
124
  if (!('courseId' in value) || value['courseId'] === undefined) return false;
125
+ if (!('courseName' in value) || value['courseName'] === undefined) return false;
119
126
  if (!('exportType' in value) || value['exportType'] === undefined) return false;
120
127
  if (!('sectionIds' in value) || value['sectionIds'] === undefined) return false;
121
128
  if (!('createdBy' in value) || value['createdBy'] === undefined) return false;
@@ -136,6 +143,7 @@ export function GetCourseExportFromJSONTyped(json: any, ignoreDiscriminator: boo
136
143
 
137
144
  'id': json['id'],
138
145
  'courseId': json['course_id'],
146
+ 'courseName': json['course_name'],
139
147
  'courseVersionId': json['course_version_id'] == null ? undefined : json['course_version_id'],
140
148
  'exportType': json['export_type'],
141
149
  'sectionIds': json['section_ids'],
@@ -161,6 +169,7 @@ export function GetCourseExportToJSONTyped(value?: GetCourseExport | null, ignor
161
169
 
162
170
  'id': value['id'],
163
171
  'course_id': value['courseId'],
172
+ 'course_name': value['courseName'],
164
173
  'course_version_id': value['courseVersionId'],
165
174
  'export_type': value['exportType'],
166
175
  'section_ids': value['sectionIds'],
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { PortalBrandThemeV1 } from './PortalBrandThemeV1';
17
+ import {
18
+ PortalBrandThemeV1FromJSON,
19
+ PortalBrandThemeV1FromJSONTyped,
20
+ PortalBrandThemeV1ToJSON,
21
+ PortalBrandThemeV1ToJSONTyped,
22
+ } from './PortalBrandThemeV1';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -62,17 +70,25 @@ export interface GetPortal {
62
70
  */
63
71
  faviconUrl?: string | null;
64
72
  /**
65
- *
73
+ * Deprecated compatibility alias for branding_theme.colors.header_background.
66
74
  * @type {string}
67
75
  * @memberof GetPortal
76
+ * @deprecated
68
77
  */
69
78
  headerBackgroundColor: string;
70
79
  /**
71
- *
80
+ * Deprecated compatibility alias for branding_theme.colors.header_foreground.
72
81
  * @type {string}
73
82
  * @memberof GetPortal
83
+ * @deprecated
74
84
  */
75
85
  headerTextColor: string;
86
+ /**
87
+ *
88
+ * @type {PortalBrandThemeV1}
89
+ * @memberof GetPortal
90
+ */
91
+ brandingTheme: PortalBrandThemeV1;
76
92
  /**
77
93
  * The user's highest-privilege role base type for this portal
78
94
  * @type {GetPortalBaseTypeEnum}
@@ -105,6 +121,7 @@ export function instanceOfGetPortal(value: object): value is GetPortal {
105
121
  if (!('name' in value) || value['name'] === undefined) return false;
106
122
  if (!('headerBackgroundColor' in value) || value['headerBackgroundColor'] === undefined) return false;
107
123
  if (!('headerTextColor' in value) || value['headerTextColor'] === undefined) return false;
124
+ if (!('brandingTheme' in value) || value['brandingTheme'] === undefined) return false;
108
125
  return true;
109
126
  }
110
127
 
@@ -127,6 +144,7 @@ export function GetPortalFromJSONTyped(json: any, ignoreDiscriminator: boolean):
127
144
  'faviconUrl': json['favicon_url'] == null ? undefined : json['favicon_url'],
128
145
  'headerBackgroundColor': json['header_background_color'],
129
146
  'headerTextColor': json['header_text_color'],
147
+ 'brandingTheme': PortalBrandThemeV1FromJSON(json['branding_theme']),
130
148
  'baseType': json['base_type'] == null ? undefined : json['base_type'],
131
149
  };
132
150
  }
@@ -151,6 +169,7 @@ export function GetPortalToJSONTyped(value?: GetPortal | null, ignoreDiscriminat
151
169
  'favicon_url': value['faviconUrl'],
152
170
  'header_background_color': value['headerBackgroundColor'],
153
171
  'header_text_color': value['headerTextColor'],
172
+ 'branding_theme': PortalBrandThemeV1ToJSON(value['brandingTheme']),
154
173
  'base_type': value['baseType'],
155
174
  };
156
175
  }
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { PortalBrandThemeV1 } from './PortalBrandThemeV1';
17
+ import {
18
+ PortalBrandThemeV1FromJSON,
19
+ PortalBrandThemeV1FromJSONTyped,
20
+ PortalBrandThemeV1ToJSON,
21
+ PortalBrandThemeV1ToJSONTyped,
22
+ } from './PortalBrandThemeV1';
23
+
16
24
  /**
17
25
  * Public portal branding resolved from the browser host.
18
26
  * @export
@@ -50,17 +58,25 @@ export interface GetPublicPortalBranding {
50
58
  */
51
59
  faviconUrl: string | null;
52
60
  /**
53
- *
61
+ * Deprecated compatibility alias for branding_theme.colors.header_background.
54
62
  * @type {string}
55
63
  * @memberof GetPublicPortalBranding
64
+ * @deprecated
56
65
  */
57
66
  headerBackgroundColor: string;
58
67
  /**
59
- *
68
+ * Deprecated compatibility alias for branding_theme.colors.header_foreground.
60
69
  * @type {string}
61
70
  * @memberof GetPublicPortalBranding
71
+ * @deprecated
62
72
  */
63
73
  headerTextColor: string;
74
+ /**
75
+ *
76
+ * @type {PortalBrandThemeV1}
77
+ * @memberof GetPublicPortalBranding
78
+ */
79
+ brandingTheme: PortalBrandThemeV1;
64
80
  }
65
81
 
66
82
  /**
@@ -74,6 +90,7 @@ export function instanceOfGetPublicPortalBranding(value: object): value is GetPu
74
90
  if (!('faviconUrl' in value) || value['faviconUrl'] === undefined) return false;
75
91
  if (!('headerBackgroundColor' in value) || value['headerBackgroundColor'] === undefined) return false;
76
92
  if (!('headerTextColor' in value) || value['headerTextColor'] === undefined) return false;
93
+ if (!('brandingTheme' in value) || value['brandingTheme'] === undefined) return false;
77
94
  return true;
78
95
  }
79
96
 
@@ -94,6 +111,7 @@ export function GetPublicPortalBrandingFromJSONTyped(json: any, ignoreDiscrimina
94
111
  'faviconUrl': json['favicon_url'],
95
112
  'headerBackgroundColor': json['header_background_color'],
96
113
  'headerTextColor': json['header_text_color'],
114
+ 'brandingTheme': PortalBrandThemeV1FromJSON(json['branding_theme']),
97
115
  };
98
116
  }
99
117
 
@@ -115,6 +133,7 @@ export function GetPublicPortalBrandingToJSONTyped(value?: GetPublicPortalBrandi
115
133
  'favicon_url': value['faviconUrl'],
116
134
  'header_background_color': value['headerBackgroundColor'],
117
135
  'header_text_color': value['headerTextColor'],
136
+ 'branding_theme': PortalBrandThemeV1ToJSON(value['brandingTheme']),
118
137
  };
119
138
  }
120
139