@gooddata/sdk-backend-base 11.48.0-alpha.4 → 11.48.0-alpha.5
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/cachingBackend/index.d.ts +31 -0
- package/esm/cachingBackend/index.d.ts.map +1 -1
- package/esm/cachingBackend/index.js +92 -0
- package/esm/decoratedBackend/analyticalWorkspace.d.ts.map +1 -1
- package/esm/decoratedBackend/analyticalWorkspace.js +4 -0
- package/esm/decoratedBackend/measures.d.ts +23 -0
- package/esm/decoratedBackend/measures.d.ts.map +1 -0
- package/esm/decoratedBackend/measures.js +43 -0
- package/esm/decoratedBackend/types.d.ts +6 -1
- package/esm/decoratedBackend/types.d.ts.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/sdk-backend-base.d.ts +38 -0
- package/package.json +7 -7
|
@@ -45,6 +45,10 @@ export type CacheControl = {
|
|
|
45
45
|
* Resets all workspace insight caches.
|
|
46
46
|
*/
|
|
47
47
|
resetInsights: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* Resets all workspace measures caches.
|
|
50
|
+
*/
|
|
51
|
+
resetMeasures: () => void;
|
|
48
52
|
/**
|
|
49
53
|
* Convenience method to reset all caches (calls all the particular resets).
|
|
50
54
|
*/
|
|
@@ -254,6 +258,33 @@ export type CachingConfiguration = {
|
|
|
254
258
|
* tweak the `maxFactsWorkspaces` value.
|
|
255
259
|
*/
|
|
256
260
|
maxFactsPerWorkspace?: number;
|
|
261
|
+
/**
|
|
262
|
+
* Maximum number of workspaces for which to cache selected {@link @gooddata/sdk-backend-spi#IWorkspaceMeasuresService} calls.
|
|
263
|
+
* The workspace identifier is used as cache key.
|
|
264
|
+
* For each workspace, there will be a cache entry holding `maxMeasuresPerWorkspace` entries.
|
|
265
|
+
*
|
|
266
|
+
* When limit is reached, cache entries will be evicted using LRU policy.
|
|
267
|
+
*
|
|
268
|
+
* When no maximum number is specified, the cache will be unbounded and no evictions will happen. Unbounded
|
|
269
|
+
* cache may be OK in applications where number of workspaces is small - the cache will be limited
|
|
270
|
+
* naturally and will not grow uncontrollably.
|
|
271
|
+
*
|
|
272
|
+
* When non-positive number is specified, then no caching will be done.
|
|
273
|
+
*/
|
|
274
|
+
maxMeasuresWorkspaces?: number;
|
|
275
|
+
/**
|
|
276
|
+
* Maximum number of measures to cache per workspace.
|
|
277
|
+
*
|
|
278
|
+
* When limit is reached, cache entries will be evicted using LRU policy.
|
|
279
|
+
*
|
|
280
|
+
* When no maximum number is specified, the cache will be unbounded and no evictions will happen. Unbounded
|
|
281
|
+
* measures cache may be OK in applications where number of measures is small and/or they are requested
|
|
282
|
+
* infrequently - the cache will be limited naturally and will not grow uncontrollably.
|
|
283
|
+
*
|
|
284
|
+
* Setting non-positive number here is invalid. If you want to turn off measures caching,
|
|
285
|
+
* tweak the `maxMeasuresWorkspaces` value.
|
|
286
|
+
*/
|
|
287
|
+
maxMeasuresPerWorkspace?: number;
|
|
257
288
|
/**
|
|
258
289
|
* Maximum number of organizations for which to cache organization-level export templates.
|
|
259
290
|
* Organization export templates are organization-level, so typically a single entry suffices.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cachingBackend/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAGH,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cachingBackend/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { DecoratedDataView, DecoratedExecutionFactory, DecoratedExecutionResult,
|
|
|
14
14
|
import { DecoratedWorkspaceFactsService } from "../decoratedBackend/facts.js";
|
|
15
15
|
import { decoratedBackend } from "../decoratedBackend/index.js";
|
|
16
16
|
import { DecoratedWorkspaceInsightsService } from "../decoratedBackend/insights.js";
|
|
17
|
+
import { DecoratedWorkspaceMeasuresService } from "../decoratedBackend/measures.js";
|
|
17
18
|
import { DecoratedOrganizationExportTemplatesService } from "../decoratedBackend/organizationExportTemplates.js";
|
|
18
19
|
import { DecoratedSecuritySettingsService } from "../decoratedBackend/securitySettings.js";
|
|
19
20
|
import { DecoratedWorkspaceExportTemplatesService } from "../decoratedBackend/workspaceExportTemplates.js";
|
|
@@ -1343,6 +1344,85 @@ class WithFactsCaching extends DecoratedWorkspaceFactsService {
|
|
|
1343
1344
|
};
|
|
1344
1345
|
}
|
|
1345
1346
|
//
|
|
1347
|
+
// MEASURES CACHING
|
|
1348
|
+
//
|
|
1349
|
+
function getOrCreateMeasuresCache(ctx, workspace) {
|
|
1350
|
+
const cache = ctx.caches.workspaceMeasures;
|
|
1351
|
+
let cacheEntry = cache.get(workspace);
|
|
1352
|
+
if (!cacheEntry) {
|
|
1353
|
+
cacheEntry = {
|
|
1354
|
+
expressionTokens: new LRUCache({
|
|
1355
|
+
max: ctx.config.maxMeasuresPerWorkspace,
|
|
1356
|
+
}),
|
|
1357
|
+
referencingObjects: new LRUCache({
|
|
1358
|
+
max: ctx.config.maxMeasuresPerWorkspace,
|
|
1359
|
+
}),
|
|
1360
|
+
};
|
|
1361
|
+
cache.set(workspace, cacheEntry);
|
|
1362
|
+
}
|
|
1363
|
+
return cacheEntry;
|
|
1364
|
+
}
|
|
1365
|
+
class WithMeasuresCaching extends DecoratedWorkspaceMeasuresService {
|
|
1366
|
+
ctx;
|
|
1367
|
+
workspace;
|
|
1368
|
+
constructor(decorated, ctx, workspace) {
|
|
1369
|
+
super(decorated);
|
|
1370
|
+
this.ctx = ctx;
|
|
1371
|
+
this.workspace = workspace;
|
|
1372
|
+
}
|
|
1373
|
+
getMeasureExpressionTokens = (ref) => {
|
|
1374
|
+
const cache = getOrCreateMeasuresCache(this.ctx, this.workspace).expressionTokens;
|
|
1375
|
+
const idCacheKey = isIdentifierRef(ref) ? ref.identifier : undefined;
|
|
1376
|
+
const uriCacheKey = isUriRef(ref) ? ref.uri : undefined;
|
|
1377
|
+
let cacheItem = firstDefined([idCacheKey, uriCacheKey].map((key) => key && cache.get(key)));
|
|
1378
|
+
if (!cacheItem) {
|
|
1379
|
+
cacheItem = super.getMeasureExpressionTokens(ref).catch((e) => {
|
|
1380
|
+
if (idCacheKey) {
|
|
1381
|
+
cache.delete(idCacheKey);
|
|
1382
|
+
}
|
|
1383
|
+
if (uriCacheKey) {
|
|
1384
|
+
cache.delete(uriCacheKey);
|
|
1385
|
+
}
|
|
1386
|
+
throw e;
|
|
1387
|
+
});
|
|
1388
|
+
if (idCacheKey) {
|
|
1389
|
+
cache.set(idCacheKey, cacheItem);
|
|
1390
|
+
}
|
|
1391
|
+
if (uriCacheKey) {
|
|
1392
|
+
cache.set(uriCacheKey, cacheItem);
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
return cacheItem;
|
|
1396
|
+
};
|
|
1397
|
+
getMeasureReferencingObjects = (measureRef) => {
|
|
1398
|
+
const cache = getOrCreateMeasuresCache(this.ctx, this.workspace).referencingObjects;
|
|
1399
|
+
const idCacheKey = isIdentifierRef(measureRef) ? measureRef.identifier : undefined;
|
|
1400
|
+
const uriCacheKey = isUriRef(measureRef) ? measureRef.uri : undefined;
|
|
1401
|
+
let cacheItem = firstDefined([idCacheKey, uriCacheKey].map((key) => key && cache.get(key)));
|
|
1402
|
+
if (!cacheItem) {
|
|
1403
|
+
cacheItem = super.getMeasureReferencingObjects(measureRef).catch((e) => {
|
|
1404
|
+
if (idCacheKey) {
|
|
1405
|
+
cache.delete(idCacheKey);
|
|
1406
|
+
}
|
|
1407
|
+
if (uriCacheKey) {
|
|
1408
|
+
cache.delete(uriCacheKey);
|
|
1409
|
+
}
|
|
1410
|
+
throw e;
|
|
1411
|
+
});
|
|
1412
|
+
if (idCacheKey) {
|
|
1413
|
+
cache.set(idCacheKey, cacheItem);
|
|
1414
|
+
}
|
|
1415
|
+
if (uriCacheKey) {
|
|
1416
|
+
cache.set(uriCacheKey, cacheItem);
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1419
|
+
return cacheItem;
|
|
1420
|
+
};
|
|
1421
|
+
}
|
|
1422
|
+
function cachedMeasures(ctx) {
|
|
1423
|
+
return (original, workspace) => new WithMeasuresCaching(original, ctx, workspace);
|
|
1424
|
+
}
|
|
1425
|
+
//
|
|
1346
1426
|
// ORGANIZATION EXPORT TEMPLATES CACHING
|
|
1347
1427
|
//
|
|
1348
1428
|
class WithOrganizationExportTemplatesCaching extends DecoratedOrganizationExportTemplatesService {
|
|
@@ -1600,6 +1680,9 @@ function cacheControl(ctx) {
|
|
|
1600
1680
|
resetInsights: () => {
|
|
1601
1681
|
ctx.caches.workspaceInsights?.clear();
|
|
1602
1682
|
},
|
|
1683
|
+
resetMeasures: () => {
|
|
1684
|
+
ctx.caches.workspaceMeasures?.clear();
|
|
1685
|
+
},
|
|
1603
1686
|
resetAll: () => {
|
|
1604
1687
|
control.resetExecutions();
|
|
1605
1688
|
control.resetCatalogs();
|
|
@@ -1610,6 +1693,7 @@ function cacheControl(ctx) {
|
|
|
1610
1693
|
control.resetGeoStyles();
|
|
1611
1694
|
control.resetExportTemplates();
|
|
1612
1695
|
control.resetInsights();
|
|
1696
|
+
control.resetMeasures();
|
|
1613
1697
|
},
|
|
1614
1698
|
};
|
|
1615
1699
|
return control;
|
|
@@ -1643,6 +1727,8 @@ export const RecommendedCachingConfiguration = {
|
|
|
1643
1727
|
maxInsightsPerWorkspace: 50,
|
|
1644
1728
|
maxFactsWorkspaces: 1,
|
|
1645
1729
|
maxFactsPerWorkspace: 500,
|
|
1730
|
+
maxMeasuresWorkspaces: 1,
|
|
1731
|
+
maxMeasuresPerWorkspace: 100,
|
|
1646
1732
|
maxExportTemplatesOrgs: 1,
|
|
1647
1733
|
maxExportTemplatesWorkspaces: 1,
|
|
1648
1734
|
cacheGeoStyles: true,
|
|
@@ -1671,6 +1757,7 @@ export function withCaching(realBackend, config) {
|
|
|
1671
1757
|
const automationsCaching = cachingEnabled(config.maxAutomationsWorkspaces);
|
|
1672
1758
|
const insightsCaching = cachingEnabled(config.maxInsightsPerWorkspace);
|
|
1673
1759
|
const factsCaching = cachingEnabled(config.maxFactsWorkspaces);
|
|
1760
|
+
const measuresCaching = cachingEnabled(config.maxMeasuresWorkspaces);
|
|
1674
1761
|
// Backward compatibility: `maxExportTemplatesWorkspaces` used to be the (deprecated) alias that
|
|
1675
1762
|
// sized the org export-templates cache. It now primarily drives workspace caching, but callers
|
|
1676
1763
|
// that only set the old name must keep getting org caching until the alias is removed.
|
|
@@ -1702,6 +1789,9 @@ export function withCaching(realBackend, config) {
|
|
|
1702
1789
|
? new LRUCache({ max: config.maxInsightsPerWorkspace })
|
|
1703
1790
|
: undefined,
|
|
1704
1791
|
workspaceFacts: factsCaching ? new LRUCache({ max: config.maxFactsWorkspaces }) : undefined,
|
|
1792
|
+
workspaceMeasures: measuresCaching
|
|
1793
|
+
? new LRUCache({ max: config.maxMeasuresWorkspaces })
|
|
1794
|
+
: undefined,
|
|
1705
1795
|
organizationExportTemplates: exportTemplatesCaching
|
|
1706
1796
|
? new LRUCache({ max: orgExportTemplatesMax })
|
|
1707
1797
|
: undefined,
|
|
@@ -1725,6 +1815,7 @@ export function withCaching(realBackend, config) {
|
|
|
1725
1815
|
const automations = automationsCaching ? cachedAutomations(ctx) : (v) => v;
|
|
1726
1816
|
const insights = insightsCaching ? cachedInsights(ctx) : (v) => v;
|
|
1727
1817
|
const facts = factsCaching ? cachedFacts(ctx) : (v) => v;
|
|
1818
|
+
const measures = measuresCaching ? cachedMeasures(ctx) : (v) => v;
|
|
1728
1819
|
const organizationExportTemplates = exportTemplatesCaching
|
|
1729
1820
|
? cachedOrganizationExportTemplates(ctx)
|
|
1730
1821
|
: undefined;
|
|
@@ -1745,6 +1836,7 @@ export function withCaching(realBackend, config) {
|
|
|
1745
1836
|
automations,
|
|
1746
1837
|
insights,
|
|
1747
1838
|
facts,
|
|
1839
|
+
measures,
|
|
1748
1840
|
organizationExportTemplates,
|
|
1749
1841
|
workspaceExportTemplates,
|
|
1750
1842
|
geo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyticalWorkspace.d.ts","sourceRoot":"","sources":["../../src/decoratedBackend/analyticalWorkspace.ts"],"names":[],"mappings":"AAEA,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,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,EAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,qBAAa,4BAA6B,YAAW,oBAAoB;IAC9D,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,SAAS,EAAE,oBAAoB,EAAE,SAAS,EAAE,kBAAkB,EAIzE;IAEM,aAAa,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEnF;IAEM,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAE7F;IAEM,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAErE;IAEM,UAAU,IAAI,2BAA2B,CAQ/C;IAEM,SAAS,IAAI,iBAAiB,CAQpC;IAEM,OAAO,IAAI,wBAAwB,CAQzC;IAEM,iBAAiB,IAAI,kCAAkC,CAE7D;IAEM,QAAQ,IAAI,yBAAyB,
|
|
1
|
+
{"version":3,"file":"analyticalWorkspace.d.ts","sourceRoot":"","sources":["../../src/decoratedBackend/analyticalWorkspace.ts"],"names":[],"mappings":"AAEA,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,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,EAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,qBAAa,4BAA6B,YAAW,oBAAoB;IAC9D,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,SAAS,EAAE,oBAAoB,EAAE,SAAS,EAAE,kBAAkB,EAIzE;IAEM,aAAa,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEnF;IAEM,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAE7F;IAEM,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAErE;IAEM,UAAU,IAAI,2BAA2B,CAQ/C;IAEM,SAAS,IAAI,iBAAiB,CAQpC;IAEM,OAAO,IAAI,wBAAwB,CAQzC;IAEM,iBAAiB,IAAI,kCAAkC,CAE7D;IAEM,QAAQ,IAAI,yBAAyB,CAQ3C;IAEM,UAAU,IAAI,2BAA2B,CAE/C;IAEM,KAAK,IAAI,sBAAsB,CAQrC;IAEM,QAAQ,IAAI,yBAAyB,CAQ3C;IAEM,UAAU,IAAI,2BAA2B,CAQ/C;IAEM,QAAQ,IAAI,yBAAyB,CAQ3C;IAEM,OAAO,IAAI,wBAAwB,CAEzC;IAEM,QAAQ,IAAI,yBAAyB,CAE3C;IAEM,WAAW,IAAI,4BAA4B,CAEjD;IAEM,KAAK,IAAI,oBAAoB,CAEnC;IAEM,iBAAiB,IAAI,uBAAuB,CAElD;IAEM,UAAU,IAAI,yBAAyB,CAE7C;IAEM,aAAa,IAAI,8BAA8B,CAErD;IAEM,iBAAiB,IAAI,kCAAkC,CAE7D;IAEM,oBAAoB,IAAI,4BAA4B,CAE1D;IAEM,MAAM,IAAI,uBAAuB,CAEvC;IAEM,iBAAiB,IAAI,kCAAkC,CAE7D;IAEM,WAAW,IAAI,mBAAmB,CAExC;IAEM,YAAY,IAAI,6BAA6B,CAEnD;IAEM,WAAW,IAAI,2BAA2B,CAQhD;IAEM,KAAK,IAAI,aAAa,CAE5B;IAEM,UAAU,IAAI,kBAAkB,CAEtC;IAEM,eAAe,IAAI,gCAAgC,CAQzD;CACJ"}
|
|
@@ -42,6 +42,10 @@ export class AnalyticalWorkspaceDecorator {
|
|
|
42
42
|
return this.decorated.keyDriverAnalysis();
|
|
43
43
|
}
|
|
44
44
|
measures() {
|
|
45
|
+
const { measures } = this.factories;
|
|
46
|
+
if (measures) {
|
|
47
|
+
return measures(this.decorated.measures(), this.workspace);
|
|
48
|
+
}
|
|
45
49
|
return this.decorated.measures();
|
|
46
50
|
}
|
|
47
51
|
parameters() {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type IGetMeasureOptions, type IMeasureExpressionToken, type IMeasureKeyDrivers, type IMeasureReferencing, type IMeasuresQuery, type IWorkspaceMeasuresService } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { type IMeasure, type IMeasureMetadataObject, type IMeasureMetadataObjectDefinition, type IMetadataObjectBase, type IMetadataObjectIdentity, type IObjectCertificationWrite, type ObjRef } from "@gooddata/sdk-model";
|
|
3
|
+
/**
|
|
4
|
+
* @alpha
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class DecoratedWorkspaceMeasuresService implements IWorkspaceMeasuresService {
|
|
7
|
+
protected readonly decorated: IWorkspaceMeasuresService;
|
|
8
|
+
protected constructor(decorated: IWorkspaceMeasuresService);
|
|
9
|
+
computeKeyDrivers(measure: IMeasure, options?: {
|
|
10
|
+
sortDirection: "ASC" | "DESC";
|
|
11
|
+
}): Promise<IMeasureKeyDrivers>;
|
|
12
|
+
getMeasureExpressionTokens(ref: ObjRef): Promise<IMeasureExpressionToken[]>;
|
|
13
|
+
createMeasure(measure: IMeasureMetadataObjectDefinition): Promise<IMeasureMetadataObject>;
|
|
14
|
+
updateMeasure(measure: IMeasureMetadataObject): Promise<IMeasureMetadataObject>;
|
|
15
|
+
updateMeasureMeta(measure: Partial<IMetadataObjectBase> & IMetadataObjectIdentity): Promise<IMeasureMetadataObject>;
|
|
16
|
+
setCertification(ref: ObjRef, certification?: IObjectCertificationWrite): Promise<void>;
|
|
17
|
+
deleteMeasure(measureRef: ObjRef): Promise<void>;
|
|
18
|
+
getMeasureReferencingObjects(measureRef: ObjRef): Promise<IMeasureReferencing>;
|
|
19
|
+
getMeasuresQuery(): IMeasuresQuery;
|
|
20
|
+
getMeasure(ref: ObjRef, options?: IGetMeasureOptions): Promise<IMeasureMetadataObject>;
|
|
21
|
+
getConnectedAttributes(definition: IMeasure, auxMeasures?: IMeasure[]): Promise<ObjRef[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=measures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measures.d.ts","sourceRoot":"","sources":["../../src/decoratedBackend/measures.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,8BAAsB,iCAAkC,YAAW,yBAAyB;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,yBAAyB;IAA7E,SAAS,aAAgC,SAAS,EAAE,yBAAyB,EAAI;IAEjF,iBAAiB,CACb,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;QACN,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;KACjC,GACF,OAAO,CAAC,kBAAkB,CAAC,CAE7B;IAED,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAE1E;IAED,aAAa,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAExF;IAED,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAE9E;IAED,iBAAiB,CACb,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,GAChE,OAAO,CAAC,sBAAsB,CAAC,CAEjC;IAED,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;IAED,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE7E;IAED,gBAAgB,IAAI,cAAc,CAEjC;IAED,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAErF;IAED,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAExF;CACJ"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
/**
|
|
3
|
+
* @alpha
|
|
4
|
+
*/
|
|
5
|
+
export class DecoratedWorkspaceMeasuresService {
|
|
6
|
+
decorated;
|
|
7
|
+
constructor(decorated) {
|
|
8
|
+
this.decorated = decorated;
|
|
9
|
+
}
|
|
10
|
+
computeKeyDrivers(measure, options) {
|
|
11
|
+
return this.decorated.computeKeyDrivers(measure, options);
|
|
12
|
+
}
|
|
13
|
+
getMeasureExpressionTokens(ref) {
|
|
14
|
+
return this.decorated.getMeasureExpressionTokens(ref);
|
|
15
|
+
}
|
|
16
|
+
createMeasure(measure) {
|
|
17
|
+
return this.decorated.createMeasure(measure);
|
|
18
|
+
}
|
|
19
|
+
updateMeasure(measure) {
|
|
20
|
+
return this.decorated.updateMeasure(measure);
|
|
21
|
+
}
|
|
22
|
+
updateMeasureMeta(measure) {
|
|
23
|
+
return this.decorated.updateMeasureMeta(measure);
|
|
24
|
+
}
|
|
25
|
+
setCertification(ref, certification) {
|
|
26
|
+
return this.decorated.setCertification(ref, certification);
|
|
27
|
+
}
|
|
28
|
+
deleteMeasure(measureRef) {
|
|
29
|
+
return this.decorated.deleteMeasure(measureRef);
|
|
30
|
+
}
|
|
31
|
+
getMeasureReferencingObjects(measureRef) {
|
|
32
|
+
return this.decorated.getMeasureReferencingObjects(measureRef);
|
|
33
|
+
}
|
|
34
|
+
getMeasuresQuery() {
|
|
35
|
+
return this.decorated.getMeasuresQuery();
|
|
36
|
+
}
|
|
37
|
+
getMeasure(ref, options) {
|
|
38
|
+
return this.decorated.getMeasure(ref, options);
|
|
39
|
+
}
|
|
40
|
+
getConnectedAttributes(definition, auxMeasures) {
|
|
41
|
+
return this.decorated.getConnectedAttributes(definition, auxMeasures);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type IExecutionFactory, type IGeoService, type IOrganizationExportTemplatesService, type ISecuritySettingsService, type IWorkspaceAttributesService, type IWorkspaceAutomationService, type IWorkspaceCatalogFactory, type IWorkspaceDashboardsService, type IWorkspaceExportTemplatesService, type IWorkspaceFactsService, type IWorkspaceInsightsService, type IWorkspaceSettingsService } from "@gooddata/sdk-backend-spi";
|
|
1
|
+
import { type IExecutionFactory, type IGeoService, type IOrganizationExportTemplatesService, type ISecuritySettingsService, type IWorkspaceAttributesService, type IWorkspaceAutomationService, type IWorkspaceCatalogFactory, type IWorkspaceDashboardsService, type IWorkspaceExportTemplatesService, type IWorkspaceFactsService, type IWorkspaceInsightsService, type IWorkspaceMeasuresService, type IWorkspaceSettingsService } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
/**
|
|
3
3
|
* @alpha
|
|
4
4
|
*/
|
|
@@ -23,6 +23,10 @@ export type AttributesDecoratorFactory = (attributes: IWorkspaceAttributesServic
|
|
|
23
23
|
* @alpha
|
|
24
24
|
*/
|
|
25
25
|
export type AutomationsDecoratorFactory = (automations: IWorkspaceAutomationService, workspace: string) => IWorkspaceAutomationService;
|
|
26
|
+
/**
|
|
27
|
+
* @alpha
|
|
28
|
+
*/
|
|
29
|
+
export type MeasuresDecoratorFactory = (measures: IWorkspaceMeasuresService, workspace: string) => IWorkspaceMeasuresService;
|
|
26
30
|
/**
|
|
27
31
|
* @alpha
|
|
28
32
|
*/
|
|
@@ -62,6 +66,7 @@ export type DecoratorFactories = {
|
|
|
62
66
|
attributes?: AttributesDecoratorFactory;
|
|
63
67
|
automations?: AutomationsDecoratorFactory;
|
|
64
68
|
insights?: InsightsDecoratorFactory;
|
|
69
|
+
measures?: MeasuresDecoratorFactory;
|
|
65
70
|
dashboards?: DashboardsDecoratorFactory;
|
|
66
71
|
facts?: FactsDecoratorFactory;
|
|
67
72
|
geo?: GeoDecoratorFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/decoratedBackend/types.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EACjC,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;AAEnG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,wBAAwB,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC3C,gBAAgB,EAAE,wBAAwB,KACzC,wBAAwB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC5C,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,KAChB,yBAAyB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACrC,UAAU,EAAE,2BAA2B,EACvC,SAAS,EAAE,MAAM,KAChB,2BAA2B,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACtC,WAAW,EAAE,2BAA2B,EACxC,SAAS,EAAE,MAAM,KAChB,2BAA2B,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACrC,UAAU,EAAE,2BAA2B,EACvC,SAAS,EAAE,MAAM,KAChB,2BAA2B,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACnC,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,KAChB,yBAAyB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAChC,KAAK,EAAE,sBAAsB,EAC7B,SAAS,EAAE,MAAM,KAChB,sBAAsB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,WAAW,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,2CAA2C,GAAG,CACtD,eAAe,EAAE,mCAAmC,EACpD,cAAc,EAAE,MAAM,KACrB,mCAAmC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAAG,CACnD,eAAe,EAAE,gCAAgC,EACjD,SAAS,EAAE,MAAM,KAChB,gCAAgC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACpD,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACtD,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,2BAA2B,CAAC,EAAE,2CAA2C,CAAC;IAC1E,wBAAwB,CAAC,EAAE,wCAAwC,CAAC;CACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/decoratedBackend/types.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EACjC,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;AAEnG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,wBAAwB,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC3C,gBAAgB,EAAE,wBAAwB,KACzC,wBAAwB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC5C,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,KAChB,yBAAyB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACrC,UAAU,EAAE,2BAA2B,EACvC,SAAS,EAAE,MAAM,KAChB,2BAA2B,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACtC,WAAW,EAAE,2BAA2B,EACxC,SAAS,EAAE,MAAM,KAChB,2BAA2B,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACnC,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,KAChB,yBAAyB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACrC,UAAU,EAAE,2BAA2B,EACvC,SAAS,EAAE,MAAM,KAChB,2BAA2B,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACnC,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,KAChB,yBAAyB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAChC,KAAK,EAAE,sBAAsB,EAC7B,SAAS,EAAE,MAAM,KAChB,sBAAsB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,WAAW,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,2CAA2C,GAAG,CACtD,eAAe,EAAE,mCAAmC,EACpD,cAAc,EAAE,MAAM,KACrB,mCAAmC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAAG,CACnD,eAAe,EAAE,gCAAgC,EACjD,SAAS,EAAE,MAAM,KAChB,gCAAgC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACpD,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACtD,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,2BAA2B,CAAC,EAAE,2CAA2C,CAAC;IAC1E,wBAAwB,CAAC,EAAE,wCAAwC,CAAC;CACvE,CAAC"}
|
package/esm/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { type DummyBackendConfig, dummyBackend, dummyBackendEmptyData, dummyData
|
|
|
12
12
|
export { DummySemanticSearchQueryBuilder } from "./dummyBackend/DummySemanticSearch.js";
|
|
13
13
|
export { DummyGenAIChatThread, DummyChatConversations } from "./dummyBackend/DummyGenAIChatThread.js";
|
|
14
14
|
export { decoratedBackend } from "./decoratedBackend/index.js";
|
|
15
|
-
export type { DecoratorFactories, CatalogDecoratorFactory, ExecutionDecoratorFactory, SecuritySettingsDecoratorFactory, WorkspaceSettingsDecoratorFactory, AutomationsDecoratorFactory, AttributesDecoratorFactory, InsightsDecoratorFactory, DashboardsDecoratorFactory, FactsDecoratorFactory, GeoDecoratorFactory, OrganizationExportTemplatesDecoratorFactory, WorkspaceExportTemplatesDecoratorFactory, } from "./decoratedBackend/types.js";
|
|
15
|
+
export type { DecoratorFactories, CatalogDecoratorFactory, ExecutionDecoratorFactory, SecuritySettingsDecoratorFactory, WorkspaceSettingsDecoratorFactory, AutomationsDecoratorFactory, AttributesDecoratorFactory, InsightsDecoratorFactory, MeasuresDecoratorFactory, DashboardsDecoratorFactory, FactsDecoratorFactory, GeoDecoratorFactory, OrganizationExportTemplatesDecoratorFactory, WorkspaceExportTemplatesDecoratorFactory, } from "./decoratedBackend/types.js";
|
|
16
16
|
export { type PreparedExecutionWrapper, DecoratedExecutionFactory, DecoratedPreparedExecution, DecoratedExecutionResult, } from "./decoratedBackend/execution.js";
|
|
17
17
|
export { DecoratedWorkspaceDashboardsService } from "./decoratedBackend/dashboards.js";
|
|
18
18
|
export { DecoratedWorkspaceInsightsService } from "./decoratedBackend/insights.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,OAAO,EACH,KAAK,kBAAkB,EACvB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,YAAY,EACR,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,2CAA2C,EAC3C,wCAAwC,GAC3C,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,KAAK,wBAAwB,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAEnF,OAAO,EACH,KAAK,uBAAuB,EAC5B,gCAAgC,EAChC,yBAAyB,GAC5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE1F,OAAO,EAAE,2CAA2C,EAAE,MAAM,mDAAmD,CAAC;AAEhH,OAAO,EAAE,wCAAwC,EAAE,MAAM,gDAAgD,CAAC;AAE1G,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAE,KAAK,0BAA0B,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,WAAW,EACX,+BAA+B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,iBAAiB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,UAAU,EACV,YAAY,GACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACH,wBAAwB,EACxB,gCAAgC,EAChC,0CAA0C,GAC7C,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,0BAA0B,EAC1B,sCAAsC,EACtC,KAAK,uCAAuC,GAC/C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,cAAc,EACd,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,YAAY,EACR,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,OAAO,EACP,cAAc,EACd,4BAA4B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,gBAAgB,GACnB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACH,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,YAAY,GACf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,KAAK,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAC1G,OAAO,EACH,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EACH,KAAK,4BAA4B,EACjC,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAEpG,OAAO,EACH,8BAA8B,EAC9B,0BAA0B,GAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,GAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,yCAAyC,EACzC,qCAAqC,GACxC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,KAAK,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAC1G,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,GAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,yBAAyB,EACzB,6BAA6B,GAChC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,0BAA0B,EAC1B,8BAA8B,GACjC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,KAAK,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAE9G,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -170,6 +170,7 @@ import { IWorkspaceDashboardsService } from '@gooddata/sdk-backend-spi';
|
|
|
170
170
|
import { IWorkspaceExportTemplatesService } from '@gooddata/sdk-backend-spi';
|
|
171
171
|
import { IWorkspaceFactsService } from '@gooddata/sdk-backend-spi';
|
|
172
172
|
import { IWorkspaceInsightsService } from '@gooddata/sdk-backend-spi';
|
|
173
|
+
import { IWorkspaceMeasuresService } from '@gooddata/sdk-backend-spi';
|
|
173
174
|
import { IWorkspaceSettings } from '@gooddata/sdk-backend-spi';
|
|
174
175
|
import { IWorkspaceSettingsService } from '@gooddata/sdk-backend-spi';
|
|
175
176
|
import { KpiDrillDefinition } from '@gooddata/sdk-model';
|
|
@@ -476,6 +477,10 @@ export declare type CacheControl = {
|
|
|
476
477
|
* Resets all workspace insight caches.
|
|
477
478
|
*/
|
|
478
479
|
resetInsights: () => void;
|
|
480
|
+
/**
|
|
481
|
+
* Resets all workspace measures caches.
|
|
482
|
+
*/
|
|
483
|
+
resetMeasures: () => void;
|
|
479
484
|
/**
|
|
480
485
|
* Convenience method to reset all caches (calls all the particular resets).
|
|
481
486
|
*/
|
|
@@ -686,6 +691,33 @@ export declare type CachingConfiguration = {
|
|
|
686
691
|
* tweak the `maxFactsWorkspaces` value.
|
|
687
692
|
*/
|
|
688
693
|
maxFactsPerWorkspace?: number;
|
|
694
|
+
/**
|
|
695
|
+
* Maximum number of workspaces for which to cache selected {@link @gooddata/sdk-backend-spi#IWorkspaceMeasuresService} calls.
|
|
696
|
+
* The workspace identifier is used as cache key.
|
|
697
|
+
* For each workspace, there will be a cache entry holding `maxMeasuresPerWorkspace` entries.
|
|
698
|
+
*
|
|
699
|
+
* When limit is reached, cache entries will be evicted using LRU policy.
|
|
700
|
+
*
|
|
701
|
+
* When no maximum number is specified, the cache will be unbounded and no evictions will happen. Unbounded
|
|
702
|
+
* cache may be OK in applications where number of workspaces is small - the cache will be limited
|
|
703
|
+
* naturally and will not grow uncontrollably.
|
|
704
|
+
*
|
|
705
|
+
* When non-positive number is specified, then no caching will be done.
|
|
706
|
+
*/
|
|
707
|
+
maxMeasuresWorkspaces?: number;
|
|
708
|
+
/**
|
|
709
|
+
* Maximum number of measures to cache per workspace.
|
|
710
|
+
*
|
|
711
|
+
* When limit is reached, cache entries will be evicted using LRU policy.
|
|
712
|
+
*
|
|
713
|
+
* When no maximum number is specified, the cache will be unbounded and no evictions will happen. Unbounded
|
|
714
|
+
* measures cache may be OK in applications where number of measures is small and/or they are requested
|
|
715
|
+
* infrequently - the cache will be limited naturally and will not grow uncontrollably.
|
|
716
|
+
*
|
|
717
|
+
* Setting non-positive number here is invalid. If you want to turn off measures caching,
|
|
718
|
+
* tweak the `maxMeasuresWorkspaces` value.
|
|
719
|
+
*/
|
|
720
|
+
maxMeasuresPerWorkspace?: number;
|
|
689
721
|
/**
|
|
690
722
|
* Maximum number of organizations for which to cache organization-level export templates.
|
|
691
723
|
* Organization export templates are organization-level, so typically a single entry suffices.
|
|
@@ -1375,6 +1407,7 @@ export declare type DecoratorFactories = {
|
|
|
1375
1407
|
attributes?: AttributesDecoratorFactory;
|
|
1376
1408
|
automations?: AutomationsDecoratorFactory;
|
|
1377
1409
|
insights?: InsightsDecoratorFactory;
|
|
1410
|
+
measures?: MeasuresDecoratorFactory;
|
|
1378
1411
|
dashboards?: DashboardsDecoratorFactory;
|
|
1379
1412
|
facts?: FactsDecoratorFactory;
|
|
1380
1413
|
geo?: GeoDecoratorFactory;
|
|
@@ -1933,6 +1966,11 @@ export declare class MeasureMetadataObjectBuilder<T extends IMeasureMetadataObje
|
|
|
1933
1966
|
updatedBy(updatedBy?: IUser): this;
|
|
1934
1967
|
}
|
|
1935
1968
|
|
|
1969
|
+
/**
|
|
1970
|
+
* @alpha
|
|
1971
|
+
*/
|
|
1972
|
+
export declare type MeasuresDecoratorFactory = (measures: IWorkspaceMeasuresService, workspace: string) => IWorkspaceMeasuresService;
|
|
1973
|
+
|
|
1936
1974
|
/**
|
|
1937
1975
|
* Merge two bounding boxes into a single covering bounding box.
|
|
1938
1976
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-backend-base",
|
|
3
|
-
"version": "11.48.0-alpha.
|
|
3
|
+
"version": "11.48.0-alpha.5",
|
|
4
4
|
"description": "GoodData.UI SDK - Base for backend implementations",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"ts-invariant": "0.10.3",
|
|
30
30
|
"tslib": "2.8.1",
|
|
31
31
|
"uuid": "11.1.1",
|
|
32
|
-
"@gooddata/sdk-backend-spi": "11.48.0-alpha.
|
|
33
|
-
"@gooddata/sdk-model": "11.48.0-alpha.
|
|
34
|
-
"@gooddata/util": "11.48.0-alpha.
|
|
32
|
+
"@gooddata/sdk-backend-spi": "11.48.0-alpha.5",
|
|
33
|
+
"@gooddata/sdk-model": "11.48.0-alpha.5",
|
|
34
|
+
"@gooddata/util": "11.48.0-alpha.5"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
"oxlint-tsgolint": "0.15.0",
|
|
57
57
|
"typescript": "5.9.3",
|
|
58
58
|
"vitest": "4.1.8",
|
|
59
|
-
"@gooddata/eslint-config": "11.48.0-alpha.
|
|
60
|
-
"@gooddata/oxlint-config": "11.48.0-alpha.
|
|
61
|
-
"@gooddata/reference-workspace": "11.48.0-alpha.
|
|
59
|
+
"@gooddata/eslint-config": "11.48.0-alpha.5",
|
|
60
|
+
"@gooddata/oxlint-config": "11.48.0-alpha.5",
|
|
61
|
+
"@gooddata/reference-workspace": "11.48.0-alpha.5"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"_phase:build": "npm run build",
|