@spaciv/sdk 0.1.14 → 0.1.16

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 (52) hide show
  1. package/README.md +2 -2
  2. package/dist/apis/AuthenticationApi.d.ts +4 -4
  3. package/dist/apis/AuthenticationApi.js +2 -2
  4. package/dist/apis/DashboardsApi.d.ts +12 -12
  5. package/dist/apis/DashboardsApi.js +6 -6
  6. package/dist/apis/ScenariosApi.d.ts +8 -8
  7. package/dist/apis/ScenariosApi.js +4 -4
  8. package/dist/apis/TopDownModelsApi.d.ts +4 -4
  9. package/dist/apis/TopDownModelsApi.js +2 -2
  10. package/dist/esm/apis/AuthenticationApi.d.ts +4 -4
  11. package/dist/esm/apis/AuthenticationApi.js +2 -2
  12. package/dist/esm/apis/DashboardsApi.d.ts +12 -12
  13. package/dist/esm/apis/DashboardsApi.js +6 -6
  14. package/dist/esm/apis/ScenariosApi.d.ts +8 -8
  15. package/dist/esm/apis/ScenariosApi.js +4 -4
  16. package/dist/esm/apis/TopDownModelsApi.d.ts +4 -4
  17. package/dist/esm/apis/TopDownModelsApi.js +2 -2
  18. package/dist/esm/models/CalcListEntry.d.ts +6 -0
  19. package/dist/esm/models/CalcListEntry.js +2 -0
  20. package/dist/esm/models/CalcRes.d.ts +6 -0
  21. package/dist/esm/models/CalcRes.js +4 -0
  22. package/dist/esm/models/ScenarioChangelogBody.d.ts +6 -0
  23. package/dist/esm/models/ScenarioChangelogBody.js +2 -0
  24. package/dist/esm/models/ScenarioCreate.d.ts +6 -0
  25. package/dist/esm/models/ScenarioCreate.js +2 -0
  26. package/dist/esm/models/ScenarioPatch.d.ts +12 -0
  27. package/dist/esm/models/ScenarioPatch.js +4 -0
  28. package/dist/esm/models/TopDownModelEntryUpdate.d.ts +6 -0
  29. package/dist/esm/models/TopDownModelEntryUpdate.js +2 -0
  30. package/dist/models/CalcListEntry.d.ts +6 -0
  31. package/dist/models/CalcListEntry.js +2 -0
  32. package/dist/models/CalcRes.d.ts +6 -0
  33. package/dist/models/CalcRes.js +4 -0
  34. package/dist/models/ScenarioChangelogBody.d.ts +6 -0
  35. package/dist/models/ScenarioChangelogBody.js +2 -0
  36. package/dist/models/ScenarioCreate.d.ts +6 -0
  37. package/dist/models/ScenarioCreate.js +2 -0
  38. package/dist/models/ScenarioPatch.d.ts +12 -0
  39. package/dist/models/ScenarioPatch.js +4 -0
  40. package/dist/models/TopDownModelEntryUpdate.d.ts +6 -0
  41. package/dist/models/TopDownModelEntryUpdate.js +2 -0
  42. package/package.json +1 -1
  43. package/src/apis/AuthenticationApi.ts +4 -4
  44. package/src/apis/DashboardsApi.ts +12 -12
  45. package/src/apis/ScenariosApi.ts +8 -8
  46. package/src/apis/TopDownModelsApi.ts +4 -4
  47. package/src/models/CalcListEntry.ts +8 -0
  48. package/src/models/CalcRes.ts +9 -0
  49. package/src/models/ScenarioChangelogBody.ts +8 -0
  50. package/src/models/ScenarioCreate.ts +8 -0
  51. package/src/models/ScenarioPatch.ts +16 -0
  52. package/src/models/TopDownModelEntryUpdate.ts +8 -0
