@easyedu/js-lsm-api 1.105.0 → 1.106.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 (56) hide show
  1. package/.openapi-generator/FILES +6 -0
  2. package/README.md +6 -3
  3. package/dist/apis/PortalApi.d.ts +2 -2
  4. package/dist/apis/PortalApi.js +2 -2
  5. package/dist/esm/apis/PortalApi.d.ts +2 -2
  6. package/dist/esm/apis/PortalApi.js +2 -2
  7. package/dist/esm/models/GetPortal.d.ts +11 -2
  8. package/dist/esm/models/GetPortal.js +5 -0
  9. package/dist/esm/models/GetPublicPortalBranding.d.ts +11 -2
  10. package/dist/esm/models/GetPublicPortalBranding.js +5 -0
  11. package/dist/esm/models/PortalBrandColorsV1.d.ts +194 -0
  12. package/dist/esm/models/PortalBrandColorsV1.js +151 -0
  13. package/dist/esm/models/PortalBrandThemeV1.d.ts +53 -0
  14. package/dist/esm/models/PortalBrandThemeV1.js +59 -0
  15. package/dist/esm/models/PortalBrandTypographyV1.d.ts +80 -0
  16. package/dist/esm/models/PortalBrandTypographyV1.js +78 -0
  17. package/dist/esm/models/PostPortal.d.ts +9 -0
  18. package/dist/esm/models/PostPortal.js +3 -0
  19. package/dist/esm/models/PutPortalBranding.d.ts +9 -0
  20. package/dist/esm/models/PutPortalBranding.js +3 -0
  21. package/dist/esm/models/index.d.ts +3 -0
  22. package/dist/esm/models/index.js +3 -0
  23. package/dist/models/GetPortal.d.ts +11 -2
  24. package/dist/models/GetPortal.js +5 -0
  25. package/dist/models/GetPublicPortalBranding.d.ts +11 -2
  26. package/dist/models/GetPublicPortalBranding.js +5 -0
  27. package/dist/models/PortalBrandColorsV1.d.ts +194 -0
  28. package/dist/models/PortalBrandColorsV1.js +158 -0
  29. package/dist/models/PortalBrandThemeV1.d.ts +53 -0
  30. package/dist/models/PortalBrandThemeV1.js +67 -0
  31. package/dist/models/PortalBrandTypographyV1.d.ts +80 -0
  32. package/dist/models/PortalBrandTypographyV1.js +86 -0
  33. package/dist/models/PostPortal.d.ts +9 -0
  34. package/dist/models/PostPortal.js +3 -0
  35. package/dist/models/PutPortalBranding.d.ts +9 -0
  36. package/dist/models/PutPortalBranding.js +3 -0
  37. package/dist/models/index.d.ts +3 -0
  38. package/dist/models/index.js +3 -0
  39. package/docs/GetPortal.md +2 -0
  40. package/docs/GetPublicPortalBranding.md +2 -0
  41. package/docs/PortalApi.md +2 -2
  42. package/docs/PortalBrandColorsV1.md +89 -0
  43. package/docs/PortalBrandThemeV1.md +39 -0
  44. package/docs/PortalBrandTypographyV1.md +47 -0
  45. package/docs/PostPortal.md +2 -0
  46. package/docs/PutPortalBranding.md +2 -0
  47. package/package.json +1 -1
  48. package/src/apis/PortalApi.ts +2 -2
  49. package/src/models/GetPortal.ts +21 -2
  50. package/src/models/GetPublicPortalBranding.ts +21 -2
  51. package/src/models/PortalBrandColorsV1.ts +309 -0
  52. package/src/models/PortalBrandThemeV1.ts +109 -0
  53. package/src/models/PortalBrandTypographyV1.ts +135 -0
  54. package/src/models/PostPortal.ts +18 -0
  55. package/src/models/PutPortalBranding.ts +18 -0
  56. package/src/models/index.ts +3 -0
