@gooddata/sdk-backend-tiger 11.48.0-alpha.1 → 11.48.0-alpha.2

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.
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.48.0-alpha.1";
1
+ export declare const LIB_VERSION = "11.48.0-alpha.2";
2
2
  export declare const LIB_DESCRIPTION = "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-backend-tiger";
4
4
  //# sourceMappingURL=__version.d.ts.map
package/esm/__version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "11.48.0-alpha.1";
3
+ export const LIB_VERSION = "11.48.0-alpha.2";
4
4
  export const LIB_DESCRIPTION = "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN";
5
5
  export const LIB_NAME = "@gooddata/sdk-backend-tiger";
package/esm/auth.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/esm/auth.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // (C) 2019-2026 GoodData Corporation
2
2
  import { invariant } from "ts-invariant";
3
- import { setAxiosAuthorizationToken } from "@gooddata/api-client-tiger";
3
+ import { clearAxiosResponseCache, setAxiosAuthorizationToken, } from "@gooddata/api-client-tiger";
4
4
  import { ProfileApi_GetCurrent } from "@gooddata/api-client-tiger/endpoints/profile";
5
5
  import { convertApiError } from "./utils/errorHandling.js";
6
6
  import { computeExpirationReminderTimeout, validateJwt } from "./utils/jwt.js";
@@ -83,8 +83,17 @@ export class TigerTokenAuthProvider extends TigerAuthProviderBase {
83
83
  }
84
84
  updateApiToken = (apiToken) => {
85
85
  invariant(this.clients.length > 0, "The method cannot be called before initializeClient method.");
86
+ if (apiToken === this.apiToken) {
87
+ return;
88
+ }
86
89
  this.apiToken = apiToken;
87
- this.clients.forEach((client) => this.initializeClient(client));
90
+ // The memoized principal and the cached GET responses were obtained under the previous
91
+ // credential; served after a token change they could replay another identity's data.
92
+ this.principal = undefined;
93
+ this.clients.forEach((client) => {
94
+ this.initializeClient(client);
95
+ void clearAxiosResponseCache(client.axios);
96
+ });
88
97
  };
89
98
  }
90
99
  const DEFAULT_EXPIRATION_REMINDER_IN_SECONDS = 60;
