@gooddata/sdk-backend-tiger 11.54.0-alpha.6 → 11.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/backend/workspace/computedAttributes/index.d.ts +2 -1
- package/esm/backend/workspace/computedAttributes/index.d.ts.map +1 -1
- package/esm/backend/workspace/computedAttributes/index.js +26 -1
- package/esm/backend/workspace/index.d.ts +2 -1
- package/esm/backend/workspace/index.d.ts.map +1 -1
- package/esm/backend/workspace/index.js +4 -0
- package/esm/backend/workspace/reports.d.ts +12 -0
- package/esm/backend/workspace/reports.d.ts.map +1 -0
- package/esm/backend/workspace/reports.js +45 -0
- package/esm/convertors/toBackend/ExportDefinitionsConverter.d.ts.map +1 -1
- package/esm/convertors/toBackend/ExportDefinitionsConverter.js +1 -2
- package/esm/sdk-backend-tiger.d.ts +3 -0
- package/esm/types/refTypeMapping.d.ts +3 -0
- package/esm/types/refTypeMapping.d.ts.map +1 -1
- package/package.json +13 -13
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.54.0
|
|
1
|
+
export declare const LIB_VERSION = "11.54.0";
|
|
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.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,eAAe,2EAA2E,CAAC;AAExG,eAAO,MAAM,QAAQ,gCAAgC,CAAC"}
|
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.54.0
|
|
3
|
+
export const LIB_VERSION = "11.54.0";
|
|
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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IGetComputedAttributeOptions, IMeasureExpressionToken, IWorkspaceComputedAttributesService } from "@gooddata/sdk-backend-spi";
|
|
1
|
+
import type { IComputedAttributeReferencing, IGetComputedAttributeOptions, IMeasureExpressionToken, IWorkspaceComputedAttributesService } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
import { type IComputedAttributeMetadataObject, type IComputedAttributeMetadataObjectDefinition, type IMetadataObjectBase, type IMetadataObjectIdentity, type ObjRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
|
|
4
4
|
import { ComputedAttributesQuery } from "./computedAttributesQuery.js";
|
|
@@ -12,6 +12,7 @@ export declare class TigerWorkspaceComputedAttributes implements IWorkspaceCompu
|
|
|
12
12
|
deleteComputedAttribute(ref: ObjRef): Promise<void>;
|
|
13
13
|
getComputedAttribute(ref: ObjRef, options?: IGetComputedAttributeOptions): Promise<IComputedAttributeMetadataObject>;
|
|
14
14
|
getComputedAttributeExpressionTokens(ref: ObjRef): Promise<IMeasureExpressionToken[]>;
|
|
15
|
+
getComputedAttributeReferencingObjects(ref: ObjRef): Promise<IComputedAttributeReferencing>;
|
|
15
16
|
getComputedAttributesQuery(): ComputedAttributesQuery;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/computedAttributes/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/computedAttributes/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACR,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,mCAAmC,EACtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,MAAM,EAEd,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,qBAAa,gCAAiC,YAAW,mCAAmC;IAEpF,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAEE,uBAAuB,CACzB,iBAAiB,EAAE,0CAA0C,GAC9D,OAAO,CAAC,gCAAgC,CAAC,CAgB3C;IAEK,uBAAuB,CACzB,iBAAiB,EAAE,gCAAgC,GACpD,OAAO,CAAC,gCAAgC,CAAC,CAkB3C;IAEK,2BAA2B,CAC7B,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,GAC1E,OAAO,CAAC,gCAAgC,CAAC,CA4B3C;IAEK,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAEY,oBAAoB,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAW3C;IAEY,oCAAoC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA2BjG;IAEY,sCAAsC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAkCvG;IAEM,0BAA0B,IAAI,uBAAuB,CAE3D;CACJ"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import {
|
|
2
|
+
import { MetadataUtilities } from "@gooddata/api-client-tiger";
|
|
3
|
+
import { EntitiesApi_CreateEntityComputedAttributes, EntitiesApi_DeleteEntityComputedAttributes, EntitiesApi_GetAllEntitiesMetrics, EntitiesApi_GetAllEntitiesVisualizationObjects, EntitiesApi_GetEntityComputedAttributes, EntitiesApi_PatchEntityComputedAttributes, EntitiesApi_UpdateEntityComputedAttributes, } from "@gooddata/api-client-tiger/endpoints/entitiesObjects";
|
|
3
4
|
import { isIdentifierRef, } from "@gooddata/sdk-model";
|
|
4
5
|
import { convertComputedAttributeFromBackend } from "../../../convertors/fromBackend/ComputedAttributeConverter.js";
|
|
6
|
+
import { visualizationObjectsItemToInsight } from "../../../convertors/fromBackend/InsightConverter.js";
|
|
7
|
+
import { convertMetricFromBackend } from "../../../convertors/fromBackend/MetricConverter.js";
|
|
5
8
|
import { convertComputedAttributeToBackend } from "../../../convertors/toBackend/ComputedAttributeConverter.js";
|
|
6
9
|
import { objRefToIdentifier } from "../../../utils/api.js";
|
|
7
10
|
import { resolveExpressionToken, tokenizeExpression } from "../measures/measureExpressionTokens.js";
|
|
@@ -114,6 +117,28 @@ export class TigerWorkspaceComputedAttributes {
|
|
|
114
117
|
const maql = computedAttribute.data.attributes.content.maql || "";
|
|
115
118
|
return tokenizeExpression(maql).map((regexToken) => resolveExpressionToken(regexToken, computedAttribute.included ?? [], computedAttribute.data.id));
|
|
116
119
|
}
|
|
120
|
+
async getComputedAttributeReferencingObjects(ref) {
|
|
121
|
+
const id = objRefToIdentifier(ref, this.authCall);
|
|
122
|
+
// A visualization grouping by a computed attribute is the referent that exists today. The
|
|
123
|
+
// backend allows the delete; the catalog refuses it and lists these titles instead.
|
|
124
|
+
const insights = this.authCall((client) => MetadataUtilities.getAllPagesOf(client, EntitiesApi_GetAllEntitiesVisualizationObjects, {
|
|
125
|
+
workspaceId: this.workspace,
|
|
126
|
+
// return only visualizationObjects that have a link to the given computed attribute
|
|
127
|
+
filter: `computedAttributes.id==${id}`,
|
|
128
|
+
})
|
|
129
|
+
.then(MetadataUtilities.mergeEntitiesResults)
|
|
130
|
+
.then((visualizationObjects) => visualizationObjects.data.map((visualizationObject) => visualizationObjectsItemToInsight(visualizationObject, visualizationObjects.included))));
|
|
131
|
+
// Reports nothing until a metric can reference a computed attribute (pending backend support).
|
|
132
|
+
const measures = this.authCall((client) => MetadataUtilities.getAllPagesOf(client, EntitiesApi_GetAllEntitiesMetrics, {
|
|
133
|
+
workspaceId: this.workspace,
|
|
134
|
+
include: ["computedAttributes"],
|
|
135
|
+
filter: `computedAttributes.id==${id}`,
|
|
136
|
+
})
|
|
137
|
+
.then(MetadataUtilities.mergeEntitiesResults)
|
|
138
|
+
.then((metrics) => metrics.data.map((metric) => convertMetricFromBackend(metric, metrics.included))));
|
|
139
|
+
const [insightList, measureList] = await Promise.all([insights, measures]);
|
|
140
|
+
return { insights: insightList, measures: measureList };
|
|
141
|
+
}
|
|
117
142
|
getComputedAttributesQuery() {
|
|
118
143
|
return new ComputedAttributesQuery(this.authCall, { workspaceId: this.workspace });
|
|
119
144
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type IAnalyticalWorkspace, type IAttributeHierarchiesService, type IDataFiltersService, type IDateFilterConfigsQuery, type IExecutionFactory, type IGenAIService, type IReferencesService, type IWorkspaceAccessControlService, type IWorkspaceAgentsService, type IWorkspaceAttributesService, type IWorkspaceAutomationService, type IWorkspaceCatalogFactory, type IWorkspaceComputedAttributesService, type IWorkspaceDashboardsService, type IWorkspaceDatasetsService, type IWorkspaceDescriptor, type IWorkspaceDescriptorUpdate, type IWorkspaceExportDefinitionsService, type IWorkspaceExportTemplatesService, type IWorkspaceFactsService, type IWorkspaceInsightsService, type IWorkspaceKeyDriverAnalysisService, type IWorkspaceLogicalModelService, type IWorkspaceMeasuresService, type IWorkspaceObjectPermissionsService, type IWorkspaceParametersService, type IWorkspacePermissionsService, type IWorkspaceSettingsService, type IWorkspaceStylingService, type IWorkspaceUserGroupsQuery, type IWorkspaceUsersQuery } from "@gooddata/sdk-backend-spi";
|
|
1
|
+
import { type IAnalyticalWorkspace, type IAttributeHierarchiesService, type IDataFiltersService, type IDateFilterConfigsQuery, type IExecutionFactory, type IGenAIService, type IReferencesService, type IWorkspaceAccessControlService, type IWorkspaceAgentsService, type IWorkspaceAttributesService, type IWorkspaceAutomationService, type IWorkspaceCatalogFactory, type IWorkspaceComputedAttributesService, type IWorkspaceDashboardsService, type IWorkspaceDatasetsService, type IWorkspaceDescriptor, type IWorkspaceDescriptorUpdate, type IWorkspaceExportDefinitionsService, type IWorkspaceExportTemplatesService, type IWorkspaceFactsService, type IWorkspaceInsightsService, type IWorkspaceKeyDriverAnalysisService, type IWorkspaceLogicalModelService, type IWorkspaceMeasuresService, type IWorkspaceObjectPermissionsService, type IWorkspaceParametersService, type IWorkspacePermissionsService, type IWorkspaceReportsService, type IWorkspaceSettingsService, type IWorkspaceStylingService, type IWorkspaceUserGroupsQuery, type IWorkspaceUsersQuery } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
import { type DateFormatter, type DateNormalizer, type DateStringifier } from "../../convertors/fromBackend/dateFormatting/types.js";
|
|
3
3
|
import { type TigerAuthenticatedCallGuard } from "../../types/index.js";
|
|
4
4
|
export declare class TigerWorkspace implements IAnalyticalWorkspace {
|
|
@@ -40,5 +40,6 @@ export declare class TigerWorkspace implements IAnalyticalWorkspace {
|
|
|
40
40
|
genAI(): IGenAIService;
|
|
41
41
|
references(): IReferencesService;
|
|
42
42
|
exportTemplates(): IWorkspaceExportTemplatesService;
|
|
43
|
+
reports(): IWorkspaceReportsService;
|
|
43
44
|
}
|
|
44
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backend/workspace/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,mCAAmC,EACxC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,EACvC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAE5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACvB,MAAM,sDAAsD,CAAC;AAG9D,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backend/workspace/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ import { TigerWorkspaceObjectPermissionsService } from "./objectPermissions/inde
|
|
|
29
29
|
import { TigerWorkspaceParameters } from "./parameters/index.js";
|
|
30
30
|
import { TigerWorkspacePermissionsFactory } from "./permissions/index.js";
|
|
31
31
|
import { TigerReferencesService } from "./references/index.js";
|
|
32
|
+
import { getTigerWorkspaceReportsService } from "./reports.js";
|
|
32
33
|
import { TigerWorkspaceSettings } from "./settings/index.js";
|
|
33
34
|
import { TigerWorkspaceStyling } from "./styling/index.js";
|
|
34
35
|
import { TigerWorkspaceUsersQuery } from "./users/index.js";
|
|
@@ -166,4 +167,7 @@ export class TigerWorkspace {
|
|
|
166
167
|
exportTemplates() {
|
|
167
168
|
return new WorkspaceExportTemplatesService(this.authCall, this.workspace);
|
|
168
169
|
}
|
|
170
|
+
reports() {
|
|
171
|
+
return getTigerWorkspaceReportsService(this.workspace);
|
|
172
|
+
}
|
|
169
173
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InMemoryWorkspaceReportsService } from "@gooddata/sdk-backend-base";
|
|
2
|
+
/**
|
|
3
|
+
* Temporary implementation used until the backend entities (reportPageLayout, reportTemplate,
|
|
4
|
+
* report) exist: serves the built-in report page layouts and persists created objects to
|
|
5
|
+
* localStorage, scoped per workspace, so a UI built on the SPI works across page reloads.
|
|
6
|
+
* Falls back to plain in-memory state where localStorage is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TigerWorkspaceReportsService extends InMemoryWorkspaceReportsService {
|
|
9
|
+
constructor(workspace: string);
|
|
10
|
+
}
|
|
11
|
+
export declare function getTigerWorkspaceReportsService(workspace: string): TigerWorkspaceReportsService;
|
|
12
|
+
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/backend/workspace/reports.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,+BAA+B,EAClC,MAAM,4BAA4B,CAAC;AAsBpC;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,+BAA+B;IAC7E,YAAY,SAAS,EAAE,MAAM,EAE5B;CACJ;AAQD,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAO/F"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { InMemoryWorkspaceReportsService, } from "@gooddata/sdk-backend-base";
|
|
3
|
+
function localStoragePersistence(workspace) {
|
|
4
|
+
// Reading the accessor itself throws a SecurityError in opaque-origin sandboxed
|
|
5
|
+
// frames and under storage-blocking privacy settings, so the probe is guarded too.
|
|
6
|
+
let storage;
|
|
7
|
+
try {
|
|
8
|
+
if (typeof localStorage === "undefined") {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
storage = localStorage;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const key = `gd.reports.${workspace}`;
|
|
17
|
+
return {
|
|
18
|
+
load: () => storage.getItem(key),
|
|
19
|
+
save: (value) => storage.setItem(key, value),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Temporary implementation used until the backend entities (reportPageLayout, reportTemplate,
|
|
24
|
+
* report) exist: serves the built-in report page layouts and persists created objects to
|
|
25
|
+
* localStorage, scoped per workspace, so a UI built on the SPI works across page reloads.
|
|
26
|
+
* Falls back to plain in-memory state where localStorage is unavailable.
|
|
27
|
+
*/
|
|
28
|
+
export class TigerWorkspaceReportsService extends InMemoryWorkspaceReportsService {
|
|
29
|
+
constructor(workspace) {
|
|
30
|
+
super(localStoragePersistence(workspace));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// One service instance per workspace for the process lifetime. With localStorage the
|
|
34
|
+
// service reads persisted state through on every operation, so instances converge even
|
|
35
|
+
// across tabs; the cache only matters where no storage exists (node), and there the
|
|
36
|
+
// state is per-process scratch data for development, not tenant data.
|
|
37
|
+
const servicesByWorkspace = new Map();
|
|
38
|
+
export function getTigerWorkspaceReportsService(workspace) {
|
|
39
|
+
let service = servicesByWorkspace.get(workspace);
|
|
40
|
+
if (!service) {
|
|
41
|
+
service = new TigerWorkspaceReportsService(workspace);
|
|
42
|
+
servicesByWorkspace.set(workspace, service);
|
|
43
|
+
}
|
|
44
|
+
return service;
|
|
45
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportDefinitionsConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/toBackend/ExportDefinitionsConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,oCAAoC,EACzC,KAAK,+BAA+B,EAEpC,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,6CAA6C,EAClD,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAE3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,yBAAyB,EAAmB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,wCAAwC,EAC7C,KAAK,yCAAyC,EAC9C,KAAK,+BAA+B,EACpC,KAAK,kDAAkD,EAG1D,MAAM,qBAAqB,CAAC;AA8B7B,eAAO,MAAM,yCAAyC,gHAgBrD,CAAC;AAEF,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ExportDefinitionsConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/toBackend/ExportDefinitionsConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,oCAAoC,EACzC,KAAK,+BAA+B,EAEpC,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,6CAA6C,EAClD,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAE3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,yBAAyB,EAAmB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,wCAAwC,EAC7C,KAAK,yCAAyC,EAC9C,KAAK,+BAA+B,EACpC,KAAK,kDAAkD,EAG1D,MAAM,qBAAqB,CAAC;AA8B7B,eAAO,MAAM,yCAAyC,gHAgBrD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oNAkFrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,uHAuCvC,CAAC;AAEF,eAAO,MAAM,4BAA4B,qGA0ExC,CAAC;AAEF,eAAO,MAAM,4BAA4B,8GAyCxC,CAAC;AAEF,eAAO,MAAM,sCAAsC,8FA8ClD,CAAC;AAEF,eAAO,MAAM,6BAA6B,sGAiDzC,CAAC;AAEF,eAAO,MAAM,mDAAmD,wGAyC/D,CAAC;AAEF,eAAO,MAAM,qCAAqC,4HA6EjD,CAAC;AAEF,eAAO,MAAM,+BAA+B,wHAY3C,CAAC"}
|
|
@@ -86,8 +86,7 @@ export const convertToRawExportRequest = (exportRequest, widgetExecution, overri
|
|
|
86
86
|
// Round-trip storage only; the backend applies parameters from execution.parameters above.
|
|
87
87
|
parametersByTab: exportRequest.content.parametersByTab,
|
|
88
88
|
}, (value) => value === undefined || (Array.isArray(value) && value.length === 0));
|
|
89
|
-
|
|
90
|
-
const timezone = settings.timezone ?? exportRequest.timezoneId;
|
|
89
|
+
const timezone = exportRequest.timezoneId;
|
|
91
90
|
const settingsWithTimezone = { ...settings, ...(timezone ? { timezone } : {}) };
|
|
92
91
|
const executionSettings = isEmpty(settingsWithTimezone) ? undefined : settingsWithTimezone;
|
|
93
92
|
const delimiter = exportRequest.settings?.delimiter;
|
|
@@ -564,6 +564,9 @@ export declare const convertVisualizationContentToInsight: (content: object, met
|
|
|
564
564
|
memoryItem: TigerObjectType;
|
|
565
565
|
notificationChannel: TigerObjectType;
|
|
566
566
|
parameter: TigerObjectType;
|
|
567
|
+
report: TigerObjectType;
|
|
568
|
+
reportPageLayout: TigerObjectType;
|
|
569
|
+
reportTemplate: TigerObjectType;
|
|
567
570
|
theme: TigerObjectType;
|
|
568
571
|
user: TigerObjectType;
|
|
569
572
|
userDataFilter: TigerObjectType;
|
|
@@ -38,6 +38,9 @@ export declare const objectTypeToTigerIdType: {
|
|
|
38
38
|
memoryItem: TigerObjectType;
|
|
39
39
|
notificationChannel: TigerObjectType;
|
|
40
40
|
parameter: TigerObjectType;
|
|
41
|
+
report: TigerObjectType;
|
|
42
|
+
reportPageLayout: TigerObjectType;
|
|
43
|
+
reportTemplate: TigerObjectType;
|
|
41
44
|
theme: TigerObjectType;
|
|
42
45
|
user: TigerObjectType;
|
|
43
46
|
userDataFilter: TigerObjectType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refTypeMapping.d.ts","sourceRoot":"","sources":["../../src/types/refTypeMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAC9C,yBAAyB,EACzB,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAClG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE;KACjC,SAAS,IAAI,eAAe,GAAG,yBAAyB;CAc5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"refTypeMapping.d.ts","sourceRoot":"","sources":["../../src/types/refTypeMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAC9C,yBAAyB,EACzB,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAClG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE;KACjC,SAAS,IAAI,eAAe,GAAG,yBAAyB;CAc5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,4BAA4B,EAAE,YAAY,CASvF,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,qBAAqB,0CAEjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,uDAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,0CAEvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-backend-tiger",
|
|
3
|
-
"version": "11.54.0
|
|
3
|
+
"version": "11.54.0",
|
|
4
4
|
"description": "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
"ts-invariant": "0.10.3",
|
|
35
35
|
"tslib": "2.8.1",
|
|
36
36
|
"uuid": "11.1.1",
|
|
37
|
-
"@gooddata/api-client-tiger": "11.54.0
|
|
38
|
-
"@gooddata/sdk-backend-
|
|
39
|
-
"@gooddata/sdk-backend-
|
|
40
|
-
"@gooddata/sdk-
|
|
41
|
-
"@gooddata/sdk-
|
|
42
|
-
"@gooddata/util": "11.54.0
|
|
37
|
+
"@gooddata/api-client-tiger": "11.54.0",
|
|
38
|
+
"@gooddata/sdk-backend-base": "11.54.0",
|
|
39
|
+
"@gooddata/sdk-backend-spi": "11.54.0",
|
|
40
|
+
"@gooddata/sdk-model": "11.54.0",
|
|
41
|
+
"@gooddata/sdk-code-convertors": "11.54.0",
|
|
42
|
+
"@gooddata/util": "11.54.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@gooddata/fixtures": "3.7.0",
|
|
46
|
-
"@microsoft/api-documenter": "
|
|
46
|
+
"@microsoft/api-documenter": "7.30.10",
|
|
47
47
|
"@microsoft/api-extractor": "^7.55.2",
|
|
48
48
|
"@types/lodash-es": "^4.17.12",
|
|
49
|
-
"@types/spark-md5": "
|
|
49
|
+
"@types/spark-md5": "3.0.5",
|
|
50
50
|
"@typescript-eslint/eslint-plugin": "8.58.0",
|
|
51
51
|
"@typescript-eslint/parser": "8.58.0",
|
|
52
52
|
"@typescript/native-preview": "7.0.0-dev.20260202.1",
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
"oxlint-tsgolint": "0.15.0",
|
|
67
67
|
"typescript": "5.9.3",
|
|
68
68
|
"vitest": "4.1.8",
|
|
69
|
-
"@gooddata/
|
|
70
|
-
"@gooddata/
|
|
71
|
-
"@gooddata/
|
|
72
|
-
"@gooddata/
|
|
69
|
+
"@gooddata/catalog-export": "11.54.0",
|
|
70
|
+
"@gooddata/eslint-config": "11.54.0",
|
|
71
|
+
"@gooddata/oxlint-config": "11.54.0",
|
|
72
|
+
"@gooddata/reference-workspace": "11.54.0"
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"_phase:build": "npm run build",
|