@@ -0,0 +1,89 @@
1
+
2
+ # PortalBrandColorsV1
3
+
4
+ Semantic colors for a portal-owned light application theme. Every value is an opaque hexadecimal color.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `headerBackground` | string
11
+ `headerForeground` | string
12
+ `navigationBackground` | string
13
+ `navigationForeground` | string
14
+ `primaryAction` | string
15
+ `onPrimaryAction` | string
16
+ `secondaryAction` | string
17
+ `onSecondaryAction` | string
18
+ `pageBackground` | string
19
+ `surfaceBackground` | string
20
+ `textPrimary` | string
21
+ `textSecondary` | string
22
+ `divider` | string
23
+ `link` | string
24
+ `linkHover` | string
25
+ `active` | string
26
+ `onActive` | string
27
+ `focusRing` | string
28
+ `progress` | string
29
+ `progressTrack` | string
30
+ `success` | string
31
+ `onSuccess` | string
32
+ `warning` | string
33
+ `onWarning` | string
34
+ `error` | string
35
+ `onError` | string
36
+ `info` | string
37
+ `onInfo` | string
38
+
39
+ ## Example
40
+
41
+ ```typescript
42
+ import type { PortalBrandColorsV1 } from '@easyedu/js-lsm-api'
43
+
44
+ // TODO: Update the object below with actual values
45
+ const example = {
46
+ "headerBackground": null,
47
+ "headerForeground": null,
48
+ "navigationBackground": null,
49
+ "navigationForeground": null,
50
+ "primaryAction": null,
51
+ "onPrimaryAction": null,
52
+ "secondaryAction": null,
53
+ "onSecondaryAction": null,
54
+ "pageBackground": null,
55
+ "surfaceBackground": null,
56
+ "textPrimary": null,
57
+ "textSecondary": null,
58
+ "divider": null,
59
+ "link": null,
60
+ "linkHover": null,
61
+ "active": null,
62
+ "onActive": null,
63
+ "focusRing": null,
64
+ "progress": null,
65
+ "progressTrack": null,
66
+ "success": null,
67
+ "onSuccess": null,
68
+ "warning": null,
69
+ "onWarning": null,
70
+ "error": null,
71
+ "onError": null,
72
+ "info": null,
73
+ "onInfo": null,
74
+ } satisfies PortalBrandColorsV1
75
+
76
+ console.log(example)
77
+
78
+ // Convert the instance to a JSON string
79
+ const exampleJSON: string = JSON.stringify(example)
80
+ console.log(exampleJSON)
81
+
82
+ // Parse the JSON string back to an object
83
+ const exampleParsed = JSON.parse(exampleJSON) as PortalBrandColorsV1
84
+ console.log(exampleParsed)
85
+ ```
86
+
87
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
88
+
89
+
@@ -0,0 +1,39 @@
1
+
2
+ # PortalBrandThemeV1
3
+
4
+ Complete version 1 portal application theme. Updates replace this object as a whole.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `schemaVersion` | string
11
+ `typography` | [PortalBrandTypographyV1](PortalBrandTypographyV1.md)
12
+ `colors` | [PortalBrandColorsV1](PortalBrandColorsV1.md)
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import type { PortalBrandThemeV1 } from '@easyedu/js-lsm-api'
18
+
19
+ // TODO: Update the object below with actual values
20
+ const example = {
21
+ "schemaVersion": null,
22
+ "typography": null,
23
+ "colors": null,
24
+ } satisfies PortalBrandThemeV1
25
+
26
+ console.log(example)
27
+
28
+ // Convert the instance to a JSON string
29
+ const exampleJSON: string = JSON.stringify(example)
30
+ console.log(exampleJSON)
31
+
32
+ // Parse the JSON string back to an object
33
+ const exampleParsed = JSON.parse(exampleJSON) as PortalBrandThemeV1
34
+ console.log(exampleParsed)
35
+ ```
36
+
37
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
38
+
39
+
@@ -0,0 +1,47 @@
1
+
2
+ # PortalBrandTypographyV1
3
+
4
+ Typography settings for a portal-owned light application theme.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `fontFamily` | string
11
+ `baseFontSizePx` | number
12
+ `fontWeightRegular` | number
13
+ `fontWeightMedium` | number
14
+ `fontWeightBold` | number
15
+ `lineHeight` | number
16
+ `letterSpacingEm` | number
17
+
18
+ ## Example
19
+
20
+ ```typescript
21
+ import type { PortalBrandTypographyV1 } from '@easyedu/js-lsm-api'
22
+
23
+ // TODO: Update the object below with actual values
24
+ const example = {
25
+ "fontFamily": null,
26
+ "baseFontSizePx": null,
27
+ "fontWeightRegular": null,
28
+ "fontWeightMedium": null,
29
+ "fontWeightBold": null,
30
+ "lineHeight": null,
31
+ "letterSpacingEm": null,
32
+ } satisfies PortalBrandTypographyV1
33
+
34
+ console.log(example)
35
+
36
+ // Convert the instance to a JSON string
37
+ const exampleJSON: string = JSON.stringify(example)
38
+ console.log(exampleJSON)
39
+
40
+ // Parse the JSON string back to an object
41
+ const exampleParsed = JSON.parse(exampleJSON) as PortalBrandTypographyV1
42
+ console.log(exampleParsed)
43
+ ```
44
+
45
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
46
+
47
+
@@ -9,6 +9,7 @@ Name | Type
9
9
  `name` | string
10
10
  `headerBackgroundColor` | string
11
11
  `headerTextColor` | string
12
+ `brandingTheme` | [PortalBrandThemeV1](PortalBrandThemeV1.md)
12
13
  `slug` | string
13
14
  `clientDomain` | string
14
15
 
@@ -22,6 +23,7 @@ const example = {
22
23
  "name": null,
23
24
  "headerBackgroundColor": null,
24
25
  "headerTextColor": null,
26
+ "brandingTheme": null,
25
27
  "slug": null,
26
28
  "clientDomain": null,
27
29
  } satisfies PostPortal
@@ -9,6 +9,7 @@ Name | Type
9
9
  `name` | string
10
10
  `headerBackgroundColor` | string
11
11
  `headerTextColor` | string
12
+ `brandingTheme` | [PortalBrandThemeV1](PortalBrandThemeV1.md)
12
13
  `slug` | string
13
14
  `clientDomain` | string
14
15
 
@@ -22,6 +23,7 @@ const example = {
22
23
  "name": null,
23
24
  "headerBackgroundColor": null,
24
25
  "headerTextColor": null,
26
+ "brandingTheme": null,
25
27
  "slug": null,
26
28
  "clientDomain": null,
27
29
  } satisfies PutPortalBranding
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyedu/js-lsm-api",
3
- "version": "1.105.0",
3
+ "version": "1.106.0",
4
4
  "description": "OpenAPI client for @easyedu/js-lsm-api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -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);
@@ -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
 
@@ -0,0 +1,309 @@
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
+ * Semantic colors for a portal-owned light application theme. Every value is an opaque hexadecimal color.
18
+ * @export
19
+ * @interface PortalBrandColorsV1
20
+ */
21
+ export interface PortalBrandColorsV1 {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof PortalBrandColorsV1
26
+ */
27
+ headerBackground: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof PortalBrandColorsV1
32
+ */
33
+ headerForeground: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof PortalBrandColorsV1
38
+ */
39
+ navigationBackground: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof PortalBrandColorsV1
44
+ */
45
+ navigationForeground: string;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof PortalBrandColorsV1
50
+ */
51
+ primaryAction: string;
52
+ /**
53
+ *
54
+ * @type {string}
55
+ * @memberof PortalBrandColorsV1
56
+ */
57
+ onPrimaryAction: string;
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof PortalBrandColorsV1
62
+ */
63
+ secondaryAction: string;
64
+ /**
65
+ *
66
+ * @type {string}
67
+ * @memberof PortalBrandColorsV1
68
+ */
69
+ onSecondaryAction: string;
70
+ /**
71
+ *
72
+ * @type {string}
73
+ * @memberof PortalBrandColorsV1
74
+ */
75
+ pageBackground: string;
76
+ /**
77
+ *
78
+ * @type {string}
79
+ * @memberof PortalBrandColorsV1
80
+ */
81
+ surfaceBackground: string;
82
+ /**
83
+ *
84
+ * @type {string}
85
+ * @memberof PortalBrandColorsV1
86
+ */
87
+ textPrimary: string;
88
+ /**
89
+ *
90
+ * @type {string}
91
+ * @memberof PortalBrandColorsV1
92
+ */
93
+ textSecondary: string;
94
+ /**
95
+ *
96
+ * @type {string}
97
+ * @memberof PortalBrandColorsV1
98
+ */
99
+ divider: string;
100
+ /**
101
+ *
102
+ * @type {string}
103
+ * @memberof PortalBrandColorsV1
104
+ */
105
+ link: string;
106
+ /**
107
+ *
108
+ * @type {string}
109
+ * @memberof PortalBrandColorsV1
110
+ */
111
+ linkHover: string;
112
+ /**
113
+ *
114
+ * @type {string}
115
+ * @memberof PortalBrandColorsV1
116
+ */
117
+ active: string;
118
+ /**
119
+ *
120
+ * @type {string}
121
+ * @memberof PortalBrandColorsV1
122
+ */
123
+ onActive: string;
124
+ /**
125
+ *
126
+ * @type {string}
127
+ * @memberof PortalBrandColorsV1
128
+ */
129
+ focusRing: string;
130
+ /**
131
+ *
132
+ * @type {string}
133
+ * @memberof PortalBrandColorsV1
134
+ */
135
+ progress: string;
136
+ /**
137
+ *
138
+ * @type {string}
139
+ * @memberof PortalBrandColorsV1
140
+ */
141
+ progressTrack: string;
142
+ /**
143
+ *
144
+ * @type {string}
145
+ * @memberof PortalBrandColorsV1
146
+ */
147
+ success: string;
148
+ /**
149
+ *
150
+ * @type {string}
151
+ * @memberof PortalBrandColorsV1
152
+ */
153
+ onSuccess: string;
154
+ /**
155
+ *
156
+ * @type {string}
157
+ * @memberof PortalBrandColorsV1
158
+ */
159
+ warning: string;
160
+ /**
161
+ *
162
+ * @type {string}
163
+ * @memberof PortalBrandColorsV1
164
+ */
165
+ onWarning: string;
166
+ /**
167
+ *
168
+ * @type {string}
169
+ * @memberof PortalBrandColorsV1
170
+ */
171
+ error: string;
172
+ /**
173
+ *
174
+ * @type {string}
175
+ * @memberof PortalBrandColorsV1
176
+ */
177
+ onError: string;
178
+ /**
179
+ *
180
+ * @type {string}
181
+ * @memberof PortalBrandColorsV1
182
+ */
183
+ info: string;
184
+ /**
185
+ *
186
+ * @type {string}
187
+ * @memberof PortalBrandColorsV1
188
+ */
189
+ onInfo: string;
190
+ }
191
+
192
+ /**
193
+ * Check if a given object implements the PortalBrandColorsV1 interface.
194
+ */
195
+ export function instanceOfPortalBrandColorsV1(value: object): value is PortalBrandColorsV1 {
196
+ if (!('headerBackground' in value) || value['headerBackground'] === undefined) return false;
197
+ if (!('headerForeground' in value) || value['headerForeground'] === undefined) return false;
198
+ if (!('navigationBackground' in value) || value['navigationBackground'] === undefined) return false;
199
+ if (!('navigationForeground' in value) || value['navigationForeground'] === undefined) return false;
200
+ if (!('primaryAction' in value) || value['primaryAction'] === undefined) return false;
201
+ if (!('onPrimaryAction' in value) || value['onPrimaryAction'] === undefined) return false;
202
+ if (!('secondaryAction' in value) || value['secondaryAction'] === undefined) return false;
203
+ if (!('onSecondaryAction' in value) || value['onSecondaryAction'] === undefined) return false;
204
+ if (!('pageBackground' in value) || value['pageBackground'] === undefined) return false;
205
+ if (!('surfaceBackground' in value) || value['surfaceBackground'] === undefined) return false;
206
+ if (!('textPrimary' in value) || value['textPrimary'] === undefined) return false;
207
+ if (!('textSecondary' in value) || value['textSecondary'] === undefined) return false;
208
+ if (!('divider' in value) || value['divider'] === undefined) return false;
209
+ if (!('link' in value) || value['link'] === undefined) return false;
210
+ if (!('linkHover' in value) || value['linkHover'] === undefined) return false;
211
+ if (!('active' in value) || value['active'] === undefined) return false;
212
+ if (!('onActive' in value) || value['onActive'] === undefined) return false;
213
+ if (!('focusRing' in value) || value['focusRing'] === undefined) return false;
214
+ if (!('progress' in value) || value['progress'] === undefined) return false;
215
+ if (!('progressTrack' in value) || value['progressTrack'] === undefined) return false;
216
+ if (!('success' in value) || value['success'] === undefined) return false;
217
+ if (!('onSuccess' in value) || value['onSuccess'] === undefined) return false;
218
+ if (!('warning' in value) || value['warning'] === undefined) return false;
219
+ if (!('onWarning' in value) || value['onWarning'] === undefined) return false;
220
+ if (!('error' in value) || value['error'] === undefined) return false;
221
+ if (!('onError' in value) || value['onError'] === undefined) return false;
222
+ if (!('info' in value) || value['info'] === undefined) return false;
223
+ if (!('onInfo' in value) || value['onInfo'] === undefined) return false;
224
+ return true;
225
+ }
226
+
227
+ export function PortalBrandColorsV1FromJSON(json: any): PortalBrandColorsV1 {
228
+ return PortalBrandColorsV1FromJSONTyped(json, false);
229
+ }
230
+
231
+ export function PortalBrandColorsV1FromJSONTyped(json: any, ignoreDiscriminator: boolean): PortalBrandColorsV1 {
232
+ if (json == null) {
233
+ return json;
234
+ }
235
+ return {
236
+
237
+ 'headerBackground': json['header_background'],
238
+ 'headerForeground': json['header_foreground'],
239
+ 'navigationBackground': json['navigation_background'],
240
+ 'navigationForeground': json['navigation_foreground'],
241
+ 'primaryAction': json['primary_action'],
242
+ 'onPrimaryAction': json['on_primary_action'],
243
+ 'secondaryAction': json['secondary_action'],
244
+ 'onSecondaryAction': json['on_secondary_action'],
245
+ 'pageBackground': json['page_background'],
246
+ 'surfaceBackground': json['surface_background'],
247
+ 'textPrimary': json['text_primary'],
248
+ 'textSecondary': json['text_secondary'],
249
+ 'divider': json['divider'],
250
+ 'link': json['link'],
251
+ 'linkHover': json['link_hover'],
252
+ 'active': json['active'],
253
+ 'onActive': json['on_active'],
254
+ 'focusRing': json['focus_ring'],
255
+ 'progress': json['progress'],
256
+ 'progressTrack': json['progress_track'],
257
+ 'success': json['success'],
258
+ 'onSuccess': json['on_success'],
259
+ 'warning': json['warning'],
260
+ 'onWarning': json['on_warning'],
261
+ 'error': json['error'],
262
+ 'onError': json['on_error'],
263
+ 'info': json['info'],
264
+ 'onInfo': json['on_info'],
265
+ };
266
+ }
267
+
268
+ export function PortalBrandColorsV1ToJSON(json: any): PortalBrandColorsV1 {
269
+ return PortalBrandColorsV1ToJSONTyped(json, false);
270
+ }
271
+
272
+ export function PortalBrandColorsV1ToJSONTyped(value?: PortalBrandColorsV1 | null, ignoreDiscriminator: boolean = false): any {
273
+ if (value == null) {
274
+ return value;
275
+ }
276
+
277
+ return {
278
+
279
+ 'header_background': value['headerBackground'],
280
+ 'header_foreground': value['headerForeground'],
281
+ 'navigation_background': value['navigationBackground'],
282
+ 'navigation_foreground': value['navigationForeground'],
283
+ 'primary_action': value['primaryAction'],
284
+ 'on_primary_action': value['onPrimaryAction'],
285
+ 'secondary_action': value['secondaryAction'],
286
+ 'on_secondary_action': value['onSecondaryAction'],
287
+ 'page_background': value['pageBackground'],
288
+ 'surface_background': value['surfaceBackground'],
289
+ 'text_primary': value['textPrimary'],
290
+ 'text_secondary': value['textSecondary'],
291
+ 'divider': value['divider'],
292
+ 'link': value['link'],
293
+ 'link_hover': value['linkHover'],
294
+ 'active': value['active'],
295
+ 'on_active': value['onActive'],
296
+ 'focus_ring': value['focusRing'],
297
+ 'progress': value['progress'],
298
+ 'progress_track': value['progressTrack'],
299
+ 'success': value['success'],
300
+ 'on_success': value['onSuccess'],
301
+ 'warning': value['warning'],
302
+ 'on_warning': value['onWarning'],
303
+ 'error': value['error'],
304
+ 'on_error': value['onError'],
305
+ 'info': value['info'],
306
+ 'on_info': value['onInfo'],
307
+ };
308
+ }
309
+