@@ -25,6 +25,8 @@ const CalcAxis_1 = require("./CalcAxis");
25
25
  function instanceOfCalcRes(value) {
26
26
  if (!('axes' in value) || value['axes'] === undefined)
27
27
  return false;
28
+ if (!('columnHexCodes' in value) || value['columnHexCodes'] === undefined)
29
+ return false;
28
30
  if (!('values' in value) || value['values'] === undefined)
29
31
  return false;
30
32
  return true;
@@ -38,6 +40,7 @@ function CalcResFromJSONTyped(json, ignoreDiscriminator) {
38
40
  }
39
41
  return {
40
42
  'axes': (json['axes'].map(CalcAxis_1.CalcAxisFromJSON)),
43
+ 'columnHexCodes': json['columnHexCodes'],
41
44
  'values': json['values'],
42
45
  };
43
46
  }
@@ -50,6 +53,7 @@ function CalcResToJSONTyped(value, ignoreDiscriminator = false) {
50
53
  }
51
54
  return {
52
55
  'axes': (value['axes'].map(CalcAxis_1.CalcAxisToJSON)),
56
+ 'columnHexCodes': value['columnHexCodes'],
53
57
  'values': value['values'],
54
58
  };
55
59
  }
@@ -28,6 +28,12 @@ export interface ScenarioChangelogBody {
28
28
  * @memberof ScenarioChangelogBody
29
29
  */
30
30
  description: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof ScenarioChangelogBody
35
+ */
36
+ hexCode?: string;
31
37
  /**
32
38
  *
33
39
  * @type {Array<Layer>}
@@ -45,6 +45,7 @@ function ScenarioChangelogBodyFromJSONTyped(json, ignoreDiscriminator) {
45
45
  return {
46
46
  'createdAt': json['createdAt'],
47
47
  'description': json['description'],
48
+ 'hexCode': json['hexCode'] == null ? undefined : json['hexCode'],
48
49
  'layers': (json['layers'].map(Layer_1.LayerFromJSON)),
49
50
  'modifiedAt': json['modifiedAt'],
50
51
  'name': json['name'],
@@ -60,6 +61,7 @@ function ScenarioChangelogBodyToJSONTyped(value, ignoreDiscriminator = false) {
60
61
  return {
61
62
  'createdAt': value['createdAt'],
62
63
  'description': value['description'],
64
+ 'hexCode': value['hexCode'],
63
65
  'layers': (value['layers'].map(Layer_1.LayerToJSON)),
64
66
  'modifiedAt': value['modifiedAt'],
65
67
  'name': value['name'],
@@ -22,6 +22,12 @@ export interface ScenarioCreate {
22
22
  * @memberof ScenarioCreate
23
23
  */
24
24
  description: string;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof ScenarioCreate
29
+ */
30
+ hexCode?: string;
25
31
  /**
26
32
  *
27
33
  * @type {Array<Layer>}
@@ -40,6 +40,7 @@ function ScenarioCreateFromJSONTyped(json, ignoreDiscriminator) {
40
40
  }
41
41
  return {
42
42
  'description': json['description'],
43
+ 'hexCode': json['hexCode'] == null ? undefined : json['hexCode'],
43
44
  'layers': (json['layers'].map(Layer_1.LayerFromJSON)),
44
45
  'name': json['name'],
45
46
  };
@@ -53,6 +54,7 @@ function ScenarioCreateToJSONTyped(value, ignoreDiscriminator = false) {
53
54
  }
54
55
  return {
55
56
  'description': value['description'],
57
+ 'hexCode': value['hexCode'],
56
58
  'layers': (value['layers'].map(Layer_1.LayerToJSON)),
57
59
  'name': value['name'],
58
60
  };
@@ -16,12 +16,24 @@ import type { Layer } from './Layer';
16
16
  * @interface ScenarioPatch
17
17
  */
18
18
  export interface ScenarioPatch {
19
+ /**
20
+ *
21
+ * @type {boolean}
22
+ * @memberof ScenarioPatch
23
+ */
24
+ clearLayers?: boolean;
19
25
  /**
20
26
  *
21
27
  * @type {string}
22
28
  * @memberof ScenarioPatch
23
29
  */
24
30
  description?: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof ScenarioPatch
35
+ */
36
+ hexCode?: string;
25
37
  /**
26
38
  *
27
39
  * @type {Array<Layer>}
@@ -35,7 +35,9 @@ function ScenarioPatchFromJSONTyped(json, ignoreDiscriminator) {
35
35
  return json;
36
36
  }
37
37
  return {
38
+ 'clearLayers': json['clearLayers'] == null ? undefined : json['clearLayers'],
38
39
  'description': json['description'] == null ? undefined : json['description'],
40
+ 'hexCode': json['hexCode'] == null ? undefined : json['hexCode'],
39
41
  'layers': (json['layers'].map(Layer_1.LayerFromJSON)),
40
42
  'name': json['name'] == null ? undefined : json['name'],
41
43
  };
@@ -48,7 +50,9 @@ function ScenarioPatchToJSONTyped(value, ignoreDiscriminator = false) {
48
50
  return value;
49
51
  }
50
52
  return {
53
+ 'clearLayers': value['clearLayers'],
51
54
  'description': value['description'],
55
+ 'hexCode': value['hexCode'],
52
56
  'layers': (value['layers'].map(Layer_1.LayerToJSON)),
53
57
  'name': value['name'],
54
58
  };
@@ -17,6 +17,12 @@ import type { FilterGroup } from './FilterGroup';
17
17
  * @interface TopDownModelEntryUpdate
18
18
  */
19
19
  export interface TopDownModelEntryUpdate {
20
+ /**
21
+ *
22
+ * @type {boolean}
23
+ * @memberof TopDownModelEntryUpdate
24
+ */
25
+ clearObjects?: boolean;
20
26
  /**
21
27
  *
22
28
  * @type {string}
@@ -38,6 +38,7 @@ function TopDownModelEntryUpdateFromJSONTyped(json, ignoreDiscriminator) {
38
38
  return json;
39
39
  }
40
40
  return {
41
+ 'clearObjects': json['clearObjects'] == null ? undefined : json['clearObjects'],
41
42
  'id': json['id'],
42
43
  'objects': (json['objects'].map(FilterGroup_1.FilterGroupFromJSON)),
43
44
  'properties': json['properties'] == null ? undefined : (0, TopDownModelProperties_1.TopDownModelPropertiesFromJSON)(json['properties']),
@@ -51,6 +52,7 @@ function TopDownModelEntryUpdateToJSONTyped(value, ignoreDiscriminator = false)
51
52
  return value;
52
53
  }
53
54
  return {
55
+ 'clearObjects': value['clearObjects'],
54
56
  'id': value['id'],
55
57
  'objects': (value['objects'].map(FilterGroup_1.FilterGroupToJSON)),
56
58
  'properties': (0, TopDownModelProperties_1.TopDownModelPropertiesToJSON)(value['properties']),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spaciv/sdk",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "OpenAPI client for @spaciv/sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -224,7 +224,7 @@ export interface AuthenticationApiInterface {
224
224
  createAuthLogout(requestParameters: AuthenticationApiCreateAuthLogoutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
225
225
 
226
226
  /**
227
- * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use. The session stays usable for other accounts, so keep it and cancel only the account-scoped action.
227
+ * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use, or when a refresh without an `account` comes from a session that signed in through an account\'s own OIDC provider: such a session only gets tokens for an account. The session stays usable for the accounts it is authorised for, so keep it and cancel only the action that needed the token.
228
228
  * @summary Refresh an access token
229
229
  * @param {AuthRefreshTokenReqBody} authRefreshTokenReqBody
230
230
  * @param {Cookie} [hostToken]
@@ -236,7 +236,7 @@ export interface AuthenticationApiInterface {
236
236
  createAuthRefreshTokenRaw(requestParameters: AuthenticationApiCreateAuthRefreshTokenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthRefreshTokenResBody>>;
237
237
 
238
238
  /**
239
- * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use. The session stays usable for other accounts, so keep it and cancel only the account-scoped action.
239
+ * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use, or when a refresh without an `account` comes from a session that signed in through an account\'s own OIDC provider: such a session only gets tokens for an account. The session stays usable for the accounts it is authorised for, so keep it and cancel only the action that needed the token.
240
240
  * Refresh an access token
241
241
  */
242
242
  createAuthRefreshToken(requestParameters: AuthenticationApiCreateAuthRefreshTokenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthRefreshTokenResBody>;
@@ -588,7 +588,7 @@ export class AuthenticationApi extends runtime.BaseAPI implements Authentication
588
588
  }
589
589
 
590
590
  /**
591
- * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use. The session stays usable for other accounts, so keep it and cancel only the account-scoped action.
591
+ * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use, or when a refresh without an `account` comes from a session that signed in through an account\'s own OIDC provider: such a session only gets tokens for an account. The session stays usable for the accounts it is authorised for, so keep it and cancel only the action that needed the token.
592
592
  * Refresh an access token
593
593
  */
594
594
  async createAuthRefreshTokenRaw(requestParameters: AuthenticationApiCreateAuthRefreshTokenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthRefreshTokenResBody>> {
@@ -620,7 +620,7 @@ export class AuthenticationApi extends runtime.BaseAPI implements Authentication
620
620
  }
621
621
 
622
622
  /**
623
- * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use. The session stays usable for other accounts, so keep it and cancel only the account-scoped action.
623
+ * Exchanges the refresh token cookie (`__Host-token`, or `token` when `AUTH_COOKIE_SECURE` is false) for a fresh short-lived access token. Optionally scope the token to a specific account or project by providing `account` and/or `project` in the request body. For OIDC accounts, the provider\'s token is silently re-validated on each refresh. A successful refresh rotates the cookie, keeping the session\'s original expiry. The session\'s refresh token advances at most once a minute: within that minute, presenting the current token sets no cookie, and presenting the token it just replaced sets a cookie for the current one. A superseded refresh token is still accepted for a short grace period, so parallel refreshes and retries succeed; presenting it after that revokes the whole session. Returns `401` when no access token could be minted: an invalid refresh token, a missing or signed-out session, a reused refresh token, a deleted user, or, for a refresh scoped to an `account`, unusable session data or an OIDC provider that rejects the session\'s token. Returning the user to sign-in is the usual response. Returns `503` when, for a refresh scoped to an `account`, the OIDC provider could not be reached or reported a transient failure. The session is still valid, so retry the refresh later rather than signing the user out. Returns `403` when the session is valid but is not authorised for the requested `account`, which typically means the account mandates a sign-in method the session did not use, or when a refresh without an `account` comes from a session that signed in through an account\'s own OIDC provider: such a session only gets tokens for an account. The session stays usable for the accounts it is authorised for, so keep it and cancel only the action that needed the token.
624
624
  * Refresh an access token
625
625
  */
626
626
  async createAuthRefreshToken(requestParameters: AuthenticationApiCreateAuthRefreshTokenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthRefreshTokenResBody> {
@@ -91,7 +91,7 @@ export interface DashboardsApiUpdateCardsRequest {
91
91
  */
92
92
  export interface DashboardsApiInterface {
93
93
  /**
94
- * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
94
+ * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
95
95
  * @summary Create a dashboard
96
96
  * @param {DashboardPost} [dashboardPost]
97
97
  * @param {*} [options] Override http request option.
@@ -101,13 +101,13 @@ export interface DashboardsApiInterface {
101
101
  createRaw(requestParameters: DashboardsApiCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
102
102
 
103
103
  /**
104
- * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
104
+ * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
105
105
  * Create a dashboard
106
106
  */
107
107
  create(requestParameters: DashboardsApiCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
108
108
 
109
109
  /**
110
- * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
110
+ * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
111
111
  * @summary Add a card to a dashboard
112
112
  * @param {string} id
113
113
  * @param {DashboardCardCreate} [dashboardCardCreate]
@@ -118,7 +118,7 @@ export interface DashboardsApiInterface {
118
118
  createCardsRaw(requestParameters: DashboardsApiCreateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
119
119
 
120
120
  /**
121
- * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
121
+ * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
122
122
  * Add a card to a dashboard
123
123
  */
124
124
  createCards(requestParameters: DashboardsApiCreateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
@@ -222,7 +222,7 @@ export interface DashboardsApiInterface {
222
222
  update(requestParameters: DashboardsApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
223
223
 
224
224
  /**
225
- * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
225
+ * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
226
226
  * @summary Update a dashboard card
227
227
  * @param {string} id
228
228
  * @param {DashboardCardPatch} [dashboardCardPatch]
@@ -233,7 +233,7 @@ export interface DashboardsApiInterface {
233
233
  updateCardsRaw(requestParameters: DashboardsApiUpdateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
234
234
 
235
235
  /**
236
- * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
236
+ * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
237
237
  * Update a dashboard card
238
238
  */
239
239
  updateCards(requestParameters: DashboardsApiUpdateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
@@ -246,7 +246,7 @@ export interface DashboardsApiInterface {
246
246
  export class DashboardsApi extends runtime.BaseAPI implements DashboardsApiInterface {
247
247
 
248
248
  /**
249
- * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
249
+ * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
250
250
  * Create a dashboard
251
251
  */
252
252
  async createRaw(requestParameters: DashboardsApiCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
@@ -283,7 +283,7 @@ export class DashboardsApi extends runtime.BaseAPI implements DashboardsApiInter
283
283
  }
284
284
 
285
285
  /**
286
- * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
286
+ * Creates a new dashboard for the current project and returns its UUID. If a dashboard with the supplied `id` already exists, the call is idempotent: it ensures the dashboard is indexed under the project and returns the existing ID without overwriting its content. The `account` ID is reserved for the account-level dashboard; project-scoped requests supplying it are rejected with 400. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Requires the *Edit org model* permission, and the *Variable controls* permission when any card has controls.
287
287
  * Create a dashboard
288
288
  */
289
289
  async create(requestParameters: DashboardsApiCreateRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
@@ -292,7 +292,7 @@ export class DashboardsApi extends runtime.BaseAPI implements DashboardsApiInter
292
292
  }
293
293
 
294
294
  /**
295
- * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
295
+ * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
296
296
  * Add a card to a dashboard
297
297
  */
298
298
  async createCardsRaw(requestParameters: DashboardsApiCreateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
@@ -333,7 +333,7 @@ export class DashboardsApi extends runtime.BaseAPI implements DashboardsApiInter
333
333
  }
334
334
 
335
335
  /**
336
- * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
336
+ * Inserts a new card at the given zero-based `index` position in the dashboard\'s card list. Cards already at that position and beyond are shifted down. If `index` is out of range it is clamped to the nearest valid position. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the card has controls.
337
337
  * Add a card to a dashboard
338
338
  */
339
339
  async createCards(requestParameters: DashboardsApiCreateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
@@ -625,7 +625,7 @@ export class DashboardsApi extends runtime.BaseAPI implements DashboardsApiInter
625
625
  }
626
626
 
627
627
  /**
628
- * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
628
+ * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
629
629
  * Update a dashboard card
630
630
  */
631
631
  async updateCardsRaw(requestParameters: DashboardsApiUpdateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
@@ -666,7 +666,7 @@ export class DashboardsApi extends runtime.BaseAPI implements DashboardsApiInter
666
666
  }
667
667
 
668
668
  /**
669
- * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items or a control is missing a variable or duplicates another control on the same card. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
669
+ * Applies a single action to a card on a dashboard. Use `moveCard` to swap two cards by their zero-based indices, `reorderCard` to move the card at `oldIndex` to `newIndex` (zero-based) while shifting the cards in between, or `updateCard` to replace the content of a card at a given index, including the order of its visualisation and control items. Out-of-range indices are silently ignored. Returns `400` when a row-break card has items, a control is missing a variable or duplicates another control on the same card, or a list entry\'s `hexCode` is not a colour such as `#1f77b4` or `#abc`. Returns `404` if the dashboard does not exist. Requires the *Edit org model* permission, and the *Variable controls* permission when the update adds, removes, reorders or changes a card\'s controls.
670
670
  * Update a dashboard card
671
671
  */
672
672
  async updateCards(requestParameters: DashboardsApiUpdateCardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
@@ -71,7 +71,7 @@ export interface ScenariosApiUpdateRequest {
71
71
  */
72
72
  export interface ScenariosApiInterface {
73
73
  /**
74
- * Creates a new scenario for the account and returns its UUID. Returns `400` if a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
74
+ * Creates a new scenario for the account and returns its UUID. The optional `hexCode` is a colour such as `#1f77b4` or `#abc`. Returns `400` if the colour is not a valid hex code or a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
75
75
  * @summary Create a scenario
76
76
  * @param {ScenarioCreate} [scenarioCreate]
77
77
  * @param {*} [options] Override http request option.
@@ -81,7 +81,7 @@ export interface ScenariosApiInterface {
81
81
  createRaw(requestParameters: ScenariosApiCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
82
82
 
83
83
  /**
84
- * Creates a new scenario for the account and returns its UUID. Returns `400` if a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
84
+ * Creates a new scenario for the account and returns its UUID. The optional `hexCode` is a colour such as `#1f77b4` or `#abc`. Returns `400` if the colour is not a valid hex code or a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
85
85
  * Create a scenario
86
86
  */
87
87
  create(requestParameters: ScenariosApiCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
@@ -167,7 +167,7 @@ export interface ScenariosApiInterface {
167
167
  listLayerVariables(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LayerVariablesRes>;
168
168
 
169
169
  /**
170
- * Updates the name, description, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. Returns `400` if a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
170
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
171
171
  * @summary Update a scenario
172
172
  * @param {string} id
173
173
  * @param {ScenarioPatch} [scenarioPatch]
@@ -178,7 +178,7 @@ export interface ScenariosApiInterface {
178
178
  updateRaw(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
179
179
 
180
180
  /**
181
- * Updates the name, description, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. Returns `400` if a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
181
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
182
182
  * Update a scenario
183
183
  */
184
184
  update(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
@@ -191,7 +191,7 @@ export interface ScenariosApiInterface {
191
191
  export class ScenariosApi extends runtime.BaseAPI implements ScenariosApiInterface {
192
192
 
193
193
  /**
194
- * Creates a new scenario for the account and returns its UUID. Returns `400` if a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
194
+ * Creates a new scenario for the account and returns its UUID. The optional `hexCode` is a colour such as `#1f77b4` or `#abc`. Returns `400` if the colour is not a valid hex code or a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
195
195
  * Create a scenario
196
196
  */
197
197
  async createRaw(requestParameters: ScenariosApiCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
@@ -228,7 +228,7 @@ export class ScenariosApi extends runtime.BaseAPI implements ScenariosApiInterfa
228
228
  }
229
229
 
230
230
  /**
231
- * Creates a new scenario for the account and returns its UUID. Returns `400` if a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
231
+ * Creates a new scenario for the account and returns its UUID. The optional `hexCode` is a colour such as `#1f77b4` or `#abc`. Returns `400` if the colour is not a valid hex code or a layer references an entity that does not exist. Requires the *Edit scenario planning* permission.
232
232
  * Create a scenario
233
233
  */
234
234
  async create(requestParameters: ScenariosApiCreateRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
@@ -468,7 +468,7 @@ export class ScenariosApi extends runtime.BaseAPI implements ScenariosApiInterfa
468
468
  }
469
469
 
470
470
  /**
471
- * Updates the name, description, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. Returns `400` if a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
471
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
472
472
  * Update a scenario
473
473
  */
474
474
  async updateRaw(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
@@ -509,7 +509,7 @@ export class ScenariosApi extends runtime.BaseAPI implements ScenariosApiInterfa
509
509
  }
510
510
 
511
511
  /**
512
- * Updates the name, description, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. Returns `400` if a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
512
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
513
513
  * Update a scenario
514
514
  */
515
515
  async update(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
@@ -217,7 +217,7 @@ export interface TopDownModelsApiInterface {
217
217
  update(requestParameters: TopDownModelsApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
218
218
 
219
219
  /**
220
- * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
220
+ * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). A non-empty `objects` replaces the entry\'s stored objects and `clearObjects` removes them all; sending both returns `400`. Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
221
221
  * @summary Create or update a top-down model entry
222
222
  * @param {string} id
223
223
  * @param {TopDownModelEntryUpdate} [topDownModelEntryUpdate]
@@ -228,7 +228,7 @@ export interface TopDownModelsApiInterface {
228
228
  updateEntriesRaw(requestParameters: TopDownModelsApiUpdateEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
229
229
 
230
230
  /**
231
- * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
231
+ * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). A non-empty `objects` replaces the entry\'s stored objects and `clearObjects` removes them all; sending both returns `400`. Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
232
232
  * Create or update a top-down model entry
233
233
  */
234
234
  updateEntries(requestParameters: TopDownModelsApiUpdateEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
@@ -638,7 +638,7 @@ export class TopDownModelsApi extends runtime.BaseAPI implements TopDownModelsAp
638
638
  }
639
639
 
640
640
  /**
641
- * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
641
+ * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). A non-empty `objects` replaces the entry\'s stored objects and `clearObjects` removes them all; sending both returns `400`. Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
642
642
  * Create or update a top-down model entry
643
643
  */
644
644
  async updateEntriesRaw(requestParameters: TopDownModelsApiUpdateEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
@@ -679,7 +679,7 @@ export class TopDownModelsApi extends runtime.BaseAPI implements TopDownModelsAp
679
679
  }
680
680
 
681
681
  /**
682
- * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
682
+ * Upserts an entry on the specified top-down model. If an entry with the given ID already exists it is updated; otherwise a new entry is created. Supply the entry\'s ID in the request body (`id` field). A non-empty `objects` replaces the entry\'s stored objects and `clearObjects` removes them all; sending both returns `400`. Each `properties.map[].formula` must be a per-object expression: numbers, static property references and the add, subtract, multiply and divide operators. With `variable_controls` enabled, formulas may also reference numeric account variables by `account:<id>`; other variable references are rejected. `sumOf`, `select`, unknown operators and references to unknown properties or nodes are rejected with `400` naming the offending field. Returns `404` if the model does not exist. Requires the *Edit modification* permission.
683
683
  * Create or update a top-down model entry
684
684
  */
685
685
  async updateEntries(requestParameters: TopDownModelsApiUpdateEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
@@ -47,6 +47,12 @@ export interface CalcListEntry {
47
47
  * @memberof CalcListEntry
48
48
  */
49
49
  _function: MaybeVarFunc;
50
+ /**
51
+ *
52
+ * @type {string}
53
+ * @memberof CalcListEntry
54
+ */
55
+ hexCode?: string;
50
56
  /**
51
57
  *
52
58
  * @type {string}
@@ -89,6 +95,7 @@ export function CalcListEntryFromJSONTyped(json: any, ignoreDiscriminator: boole
89
95
  return {
90
96
 
91
97
  '_function': MaybeVarFuncFromJSON(json['function']),
98
+ 'hexCode': json['hexCode'] == null ? undefined : json['hexCode'],
92
99
  'name': json['name'],
93
100
  'params': (mapValues(json['params'], ParameterTypeFromJSON)),
94
101
  'scenario': MaybeVarStrFromJSON(json['scenario']),
@@ -107,6 +114,7 @@ export function CalcListEntryToJSONTyped(value?: CalcListEntry | null, ignoreDis
107
114
  return {
108
115
 
109
116
  'function': MaybeVarFuncToJSON(value['_function']),
117
+ 'hexCode': value['hexCode'],
110
118
  'name': value['name'],
111
119
  'params': (mapValues(value['params'], ParameterTypeToJSON)),
112
120
  'scenario': MaybeVarStrToJSON(value['scenario']),
@@ -33,6 +33,12 @@ export interface CalcRes {
33
33
  * @memberof CalcRes
34
34
  */
35
35
  axes: Array<CalcAxis>;
36
+ /**
37
+ *
38
+ * @type {Array<string>}
39
+ * @memberof CalcRes
40
+ */
41
+ columnHexCodes: Array<string>;
36
42
  /**
37
43
  *
38
44
  * @type {Array<number>}
@@ -46,6 +52,7 @@ export interface CalcRes {
46
52
  */
47
53
  export function instanceOfCalcRes(value: object): value is CalcRes {
48
54
  if (!('axes' in value) || value['axes'] === undefined) return false;
55
+ if (!('columnHexCodes' in value) || value['columnHexCodes'] === undefined) return false;
49
56
  if (!('values' in value) || value['values'] === undefined) return false;
50
57
  return true;
51
58
  }
@@ -61,6 +68,7 @@ export function CalcResFromJSONTyped(json: any, ignoreDiscriminator: boolean): C
61
68
  return {
62
69
 
63
70
  'axes': ((json['axes'] as Array<any>).map(CalcAxisFromJSON)),
71
+ 'columnHexCodes': json['columnHexCodes'],
64
72
  'values': json['values'],
65
73
  };
66
74
  }
@@ -77,6 +85,7 @@ export function CalcResToJSONTyped(value?: CalcRes | null, ignoreDiscriminator:
77
85
  return {
78
86
 
79
87
  'axes': ((value['axes'] as Array<any>).map(CalcAxisToJSON)),
88
+ 'columnHexCodes': value['columnHexCodes'],
80
89
  'values': value['values'],
81
90
  };
82
91
  }
@@ -39,6 +39,12 @@ export interface ScenarioChangelogBody {
39
39
  * @memberof ScenarioChangelogBody
40
40
  */
41
41
  description: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof ScenarioChangelogBody
46
+ */
47
+ hexCode?: string;
42
48
  /**
43
49
  *
44
50
  * @type {Array<Layer>}
@@ -83,6 +89,7 @@ export function ScenarioChangelogBodyFromJSONTyped(json: any, ignoreDiscriminato
83
89
 
84
90
  'createdAt': json['createdAt'],
85
91
  'description': json['description'],
92
+ 'hexCode': json['hexCode'] == null ? undefined : json['hexCode'],
86
93
  'layers': ((json['layers'] as Array<any>).map(LayerFromJSON)),
87
94
  'modifiedAt': json['modifiedAt'],
88
95
  'name': json['name'],
@@ -102,6 +109,7 @@ export function ScenarioChangelogBodyToJSONTyped(value?: ScenarioChangelogBody |
102
109
 
103
110
  'createdAt': value['createdAt'],
104
111
  'description': value['description'],
112
+ 'hexCode': value['hexCode'],
105
113
  'layers': ((value['layers'] as Array<any>).map(LayerToJSON)),
106
114
  'modifiedAt': value['modifiedAt'],
107
115
  'name': value['name'],
@@ -33,6 +33,12 @@ export interface ScenarioCreate {
33
33
  * @memberof ScenarioCreate
34
34
  */
35
35
  description: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof ScenarioCreate
40
+ */
41
+ hexCode?: string;
36
42
  /**
37
43
  *
38
44
  * @type {Array<Layer>}
@@ -68,6 +74,7 @@ export function ScenarioCreateFromJSONTyped(json: any, ignoreDiscriminator: bool
68
74
  return {
69
75
 
70
76
  'description': json['description'],
77
+ 'hexCode': json['hexCode'] == null ? undefined : json['hexCode'],
71
78
  'layers': ((json['layers'] as Array<any>).map(LayerFromJSON)),
72
79
  'name': json['name'],
73
80
  };
@@ -85,6 +92,7 @@ export function ScenarioCreateToJSONTyped(value?: ScenarioCreate | null, ignoreD
85
92
  return {
86
93
 
87
94
  'description': value['description'],
95
+ 'hexCode': value['hexCode'],
88
96
  'layers': ((value['layers'] as Array<any>).map(LayerToJSON)),
89
97
  'name': value['name'],
90
98
  };