@@ -1 +1 @@
1
- {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../src/backend/features/feature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,kBAAkB,EAAsB,MAAM,kBAAkB,CAAC;AAInG,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,OAAO,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwyB9E"}
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../src/backend/features/feature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,kBAAkB,EAAsB,MAAM,kBAAkB,CAAC;AAInG,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,OAAO,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+yB9E"}
@@ -69,6 +69,7 @@ export function mapFeatures(features) {
69
69
  ...loadFeature(features, TigerFeaturesNames.EnableHLL, "enableHLL", "BOOLEAN", FeatureFlagsValues.enableHLL),
70
70
  ...loadFeature(features, TigerFeaturesNames.EnableGeoPushpinIcon, "enableGeoPushpinIcon", "BOOLEAN", FeatureFlagsValues.enableGeoPushpinIcon),
71
71
  ...loadFeature(features, TigerFeaturesNames.EnableGeoChartA11yImprovements, "enableGeoChartA11yImprovements", "BOOLEAN", FeatureFlagsValues.enableGeoChartA11yImprovements),
72
+ ...loadFeature(features, TigerFeaturesNames.EnableGeoLayersExport, "enableGeoLayersExport", "BOOLEAN", FeatureFlagsValues.enableGeoLayersExport),
72
73
  ...loadFeature(features, TigerFeaturesNames.EnableGeoChartsViewportConfig, "enableGeoChartsViewportConfig", "BOOLEAN", FeatureFlagsValues.enableGeoChartsViewportConfig),
73
74
  ...loadFeature(features, TigerFeaturesNames.EnableGeoSegmentConflictRecommendation, "enableGeoSegmentConflictRecommendation", "BOOLEAN", FeatureFlagsValues.enableGeoSegmentConflictRecommendation),
74
75
  ...loadFeature(features, TigerFeaturesNames.EnableGeoBasemapConfig, "enableGeoBasemapConfig", "BOOLEAN", FeatureFlagsValues.enableGeoBasemapConfig),
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/organization/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/organization/settings.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ActionsApi_ResolveAllSettingsWithoutWorkspace } from "@gooddata/api-cli
3
3
  import { EntitiesApi_CreateEntityOrganizationSettings, EntitiesApi_DeleteEntityOrganizationSettings, EntitiesApi_GetAllEntitiesOrganizationSettings, EntitiesApi_UpdateEntityOrganizationSettings, } from "@gooddata/api-client-tiger/endpoints/entitiesObjects";
4
4
  import { unwrapSettingContent } from "../../convertors/fromBackend/SettingsConverter.js";
5
5
  import { mapTypeToKey } from "../settings/mapping.js";
6
+ import { invalidateSettingsResponses, trackSettingsResponse } from "../settings/responseCacheCoherence.js";
6
7
  import { TigerSettingsService } from "../settings/settings.js";
7
8
  export class OrganizationSettingsService extends TigerSettingsService {
8
9
  authCall;
@@ -127,9 +128,9 @@ export class OrganizationSettingsService extends TigerSettingsService {
127
128
  return this.deleteSettingByType("ACTIVE_COLOR_PALETTE");
128
129
  }
129
130
  async getSettings() {
130
- const { data } = await this.authCall(async (client) => ActionsApi_ResolveAllSettingsWithoutWorkspace(client.axios, client.basePath, {
131
- excludeUserSettings: true,
132
- }));
131
+ const { data } = await this.authCall(async (client) =>
132
+ // The user-level read hits the same endpoint without excludeUserSettings; the scope keeps them apart.
133
+ trackSettingsResponse(client.axios, "org:excludeUser", (requestOptions) => ActionsApi_ResolveAllSettingsWithoutWorkspace(client.axios, client.basePath, { excludeUserSettings: true }, requestOptions)));
133
134
  return data.reduce((result, setting) => {
134
135
  return {
135
136
  ...result,
@@ -143,7 +144,7 @@ export class OrganizationSettingsService extends TigerSettingsService {
143
144
  }));
144
145
  }
145
146
  async updateSetting(type, id, content) {
146
- return this.authCall((client) => EntitiesApi_UpdateEntityOrganizationSettings(client.axios, client.basePath, {
147
+ const result = await this.authCall((client) => EntitiesApi_UpdateEntityOrganizationSettings(client.axios, client.basePath, {
147
148
  id,
148
149
  jsonApiOrganizationSettingInDocument: {
149
150
  data: {
@@ -156,9 +157,11 @@ export class OrganizationSettingsService extends TigerSettingsService {
156
157
  },
157
158
  },
158
159
  }));
160
+ await invalidateSettingsResponses(this.authCall);
161
+ return result;
159
162
  }
160
163
  async createSetting(type, id, content) {
161
- return this.authCall((client) => EntitiesApi_CreateEntityOrganizationSettings(client.axios, client.basePath, {
164
+ const result = await this.authCall((client) => EntitiesApi_CreateEntityOrganizationSettings(client.axios, client.basePath, {
162
165
  jsonApiOrganizationSettingInDocument: {
163
166
  data: {
164
167
  type: "organizationSetting",
@@ -170,13 +173,25 @@ export class OrganizationSettingsService extends TigerSettingsService {
170
173
  },
171
174
  },
172
175
  }));
176
+ await invalidateSettingsResponses(this.authCall);
177
+ return result;
173
178
  }
174
179
  async deleteSettingByType(type) {
175
180
  const settings = await this.getSettingByType(type);
176
- for (const setting of settings.data.data) {
177
- await this.authCall((client) => EntitiesApi_DeleteEntityOrganizationSettings(client.axios, client.basePath, {
178
- id: setting.id,
179
- }));
181
+ let deleted = false;
182
+ try {
183
+ for (const setting of settings.data.data) {
184
+ await this.authCall((client) => EntitiesApi_DeleteEntityOrganizationSettings(client.axios, client.basePath, {
185
+ id: setting.id,
186
+ }));
187
+ deleted = true;
188
+ }
189
+ }
190
+ finally {
191
+ // A failure partway still leaves earlier deletions persisted — invalidate for those.
192
+ if (deleted) {
193
+ await invalidateSettingsResponses(this.authCall);
194
+ }
180
195
  }
181
196
  }
182
197
  }
@@ -0,0 +1,34 @@
1
+ import { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from "axios";
2
+ import { type TigerAuthenticatedCallGuard } from "../../types/index.js";
3
+ /**
4
+ * Runs a settings-resolution request under a generation-scoped cache id and records the id for
5
+ * eviction by the next settings write.
6
+ *
7
+ * The cacheScope must uniquely identify the call site including every request parameter that
8
+ * changes the response (workspace, user-inclusion), otherwise two different reads would share a
9
+ * cache entry and cross-serve each other's bodies.
10
+ *
11
+ * When a settings write completes while the request is in flight, the response lands under an
12
+ * already-superseded generation id that no future read will look up; it is dropped right away
13
+ * instead of tracked. The raced caller still receives the possibly-pre-write body once — that is
14
+ * server-side request ordering no client cache can fix — but the cache never serves it again.
15
+ *
16
+ * @internal
17
+ */
18
+ export declare function trackSettingsResponse<TResponse extends AxiosResponse>(axiosInstance: AxiosInstance, cacheScope: string, request: (requestOptions: AxiosRequestConfig & {
19
+ id: string;
20
+ }) => Promise<TResponse>): Promise<TResponse>;
21
+ /**
22
+ * Invalidates all settings-resolution reads after a settings write: bumps the generation, so
23
+ * subsequent reads use fresh cache ids and cannot hit — or deduplicate onto — anything cached or
24
+ * in flight from before the write, and evicts the superseded tracked entries so they do not
25
+ * linger in memory until their TTL.
26
+ *
27
+ * Deliberately coarse: org-level settings cascade into every workspace's resolved settings, so any
28
+ * settings write (org, workspace, or user) invalidates all of them instead of reasoning per scope.
29
+ * Over-invalidation only costs one cheap refetch; under-invalidation would mean silent stale data.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function invalidateSettingsResponses(authCall: TigerAuthenticatedCallGuard): Promise<void>;
34
+ //# sourceMappingURL=responseCacheCoherence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseCacheCoherence.d.ts","sourceRoot":"","sources":["../../../src/backend/settings/responseCacheCoherence.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAIxF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAexE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,SAAS,aAAa,EACvE,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,kBAAkB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,SAAS,CAAC,GACrF,OAAO,CAAC,SAAS,CAAC,CAepB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAatG"}
@@ -0,0 +1,70 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { removeAxiosResponseCacheEntries } from "@gooddata/api-client-tiger";
3
+ // The backend serves settings-resolution GETs with a cacheable Cache-Control (a short max-age),
4
+ // so the axios layer caches them and a read shortly after a settings write would return the
5
+ // pre-write body (read-after-write staleness). Every settings-resolution read therefore carries
6
+ // an explicit cache id embedding a per-instance GENERATION that every settings write bumps: a
7
+ // post-write read never shares a cache entry — nor deduplicates onto an in-flight request — with
8
+ // any pre-write read, so it always fetches fresh data. Superseded entries are additionally
9
+ // evicted (registry below) so they do not linger in memory until their TTL. Keyed per axios
10
+ // instance, like the response cache itself.
11
+ const trackedIds = new WeakMap();
12
+ const generations = new WeakMap();
13
+ const generationOf = (axiosInstance) => generations.get(axiosInstance) ?? 0;
14
+ /**
15
+ * Runs a settings-resolution request under a generation-scoped cache id and records the id for
16
+ * eviction by the next settings write.
17
+ *
18
+ * The cacheScope must uniquely identify the call site including every request parameter that
19
+ * changes the response (workspace, user-inclusion), otherwise two different reads would share a
20
+ * cache entry and cross-serve each other's bodies.
21
+ *
22
+ * When a settings write completes while the request is in flight, the response lands under an
23
+ * already-superseded generation id that no future read will look up; it is dropped right away
24
+ * instead of tracked. The raced caller still receives the possibly-pre-write body once — that is
25
+ * server-side request ordering no client cache can fix — but the cache never serves it again.
26
+ *
27
+ * @internal
28
+ */
29
+ export async function trackSettingsResponse(axiosInstance, cacheScope, request) {
30
+ const dispatchedGeneration = generationOf(axiosInstance);
31
+ const id = `gd.settings.resolve:${cacheScope}:g${dispatchedGeneration}`;
32
+ const response = await request({ id });
33
+ if (dispatchedGeneration !== generationOf(axiosInstance)) {
34
+ await removeAxiosResponseCacheEntries(axiosInstance, [id]);
35
+ return response;
36
+ }
37
+ let ids = trackedIds.get(axiosInstance);
38
+ if (!ids) {
39
+ ids = new Set();
40
+ trackedIds.set(axiosInstance, ids);
41
+ }
42
+ ids.add(id);
43
+ return response;
44
+ }
45
+ /**
46
+ * Invalidates all settings-resolution reads after a settings write: bumps the generation, so
47
+ * subsequent reads use fresh cache ids and cannot hit — or deduplicate onto — anything cached or
48
+ * in flight from before the write, and evicts the superseded tracked entries so they do not
49
+ * linger in memory until their TTL.
50
+ *
51
+ * Deliberately coarse: org-level settings cascade into every workspace's resolved settings, so any
52
+ * settings write (org, workspace, or user) invalidates all of them instead of reasoning per scope.
53
+ * Over-invalidation only costs one cheap refetch; under-invalidation would mean silent stale data.
54
+ *
55
+ * @internal
56
+ */
57
+ export async function invalidateSettingsResponses(authCall) {
58
+ await authCall(async (client) => {
59
+ // Bump first and unconditionally — the registry is empty precisely when the first read
60
+ // is still in flight, and that read must land under a superseded generation.
61
+ generations.set(client.axios, generationOf(client.axios) + 1);
62
+ const ids = trackedIds.get(client.axios);
63
+ if (!ids?.size) {
64
+ return;
65
+ }
66
+ const toEvict = [...ids];
67
+ ids.clear();
68
+ await removeAxiosResponseCacheEntries(client.axios, toEvict);
69
+ });
70
+ }
@@ -68,6 +68,7 @@ export declare enum TigerFeaturesNames {
68
68
  EnableHLL = "enableHLL",
69
69
  EnableGeoPushpinIcon = "enableGeoPushpinIcon",
70
70
  EnableGeoChartA11yImprovements = "enableGeoChartA11yImprovements",
71
+ EnableGeoLayersExport = "enableGeoLayersExport",
71
72
  EnableGeoChartsViewportConfig = "enableGeoChartsViewportConfig",
72
73
  EnableGeoSegmentConflictRecommendation = "enableGeoSegmentConflictRecommendation",
73
74
  EnableGeoBasemapConfig = "enableGeoBasemapConfig",
@@ -187,6 +188,7 @@ export type ITigerFeatureFlags = {
187
188
  enableHLL: (typeof FeatureFlagsValues)["enableHLL"][number];
188
189
  enableGeoPushpinIcon: (typeof FeatureFlagsValues)["enableGeoPushpinIcon"][number];
189
190
  enableGeoChartA11yImprovements: (typeof FeatureFlagsValues)["enableGeoChartA11yImprovements"][number];
191
+ enableGeoLayersExport: (typeof FeatureFlagsValues)["enableGeoLayersExport"][number];
190
192
  enableGeoChartsViewportConfig: (typeof FeatureFlagsValues)["enableGeoChartsViewportConfig"][number];
191
193
  enableGeoSegmentConflictRecommendation: (typeof FeatureFlagsValues)["enableGeoSegmentConflictRecommendation"][number];
192
194
  enableGeoBasemapConfig: (typeof FeatureFlagsValues)["enableGeoBasemapConfig"][number];
@@ -305,6 +307,7 @@ export declare const FeatureFlagsValues: {
305
307
  enableHLL: readonly [true, false];
306
308
  enableGeoPushpinIcon: readonly [true, false];
307
309
  enableGeoChartA11yImprovements: readonly [true, false];
310
+ enableGeoLayersExport: readonly [true, false];
308
311
  enableGeoChartsViewportConfig: readonly [true, false];
309
312
  enableGeoSegmentConflictRecommendation: readonly [true, false];
310
313
  enableGeoBasemapConfig: readonly [true, false];
@@ -1 +1 @@
1
- {"version":3,"file":"uiFeatures.d.ts","sourceRoot":"","sources":["../../src/backend/uiFeatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiFeatures.d.ts","sourceRoot":"","sources":["../../src/backend/uiFeatures.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,7 @@ var TigerFeaturesNames;
70
70
  TigerFeaturesNames["EnableHLL"] = "enableHLL";
71
71
  TigerFeaturesNames["EnableGeoPushpinIcon"] = "enableGeoPushpinIcon";
72
72
  TigerFeaturesNames["EnableGeoChartA11yImprovements"] = "enableGeoChartA11yImprovements";
73
+ TigerFeaturesNames["EnableGeoLayersExport"] = "enableGeoLayersExport";
73
74
  TigerFeaturesNames["EnableGeoChartsViewportConfig"] = "enableGeoChartsViewportConfig";
74
75
  TigerFeaturesNames["EnableGeoSegmentConflictRecommendation"] = "enableGeoSegmentConflictRecommendation";
75
76
  TigerFeaturesNames["EnableGeoBasemapConfig"] = "enableGeoBasemapConfig";
@@ -189,6 +190,7 @@ export const DefaultFeatureFlags = {
189
190
  enableHLL: false,
190
191
  enableGeoPushpinIcon: true,
191
192
  enableGeoChartA11yImprovements: true,
193
+ enableGeoLayersExport: false,
192
194
  enableGeoChartsViewportConfig: true,
193
195
  enableGeoSegmentConflictRecommendation: true,
194
196
  enableGeoBasemapConfig: true,
@@ -306,6 +308,7 @@ export const FeatureFlagsValues = {
306
308
  enableHLL: [true, false],
307
309
  enableGeoPushpinIcon: [true, false],
308
310
  enableGeoChartA11yImprovements: [true, false],
311
+ enableGeoLayersExport: [true, false],
309
312
  enableGeoChartsViewportConfig: [true, false],
310
313
  enableGeoSegmentConflictRecommendation: [true, false],
311
314
  enableGeoBasemapConfig: [true, false],
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/user/settings.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAI1F,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,qBAAa,wBACT,SAAQ,oBAAoB,CAAC,aAAa,CAC1C,YAAW,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,YAA6B,QAAQ,EAAE,2BAA2B,EAGjE;IAEqB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAyB1D;IAED,UAAyB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,mHAQhE;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAkBtG;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAiBtG;IAED,UAAyB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAWlF;CACJ"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/user/settings.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAI1F,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,qBAAa,wBACT,SAAQ,oBAAoB,CAAC,aAAa,CAC1C,YAAW,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,YAA6B,QAAQ,EAAE,2BAA2B,EAGjE;IAEqB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CA6B1D;IAED,UAAyB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,mHAQhE;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAoBtG;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBtG;IAED,UAAyB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoBlF;CACJ"}
@@ -5,6 +5,7 @@ import { ProfileApi_GetCurrent } from "@gooddata/api-client-tiger/endpoints/prof
5
5
  import { unwrapSettingContent } from "../../convertors/fromBackend/SettingsConverter.js";
6
6
  import { TigerFeaturesService, pickContext } from "../features/index.js";
7
7
  import { mapTypeToKey } from "../settings/mapping.js";
8
+ import { invalidateSettingsResponses, trackSettingsResponse } from "../settings/responseCacheCoherence.js";
8
9
  import { TigerSettingsService } from "../settings/settings.js";
9
10
  import { DefaultUserSettings } from "../uiSettings.js";
10
11
  export class TigerUserSettingsService extends TigerSettingsService {
@@ -20,7 +21,8 @@ export class TigerUserSettingsService extends TigerSettingsService {
20
21
  const profile = await ProfileApi_GetCurrent(client.axios);
21
22
  const context = pickContext(undefined, profile.organizationId, profile.entitlements);
22
23
  const features = await this.tigerFeatureService.getFeatures(profile, context);
23
- const { data } = await ActionsApi_ResolveAllSettingsWithoutWorkspace(client.axios, client.basePath, {});
24
+ // The org-level read hits the same endpoint with excludeUserSettings; the scope keeps them apart.
25
+ const { data } = await trackSettingsResponse(client.axios, "user:withUser", (requestOptions) => ActionsApi_ResolveAllSettingsWithoutWorkspace(client.axios, client.basePath, {}, requestOptions));
24
26
  const resolvedSettings = data.reduce((result, setting) => ({
25
27
  ...result,
26
28
  [mapTypeToKey(setting.type, setting.id)]: unwrapSettingContent(setting.content),
@@ -43,7 +45,7 @@ export class TigerUserSettingsService extends TigerSettingsService {
43
45
  });
44
46
  }
45
47
  async updateSetting(type, id, content) {
46
- return this.authCall(async (client) => {
48
+ const result = await this.authCall(async (client) => {
47
49
  const profile = await ProfileApi_GetCurrent(client.axios);
48
50
  return EntitiesApi_UpdateEntityUserSettings(client.axios, client.basePath, {
49
51
  id,
@@ -60,9 +62,11 @@ export class TigerUserSettingsService extends TigerSettingsService {
60
62
  },
61
63
  });
62
64
  });
65
+ await invalidateSettingsResponses(this.authCall);
66
+ return result;
63
67
  }
64
68
  async createSetting(type, id, content) {
65
- return this.authCall(async (client) => {
69
+ const result = await this.authCall(async (client) => {
66
70
  const profile = await ProfileApi_GetCurrent(client.axios);
67
71
  return EntitiesApi_CreateEntityUserSettings(client.axios, client.basePath, {
68
72
  userId: profile.userId,
@@ -78,17 +82,29 @@ export class TigerUserSettingsService extends TigerSettingsService {
78
82
  },
79
83
  });
80
84
  });
85
+ await invalidateSettingsResponses(this.authCall);
86
+ return result;
81
87
  }
82
88
  async deleteSettingByType(type) {
83
89
  const settings = await this.getSettingByType(type);
84
- for (const setting of settings.data.data) {
85
- await this.authCall(async (client) => {
86
- const profile = await ProfileApi_GetCurrent(client.axios);
87
- return EntitiesApi_DeleteEntityUserSettings(client.axios, client.basePath, {
88
- userId: profile.userId,
89
- id: setting.id,
90
+ let deleted = false;
91
+ try {
92
+ for (const setting of settings.data.data) {
93
+ await this.authCall(async (client) => {
94
+ const profile = await ProfileApi_GetCurrent(client.axios);
95
+ return EntitiesApi_DeleteEntityUserSettings(client.axios, client.basePath, {
96
+ userId: profile.userId,
97
+ id: setting.id,
98
+ });
90
99
  });
91
- });
100
+ deleted = true;
101
+ }
102
+ }
103
+ finally {
104
+ // A failure partway still leaves earlier deletions persisted — invalidate for those.
105
+ if (deleted) {
106
+ await invalidateSettingsResponses(this.authCall);
107
+ }
92
108
  }
93
109
  }
94
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executionResult.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/execution/executionResult.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,oBAAoB,EAK5B,MAAM,4BAA4B,CAAC;AAqBpC,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAGtB,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kCAAkC,EAEvC,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG5B,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAE7F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAsD3E,qBAAa,oBAAqB,YAAW,gBAAgB;IAOrD,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,UAAU,EAAE,oBAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,QAAQ,CAAC,YAAY,EAAE,oBAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa;aACd,OAAO,CAAC;aACR,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAbvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,SAAgB,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,UAAU,EAAE,oBAAoB,EAC/B,gBAAgB,EAAE,iBAAiB,EAC3C,YAAY,EAAE,oBAAoB,EAC1B,aAAa,EAAE,aAAa,EAC7B,OAAO,CAAC,SAAmB,EAC3B,MAAM,CAAC,yBAAa,EACnB,iBAAiB,CAAC,oBAAQ,EAS9C;IAEM,UAAU,4CAWf;IAEW,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAczC;IAEY,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA4BtF;IAEY,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CtF;IAEY,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiCtG;IAEY,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0C9F;IAEY,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAmB5E;IAEY,mBAAmB,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BpG;IAEM,SAAS,IAAI,kBAAkB,CAKrC;IAEY,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAwDlE;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE9C;IAEM,WAAW,IAAI,MAAM,CAE3B;IAEM,QAAQ,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,UAAU,CAiBhB;IAEF,OAAO,CAAC,6BAA6B;CAexC"}
1
+ {"version":3,"file":"executionResult.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/execution/executionResult.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,oBAAoB,EAM5B,MAAM,4BAA4B,CAAC;AAqBpC,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAGtB,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kCAAkC,EAEvC,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG5B,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAE7F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAmE3E,qBAAa,oBAAqB,YAAW,gBAAgB;IAOrD,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,UAAU,EAAE,oBAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,QAAQ,CAAC,YAAY,EAAE,oBAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa;aACd,OAAO,CAAC;aACR,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAbvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,SAAgB,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,UAAU,EAAE,oBAAoB,EAC/B,gBAAgB,EAAE,iBAAiB,EAC3C,YAAY,EAAE,oBAAoB,EAC1B,aAAa,EAAE,aAAa,EAC7B,OAAO,CAAC,SAAmB,EAC3B,MAAM,CAAC,yBAAa,EACnB,iBAAiB,CAAC,oBAAQ,EAS9C;IAEM,UAAU,4CAWf;IAEW,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAczC;IAEY,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA4BtF;IAEY,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CtF;IAEY,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiCtG;IAEY,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0C9F;IAEY,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAmB5E;IAEY,mBAAmB,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BpG;IAEM,SAAS,IAAI,kBAAkB,CAKrC;IAEY,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAuElE;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE9C;IAEM,WAAW,IAAI,MAAM,CAE3B;IAEM,QAAQ,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,UAAU,CAiBhB;IAEF,OAAO,CAAC,6BAA6B;CAexC"}
@@ -25,6 +25,14 @@ const TABULAR_EXPORT_FORMATS = ["CSV", "XLSX", "HTML", "PDF"];
25
25
  function isTabularExportFormat(format = "") {
26
26
  return TABULAR_EXPORT_FORMATS.includes(format);
27
27
  }
28
+ function buildTabularExportExecution(resultId, result, title) {
29
+ const customOverride = resolveCustomOverride(result.dimensions, result.definition);
30
+ return {
31
+ executionResult: resultId,
32
+ title,
33
+ customOverride: augmentCustomOverrideWithNormalizedKeys(customOverride, result.definition),
34
+ };
35
+ }
28
36
  function sanitizeOffset(offset) {
29
37
  return offset.map((offsetItem = 0) => offsetItem);
30
38
  }
@@ -245,6 +253,20 @@ export class TigerExecutionResult {
245
253
  visualizationObject: options.visualizationObjectId,
246
254
  visualizationObjectCustomFilters: options.visualizationObjectCustomFilters,
247
255
  };
256
+ // For multi-layer geo visualizations the export ships one sheet/file per layer. The main
257
+ // layer is this result (index 0); the additional layers come pre-executed in the config.
258
+ // When executions is present the backend ignores the top-level executionResult/customOverride.
259
+ if (options.additionalExecutions?.length) {
260
+ payload.executions = [
261
+ { executionResult: this._resultId, title: options.title, customOverride: augmented },
262
+ ...options.additionalExecutions.flatMap(({ executionResult, title }) => {
263
+ const layerResultId = executionResult.resultId();
264
+ return layerResultId
265
+ ? [buildTabularExportExecution(layerResultId, executionResult, title)]
266
+ : [];
267
+ }),
268
+ ];
269
+ }
248
270
  return this.authCall(async (client) => {
249
271
  const tabularExport = await ExportApi_CreateTabularExport(client.axios, client.basePath, {
250
272
  workspaceId: this.workspace,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/settings/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/settings/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { unwrapSettingContent } from "../../../convertors/fromBackend/SettingsCo
10
10
  import { objRefToIdentifier } from "../../../utils/api.js";
11
11
  import { TigerFeaturesService, getControlledFeatureRollout, getOrganizationTier, } from "../../features/index.js";
12
12
  import { mapTypeToKey } from "../../settings/mapping.js";
13
+ import { invalidateSettingsResponses, trackSettingsResponse } from "../../settings/responseCacheCoherence.js";
13
14
  import { TigerSettingsService } from "../../settings/settings.js";
14
15
  import { DefaultUserSettings } from "../../uiSettings.js";
15
16
  import { GET_OPTIMIZED_WORKSPACE_PARAMS } from "../constants.js";
@@ -177,7 +178,7 @@ export class TigerWorkspaceSettings extends TigerSettingsService {
177
178
  }));
178
179
  }
179
180
  async updateSetting(type, id, content) {
180
- return this.authCall(async (client) => EntitiesApi_UpdateEntityWorkspaceSettings(client.axios, client.basePath, {
181
+ const result = await this.authCall(async (client) => EntitiesApi_UpdateEntityWorkspaceSettings(client.axios, client.basePath, {
181
182
  workspaceId: this.workspace,
182
183
  objectId: id,
183
184
  jsonApiWorkspaceSettingInDocument: {
@@ -191,9 +192,11 @@ export class TigerWorkspaceSettings extends TigerSettingsService {
191
192
  },
192
193
  },
193
194
  }));
195
+ await invalidateSettingsResponses(this.authCall);
196
+ return result;
194
197
  }
195
198
  async createSetting(type, id, content) {
196
- return this.authCall(async (client) => EntitiesApi_CreateEntityWorkspaceSettings(client.axios, client.basePath, {
199
+ const result = await this.authCall(async (client) => EntitiesApi_CreateEntityWorkspaceSettings(client.axios, client.basePath, {
197
200
  workspaceId: this.workspace,
198
201
  jsonApiWorkspaceSettingPostOptionalIdDocument: {
199
202
  data: {
@@ -206,14 +209,26 @@ export class TigerWorkspaceSettings extends TigerSettingsService {
206
209
  },
207
210
  },
208
211
  }));
212
+ await invalidateSettingsResponses(this.authCall);
213
+ return result;
209
214
  }
210
215
  async deleteSettingByType(type) {
211
216
  const settings = await this.getSettingByType(type);
212
- for (const setting of settings.data.data) {
213
- await this.authCall(async (client) => EntitiesApi_DeleteEntityWorkspaceSettings(client.axios, client.basePath, {
214
- workspaceId: this.workspace,
215
- objectId: setting.id,
216
- }));
217
+ let deleted = false;
218
+ try {
219
+ for (const setting of settings.data.data) {
220
+ await this.authCall(async (client) => EntitiesApi_DeleteEntityWorkspaceSettings(client.axios, client.basePath, {
221
+ workspaceId: this.workspace,
222
+ objectId: setting.id,
223
+ }));
224
+ deleted = true;
225
+ }
226
+ }
227
+ finally {
228
+ // A failure partway still leaves earlier deletions persisted — invalidate for those.
229
+ if (deleted) {
230
+ await invalidateSettingsResponses(this.authCall);
231
+ }
217
232
  }
218
233
  }
219
234
  }
@@ -232,10 +247,10 @@ function resolveCurrencyFormatOverride(metricFormatOverride) {
232
247
  * @internal
233
248
  */
234
249
  async function resolveSettings(authCall, workspace, excludeUserSettings = false) {
235
- const { data } = await authCall(async (client) => ActionsApi_WorkspaceResolveAllSettings(client.axios, client.basePath, {
250
+ const { data } = await authCall(async (client) => trackSettingsResponse(client.axios, `ws:${workspace}:${excludeUserSettings ? "excludeUser" : "withUser"}`, (requestOptions) => ActionsApi_WorkspaceResolveAllSettings(client.axios, client.basePath, {
236
251
  workspaceId: workspace,
237
252
  excludeUserSettings: excludeUserSettings || undefined,
238
- }));
253
+ }, requestOptions)));
239
254
  const settings = data.reduce((result, setting) => {
240
255
  const key = mapTypeToKey(setting.type, setting.id);
241
256
  if (key === "dateFilterConfig") {
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/AutomationConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,yBAAyB,EAO9B,KAAK,uCAAuC,EAC5C,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAE7B,KAAK,6BAA6B,EAQlC,KAAK,sCAAsC,EAK9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAI9B,KAAK,OAAO,EA0Bf,MAAM,qBAAqB,CAAC;AA0I7B,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,6BAA6B,GAAG,sCAAsC,EAClF,QAAQ,EAAE,4BAA4B,EAAE,GACzC,yBAAyB,CA0H3B;AAED,eAAO,MAAM,kCAAkC,2EAM9C,CAAC;AAkBF,eAAO,MAAM,YAAY,sMAoGxB,CAAC;AA0CF;;;;;;;GAOG;AACH,wBAAgB,yCAAyC,CACrD,MAAM,EAAE,OAAO,EACf,uBAAuB,EAAE,MAAM,GAChC,iBAAiB,GAAG,SAAS,CAgG/B"}
1
+ {"version":3,"file":"AutomationConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/AutomationConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,yBAAyB,EAO9B,KAAK,uCAAuC,EAC5C,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAE7B,KAAK,6BAA6B,EAQlC,KAAK,sCAAsC,EAK9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAI9B,KAAK,OAAO,EA0Bf,MAAM,qBAAqB,CAAC;AA0I7B,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,6BAA6B,GAAG,sCAAsC,EAClF,QAAQ,EAAE,4BAA4B,EAAE,GACzC,yBAAyB,CA0H3B;AAED,eAAO,MAAM,kCAAkC,2EAM9C,CAAC;AAiBF,eAAO,MAAM,YAAY,sMAoGxB,CAAC;AA0CF;;;;;;;GAOG;AACH,wBAAgB,yCAAyC,CACrD,MAAM,EAAE,OAAO,EACf,uBAAuB,EAAE,MAAM,GAChC,iBAAiB,GAAG,SAAS,CAgG/B"}
@@ -157,19 +157,18 @@ export const convertAutomationListToAutomations = (automationList) => {
157
157
  return automationList.data.map((automationObject) => convertAutomation(automationObject, automationList.included ?? []));
158
158
  };
159
159
  /**
160
- * Rows whose stringified value does not parse to a finite number are dropped the toBackend
161
- * converter invariants on finite values, so passing them through would break the next save.
160
+ * The wire value is an untyped string with no type tag. A value that parses to a finite number
161
+ * decodes as a number (legacy NUMBER rows, incl. `Number("") === 0`); everything else passes
162
+ * through as-is, so a STRING value that happens to look numeric decodes as a number too.
162
163
  */
163
164
  function convertParameterItems(items) {
164
- const result = [];
165
- for (const item of items) {
165
+ return items.map((item) => {
166
166
  const value = Number(item.value);
167
- if (!Number.isFinite(value)) {
168
- continue;
169
- }
170
- result.push({ ref: idRef(item.parameter.identifier.id, "parameter"), value });
171
- }
172
- return result;
167
+ return {
168
+ ref: idRef(item.parameter.identifier.id, "parameter"),
169
+ value: Number.isFinite(value) ? value : item.value,
170
+ };
171
+ });
173
172
  }
174
173
  export const convertAlert = (alert, state) => {
175
174
  if (!alert) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-backend-tiger",
3
- "version": "11.48.0-alpha.1",
3
+ "version": "11.48.0-alpha.2",
4
4
  "description": "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN",
5
5
  "license": "MIT",
6
6
  "author": "GoodData",
@@ -33,12 +33,12 @@
33
33
  "ts-invariant": "0.10.3",
34
34
  "tslib": "2.8.1",
35
35
  "uuid": "11.1.1",
36
- "@gooddata/api-client-tiger": "11.48.0-alpha.1",
37
- "@gooddata/sdk-backend-base": "11.48.0-alpha.1",
38
- "@gooddata/sdk-backend-spi": "11.48.0-alpha.1",
39
- "@gooddata/sdk-model": "11.48.0-alpha.1",
40
- "@gooddata/sdk-code-convertors": "11.48.0-alpha.1",
41
- "@gooddata/util": "11.48.0-alpha.1"
36
+ "@gooddata/sdk-backend-base": "11.48.0-alpha.2",
37
+ "@gooddata/api-client-tiger": "11.48.0-alpha.2",
38
+ "@gooddata/sdk-backend-spi": "11.48.0-alpha.2",
39
+ "@gooddata/sdk-code-convertors": "11.48.0-alpha.2",
40
+ "@gooddata/sdk-model": "11.48.0-alpha.2",
41
+ "@gooddata/util": "11.48.0-alpha.2"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@gooddata/fixtures": "3.7.0",
@@ -65,10 +65,10 @@
65
65
  "oxlint-tsgolint": "0.15.0",
66
66
  "typescript": "5.9.3",
67
67
  "vitest": "4.1.8",
68
- "@gooddata/catalog-export": "11.48.0-alpha.1",
69
- "@gooddata/oxlint-config": "11.48.0-alpha.1",
70
- "@gooddata/eslint-config": "11.48.0-alpha.1",
71
- "@gooddata/reference-workspace": "11.48.0-alpha.1"
68
+ "@gooddata/eslint-config": "11.48.0-alpha.2",
69
+ "@gooddata/oxlint-config": "11.48.0-alpha.2",
70
+ "@gooddata/catalog-export": "11.48.0-alpha.2",
71
+ "@gooddata/reference-workspace": "11.48.0-alpha.2"
72
72
  },
73
73
  "scripts": {
74
74
  "_phase:build": "npm run build",