@gooddata/sdk-backend-base 9.0.0-alpha.8 → 9.0.0-beta.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/cachingBackend/index.js +14 -14
- package/esm/cachingBackend/index.js.map +1 -1
- package/esm/customBackend/config.d.ts +2 -2
- package/esm/customBackend/config.d.ts.map +1 -1
- package/esm/customBackend/execution.d.ts +2 -2
- package/esm/customBackend/execution.d.ts.map +1 -1
- package/esm/customBackend/execution.js +2 -2
- package/esm/customBackend/execution.js.map +1 -1
- package/esm/customBackend/index.d.ts +3 -3
- package/esm/customBackend/index.d.ts.map +1 -1
- package/esm/customBackend/index.js +2 -2
- package/esm/customBackend/index.js.map +1 -1
- package/esm/customBackend/workspace.d.ts +1 -1
- package/esm/customBackend/workspace.d.ts.map +1 -1
- package/esm/customBackend/workspace.js +1 -1
- package/esm/customBackend/workspace.js.map +1 -1
- package/esm/decoratedBackend/catalog.js +1 -1
- package/esm/decoratedBackend/catalog.js.map +1 -1
- package/esm/decoratedBackend/execution.js +1 -1
- package/esm/decoratedBackend/execution.js.map +1 -1
- package/esm/decoratedBackend/index.js +1 -1
- package/esm/decoratedBackend/index.js.map +1 -1
- package/esm/dummyBackend/index.js +3 -3
- package/esm/dummyBackend/index.js.map +1 -1
- package/esm/eventingBackend/index.js +3 -3
- package/esm/eventingBackend/index.js.map +1 -1
- package/esm/index.d.ts +37 -37
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +35 -35
- package/esm/index.js.map +1 -1
- package/esm/ldmFactories/catalog/attributeFactory.d.ts +4 -4
- package/esm/ldmFactories/catalog/attributeFactory.d.ts.map +1 -1
- package/esm/ldmFactories/catalog/attributeFactory.js +5 -5
- package/esm/ldmFactories/catalog/attributeFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/dateDatasetFactory.d.ts +4 -4
- package/esm/ldmFactories/catalog/dateDatasetFactory.d.ts.map +1 -1
- package/esm/ldmFactories/catalog/dateDatasetFactory.js +5 -5
- package/esm/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/factFactory.d.ts +3 -3
- package/esm/ldmFactories/catalog/factFactory.d.ts.map +1 -1
- package/esm/ldmFactories/catalog/factFactory.js +4 -4
- package/esm/ldmFactories/catalog/factFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/groupFactory.d.ts +1 -1
- package/esm/ldmFactories/catalog/groupFactory.d.ts.map +1 -1
- package/esm/ldmFactories/catalog/groupFactory.js +2 -2
- package/esm/ldmFactories/catalog/groupFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/measureFactory.d.ts +3 -3
- package/esm/ldmFactories/catalog/measureFactory.d.ts.map +1 -1
- package/esm/ldmFactories/catalog/measureFactory.js +4 -4
- package/esm/ldmFactories/catalog/measureFactory.js.map +1 -1
- package/esm/ldmFactories/dashboard/insightWidgetFactory.d.ts +2 -2
- package/esm/ldmFactories/dashboard/insightWidgetFactory.d.ts.map +1 -1
- package/esm/ldmFactories/dashboard/insightWidgetFactory.js +2 -2
- package/esm/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
- package/esm/ldmFactories/dashboard/kpiWidgetFactory.d.ts +2 -2
- package/esm/ldmFactories/dashboard/kpiWidgetFactory.d.ts.map +1 -1
- package/esm/ldmFactories/dashboard/kpiWidgetFactory.js +3 -3
- package/esm/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
- package/esm/ldmFactories/dashboard/widgetFactory.d.ts +1 -1
- package/esm/ldmFactories/dashboard/widgetFactory.d.ts.map +1 -1
- package/esm/ldmFactories/dashboard/widgetFactory.js +1 -1
- package/esm/ldmFactories/dashboard/widgetFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/attributeFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/attributeFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/attributeFactory.js +3 -3
- package/esm/ldmFactories/metadata/attributeFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/dashboardFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/dashboardFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/dashboardFactory.js +3 -3
- package/esm/ldmFactories/metadata/dashboardFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/dataSetFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/dataSetFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/dataSetFactory.js +3 -3
- package/esm/ldmFactories/metadata/dataSetFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/displayFormFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/displayFormFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/displayFormFactory.js +3 -3
- package/esm/ldmFactories/metadata/displayFormFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/factFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/factFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/factFactory.js +3 -3
- package/esm/ldmFactories/metadata/factFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/factory.d.ts +1 -1
- package/esm/ldmFactories/metadata/factory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/factory.js +1 -1
- package/esm/ldmFactories/metadata/factory.js.map +1 -1
- package/esm/ldmFactories/metadata/measureFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/measureFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/measureFactory.js +3 -3
- package/esm/ldmFactories/metadata/measureFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/variableFactory.d.ts +2 -2
- package/esm/ldmFactories/metadata/variableFactory.d.ts.map +1 -1
- package/esm/ldmFactories/metadata/variableFactory.js +3 -3
- package/esm/ldmFactories/metadata/variableFactory.js.map +1 -1
- package/esm/normalizingBackend/index.d.ts +1 -1
- package/esm/normalizingBackend/index.d.ts.map +1 -1
- package/esm/normalizingBackend/index.js +4 -4
- package/esm/normalizingBackend/index.js.map +1 -1
- package/esm/normalizingBackend/normalizer.d.ts +2 -0
- package/esm/normalizingBackend/normalizer.d.ts.map +1 -1
- package/esm/normalizingBackend/normalizer.js +18 -4
- package/esm/normalizingBackend/normalizer.js.map +1 -1
- package/{dist → esm}/sdk-backend-base.d.ts +2 -0
- package/esm/toolkit/execution.d.ts +1 -1
- package/esm/toolkit/execution.d.ts.map +1 -1
- package/esm/toolkit/execution.js +1 -1
- package/esm/toolkit/execution.js.map +1 -1
- package/esm/toolkit/paging.js +4 -4
- package/esm/toolkit/paging.js.map +1 -1
- package/esm/tsdoc-metadata.json +1 -1
- package/esm/workspaceSettingsBackend/index.js +3 -3
- package/esm/workspaceSettingsBackend/index.js.map +1 -1
- package/package.json +25 -35
- package/dist/cachingBackend/index.d.ts +0 -230
- package/dist/cachingBackend/index.d.ts.map +0 -1
- package/dist/cachingBackend/index.js +0 -579
- package/dist/cachingBackend/index.js.map +0 -1
- package/dist/convertors/fromBackend/afm/result.d.ts +0 -18
- package/dist/convertors/fromBackend/afm/result.d.ts.map +0 -1
- package/dist/convertors/fromBackend/afm/result.js +0 -28
- package/dist/convertors/fromBackend/afm/result.js.map +0 -1
- package/dist/customBackend/config.d.ts +0 -151
- package/dist/customBackend/config.d.ts.map +0 -1
- package/dist/customBackend/config.js +0 -3
- package/dist/customBackend/config.js.map +0 -1
- package/dist/customBackend/execution.d.ts +0 -14
- package/dist/customBackend/execution.d.ts.map +0 -1
- package/dist/customBackend/execution.js +0 -139
- package/dist/customBackend/execution.js.map +0 -1
- package/dist/customBackend/index.d.ts +0 -47
- package/dist/customBackend/index.d.ts.map +0 -1
- package/dist/customBackend/index.js +0 -150
- package/dist/customBackend/index.js.map +0 -1
- package/dist/customBackend/workspace.d.ts +0 -29
- package/dist/customBackend/workspace.d.ts.map +0 -1
- package/dist/customBackend/workspace.js +0 -78
- package/dist/customBackend/workspace.js.map +0 -1
- package/dist/decoratedBackend/attributes.d.ts +0 -19
- package/dist/decoratedBackend/attributes.d.ts.map +0 -1
- package/dist/decoratedBackend/attributes.js +0 -41
- package/dist/decoratedBackend/attributes.js.map +0 -1
- package/dist/decoratedBackend/catalog.d.ts +0 -46
- package/dist/decoratedBackend/catalog.d.ts.map +0 -1
- package/dist/decoratedBackend/catalog.js +0 -70
- package/dist/decoratedBackend/catalog.js.map +0 -1
- package/dist/decoratedBackend/dashboards.d.ts +0 -40
- package/dist/decoratedBackend/dashboards.d.ts.map +0 -1
- package/dist/decoratedBackend/dashboards.js +0 -101
- package/dist/decoratedBackend/dashboards.js.map +0 -1
- package/dist/decoratedBackend/elements.d.ts +0 -66
- package/dist/decoratedBackend/elements.d.ts.map +0 -1
- package/dist/decoratedBackend/elements.js +0 -81
- package/dist/decoratedBackend/elements.js.map +0 -1
- package/dist/decoratedBackend/execution.d.ts +0 -107
- package/dist/decoratedBackend/execution.d.ts.map +0 -1
- package/dist/decoratedBackend/execution.js +0 -152
- package/dist/decoratedBackend/execution.js.map +0 -1
- package/dist/decoratedBackend/index.d.ts +0 -54
- package/dist/decoratedBackend/index.d.ts.map +0 -1
- package/dist/decoratedBackend/index.js +0 -181
- package/dist/decoratedBackend/index.js.map +0 -1
- package/dist/decoratedBackend/securitySettings.d.ts +0 -12
- package/dist/decoratedBackend/securitySettings.d.ts.map +0 -1
- package/dist/decoratedBackend/securitySettings.js +0 -21
- package/dist/decoratedBackend/securitySettings.js.map +0 -1
- package/dist/decoratedBackend/workspaceSettings.d.ts +0 -12
- package/dist/decoratedBackend/workspaceSettings.d.ts.map +0 -1
- package/dist/decoratedBackend/workspaceSettings.js +0 -22
- package/dist/decoratedBackend/workspaceSettings.js.map +0 -1
- package/dist/dummyBackend/index.d.ts +0 -62
- package/dist/dummyBackend/index.d.ts.map +0 -1
- package/dist/dummyBackend/index.js +0 -729
- package/dist/dummyBackend/index.js.map +0 -1
- package/dist/eventingBackend/index.d.ts +0 -74
- package/dist/eventingBackend/index.d.ts.map +0 -1
- package/dist/eventingBackend/index.js +0 -84
- package/dist/eventingBackend/index.js.map +0 -1
- package/dist/index.d.ts +0 -48
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -117
- package/dist/index.js.map +0 -1
- package/dist/ldmFactories/builder.d.ts +0 -75
- package/dist/ldmFactories/builder.d.ts.map +0 -1
- package/dist/ldmFactories/builder.js +0 -59
- package/dist/ldmFactories/builder.js.map +0 -1
- package/dist/ldmFactories/catalog/attributeFactory.d.ts +0 -27
- package/dist/ldmFactories/catalog/attributeFactory.d.ts.map +0 -1
- package/dist/ldmFactories/catalog/attributeFactory.js +0 -63
- package/dist/ldmFactories/catalog/attributeFactory.js.map +0 -1
- package/dist/ldmFactories/catalog/dateDatasetFactory.d.ts +0 -44
- package/dist/ldmFactories/catalog/dateDatasetFactory.d.ts.map +0 -1
- package/dist/ldmFactories/catalog/dateDatasetFactory.js +0 -87
- package/dist/ldmFactories/catalog/dateDatasetFactory.js.map +0 -1
- package/dist/ldmFactories/catalog/factFactory.d.ts +0 -22
- package/dist/ldmFactories/catalog/factFactory.d.ts.map +0 -1
- package/dist/ldmFactories/catalog/factFactory.js +0 -38
- package/dist/ldmFactories/catalog/factFactory.js.map +0 -1
- package/dist/ldmFactories/catalog/groupFactory.d.ts +0 -38
- package/dist/ldmFactories/catalog/groupFactory.d.ts.map +0 -1
- package/dist/ldmFactories/catalog/groupFactory.js +0 -47
- package/dist/ldmFactories/catalog/groupFactory.js.map +0 -1
- package/dist/ldmFactories/catalog/measureFactory.d.ts +0 -23
- package/dist/ldmFactories/catalog/measureFactory.d.ts.map +0 -1
- package/dist/ldmFactories/catalog/measureFactory.js +0 -45
- package/dist/ldmFactories/catalog/measureFactory.js.map +0 -1
- package/dist/ldmFactories/dashboard/insightWidgetFactory.d.ts +0 -31
- package/dist/ldmFactories/dashboard/insightWidgetFactory.d.ts.map +0 -1
- package/dist/ldmFactories/dashboard/insightWidgetFactory.js +0 -45
- package/dist/ldmFactories/dashboard/insightWidgetFactory.js.map +0 -1
- package/dist/ldmFactories/dashboard/kpiWidgetFactory.d.ts +0 -34
- package/dist/ldmFactories/dashboard/kpiWidgetFactory.d.ts.map +0 -1
- package/dist/ldmFactories/dashboard/kpiWidgetFactory.js +0 -55
- package/dist/ldmFactories/dashboard/kpiWidgetFactory.js.map +0 -1
- package/dist/ldmFactories/dashboard/widgetFactory.d.ts +0 -31
- package/dist/ldmFactories/dashboard/widgetFactory.d.ts.map +0 -1
- package/dist/ldmFactories/dashboard/widgetFactory.js +0 -29
- package/dist/ldmFactories/dashboard/widgetFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/attributeFactory.d.ts +0 -24
- package/dist/ldmFactories/metadata/attributeFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/attributeFactory.js +0 -44
- package/dist/ldmFactories/metadata/attributeFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/dashboardFactory.d.ts +0 -21
- package/dist/ldmFactories/metadata/dashboardFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/dashboardFactory.js +0 -28
- package/dist/ldmFactories/metadata/dashboardFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/dataSetFactory.d.ts +0 -21
- package/dist/ldmFactories/metadata/dataSetFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/dataSetFactory.js +0 -28
- package/dist/ldmFactories/metadata/dataSetFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/displayFormFactory.d.ts +0 -24
- package/dist/ldmFactories/metadata/displayFormFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/displayFormFactory.js +0 -40
- package/dist/ldmFactories/metadata/displayFormFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/factFactory.d.ts +0 -21
- package/dist/ldmFactories/metadata/factFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/factFactory.js +0 -28
- package/dist/ldmFactories/metadata/factFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/factory.d.ts +0 -74
- package/dist/ldmFactories/metadata/factory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/factory.js +0 -43
- package/dist/ldmFactories/metadata/factory.js.map +0 -1
- package/dist/ldmFactories/metadata/measureFactory.d.ts +0 -24
- package/dist/ldmFactories/metadata/measureFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/measureFactory.js +0 -40
- package/dist/ldmFactories/metadata/measureFactory.js.map +0 -1
- package/dist/ldmFactories/metadata/variableFactory.d.ts +0 -21
- package/dist/ldmFactories/metadata/variableFactory.d.ts.map +0 -1
- package/dist/ldmFactories/metadata/variableFactory.js +0 -28
- package/dist/ldmFactories/metadata/variableFactory.js.map +0 -1
- package/dist/normalizingBackend/index.d.ts +0 -46
- package/dist/normalizingBackend/index.d.ts.map +0 -1
- package/dist/normalizingBackend/index.js +0 -174
- package/dist/normalizingBackend/index.js.map +0 -1
- package/dist/normalizingBackend/normalizer.d.ts +0 -131
- package/dist/normalizingBackend/normalizer.d.ts.map +0 -1
- package/dist/normalizingBackend/normalizer.js +0 -352
- package/dist/normalizingBackend/normalizer.js.map +0 -1
- package/dist/toolkit/auth.d.ts +0 -83
- package/dist/toolkit/auth.d.ts.map +0 -1
- package/dist/toolkit/auth.js +0 -106
- package/dist/toolkit/auth.js.map +0 -1
- package/dist/toolkit/backend.d.ts +0 -8
- package/dist/toolkit/backend.d.ts.map +0 -1
- package/dist/toolkit/backend.js +0 -3
- package/dist/toolkit/backend.js.map +0 -1
- package/dist/toolkit/execution.d.ts +0 -54
- package/dist/toolkit/execution.d.ts.map +0 -1
- package/dist/toolkit/execution.js +0 -88
- package/dist/toolkit/execution.js.map +0 -1
- package/dist/toolkit/paging.d.ts +0 -52
- package/dist/toolkit/paging.d.ts.map +0 -1
- package/dist/toolkit/paging.js +0 -109
- package/dist/toolkit/paging.js.map +0 -1
- package/dist/toolkit/pluginUrlValidation.d.ts +0 -9
- package/dist/toolkit/pluginUrlValidation.d.ts.map +0 -1
- package/dist/toolkit/pluginUrlValidation.js +0 -50
- package/dist/toolkit/pluginUrlValidation.js.map +0 -1
- package/dist/workspaceSettingsBackend/index.d.ts +0 -53
- package/dist/workspaceSettingsBackend/index.d.ts.map +0 -1
- package/dist/workspaceSettingsBackend/index.js +0 -42
- package/dist/workspaceSettingsBackend/index.js.map +0 -1
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// (C) 2019-2020 GoodData Corporation
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.ExecutionFactoryUpgradingToExecByReference = exports.ExecutionFactoryWithFixedFilters = exports.AbstractExecutionFactory = void 0;
|
|
5
|
-
const sdk_model_1 = require("@gooddata/sdk-model");
|
|
6
|
-
const execution_1 = require("../decoratedBackend/execution");
|
|
7
|
-
/**
|
|
8
|
-
* Abstract base class that can be extended to implement concrete execution factories for different
|
|
9
|
-
* backend implementations.
|
|
10
|
-
*
|
|
11
|
-
* This class implements the convenience methods which do not need to change in implementations.
|
|
12
|
-
*
|
|
13
|
-
* Note: the `forInsightByRef` is implemented as fallback to freeform execution done by `forInsight`. The
|
|
14
|
-
* rationale is that most backends do not support that anyway so it is a safe default behavior. If the backend
|
|
15
|
-
* supports execute-by-reference, then overload the method with your own implementation (see sdk-backend-bear for
|
|
16
|
-
* inspiration)
|
|
17
|
-
*
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
class AbstractExecutionFactory {
|
|
21
|
-
constructor(workspace) {
|
|
22
|
-
this.workspace = workspace;
|
|
23
|
-
}
|
|
24
|
-
forItems(items, filters) {
|
|
25
|
-
const def = (0, sdk_model_1.defWithDimensions)((0, sdk_model_1.newDefForItems)(this.workspace, items, filters), sdk_model_1.defaultDimensionsGenerator);
|
|
26
|
-
return this.forDefinition(def);
|
|
27
|
-
}
|
|
28
|
-
forBuckets(buckets, filters) {
|
|
29
|
-
const def = (0, sdk_model_1.defWithDimensions)((0, sdk_model_1.newDefForBuckets)(this.workspace, buckets, filters), sdk_model_1.defaultDimensionsGenerator);
|
|
30
|
-
return this.forDefinition(def);
|
|
31
|
-
}
|
|
32
|
-
forInsight(insight, filters) {
|
|
33
|
-
const def = (0, sdk_model_1.defWithDimensions)((0, sdk_model_1.newDefForInsight)(this.workspace, insight, filters), sdk_model_1.defaultDimensionsGenerator);
|
|
34
|
-
return this.forDefinition(def);
|
|
35
|
-
}
|
|
36
|
-
forInsightByRef(insight, filters) {
|
|
37
|
-
return this.forInsight(insight, filters);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.AbstractExecutionFactory = AbstractExecutionFactory;
|
|
41
|
-
/**
|
|
42
|
-
* This implementation of execution factory allows transparent injection of fixed set of filters to all
|
|
43
|
-
* executions started through it.
|
|
44
|
-
*
|
|
45
|
-
* This factory will not perform any filter merging. All it does is ensure some filters are always passed
|
|
46
|
-
* to the underlying factory. The responsibility to do the filter merging lies in the underlying factory.
|
|
47
|
-
*
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
50
|
-
class ExecutionFactoryWithFixedFilters extends execution_1.DecoratedExecutionFactory {
|
|
51
|
-
constructor(decorated, filters = []) {
|
|
52
|
-
super(decorated);
|
|
53
|
-
this.filters = filters;
|
|
54
|
-
}
|
|
55
|
-
forItems(items, filters = []) {
|
|
56
|
-
return super.forItems(items, this.filters.concat(filters));
|
|
57
|
-
}
|
|
58
|
-
forBuckets(buckets, filters = []) {
|
|
59
|
-
return super.forBuckets(buckets, this.filters.concat(filters));
|
|
60
|
-
}
|
|
61
|
-
forInsight(insight, filters = []) {
|
|
62
|
-
return super.forInsight(insight, this.filters.concat(filters));
|
|
63
|
-
}
|
|
64
|
-
forInsightByRef(insight, filters = []) {
|
|
65
|
-
return super.forInsightByRef(insight, this.filters.concat(filters));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.ExecutionFactoryWithFixedFilters = ExecutionFactoryWithFixedFilters;
|
|
69
|
-
/**
|
|
70
|
-
* This implementation of execution factory will transparently upgrade any `forInsight` execution
|
|
71
|
-
* to `forInsightByRef` execution IF the argument to `forInsight` is actually a persisted insight (`IInsight` which
|
|
72
|
-
* is subtype of `IInsightDefinition`).
|
|
73
|
-
*
|
|
74
|
-
* @internal
|
|
75
|
-
*/
|
|
76
|
-
class ExecutionFactoryUpgradingToExecByReference extends execution_1.DecoratedExecutionFactory {
|
|
77
|
-
constructor(decorated) {
|
|
78
|
-
super(decorated);
|
|
79
|
-
}
|
|
80
|
-
forInsight(insight, filters) {
|
|
81
|
-
if ((0, sdk_model_1.isInsight)(insight)) {
|
|
82
|
-
return this.forInsightByRef(insight, filters);
|
|
83
|
-
}
|
|
84
|
-
return super.forInsight(insight, filters);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.ExecutionFactoryUpgradingToExecByReference = ExecutionFactoryUpgradingToExecByReference;
|
|
88
|
-
//# sourceMappingURL=execution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/toolkit/execution.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;AAErC,mDAa6B;AAG7B,6DAA0E;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAsB,wBAAwB;IAC1C,YAA+B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAI7C,QAAQ,CAAC,KAA4B,EAAE,OAA2B;QACrE,MAAM,GAAG,GAAG,IAAA,6BAAiB,EACzB,IAAA,0BAAc,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAC9C,sCAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAAkB,EAAE,OAA2B;QAC7D,MAAM,GAAG,GAAG,IAAA,6BAAiB,EACzB,IAAA,4BAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAClD,sCAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,OAA2B;QACtE,MAAM,GAAG,GAAG,IAAA,6BAAiB,EACzB,IAAA,4BAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAClD,sCAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,eAAe,CAAC,OAAiB,EAAE,OAA2B;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACJ;AAnCD,4DAmCC;AAED;;;;;;;;GAQG;AACH,MAAa,gCAAiC,SAAQ,qCAAyB;IAC3E,YAAY,SAA4B,EAAmB,UAA6B,EAAE;QACtF,KAAK,CAAC,SAAS,CAAC,CAAC;QADsC,YAAO,GAAP,OAAO,CAAwB;IAE1F,CAAC;IAEM,QAAQ,CAAC,KAA4B,EAAE,UAA6B,EAAE;QACzE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,UAAU,CAAC,OAAkB,EAAE,UAA6B,EAAE;QACjE,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,UAA6B,EAAE;QAC1E,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,eAAe,CAAC,OAAiB,EAAE,UAA6B,EAAE;QACrE,OAAO,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ;AApBD,4EAoBC;AAED;;;;;;GAMG;AACH,MAAa,0CAA2C,SAAQ,qCAAyB;IACrF,YAAY,SAA4B;QACpC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,OAA2B;QACtE,IAAI,IAAA,qBAAS,EAAC,OAAO,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACjD;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACJ;AAZD,gGAYC"}
|
package/dist/toolkit/paging.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { IPagedResource } from "@gooddata/sdk-backend-spi";
|
|
2
|
-
/**
|
|
3
|
-
* This implementation of {@link @gooddata/sdk-backend-spi#IPagedResource} pages over a list of items
|
|
4
|
-
* provided at construction time. The paging is done using pre-configured page limit and starts at particular offset.
|
|
5
|
-
*
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export declare class InMemoryPaging<T> implements IPagedResource<T> {
|
|
9
|
-
protected readonly allItems: T[];
|
|
10
|
-
readonly items: T[];
|
|
11
|
-
readonly limit: number;
|
|
12
|
-
readonly offset: number;
|
|
13
|
-
readonly totalCount: number;
|
|
14
|
-
constructor(allItems: T[], limit?: number, offset?: number);
|
|
15
|
-
next(): Promise<IPagedResource<T>>;
|
|
16
|
-
goTo(pageIndex: number): Promise<IPagedResource<T>>;
|
|
17
|
-
all(): Promise<T[]>;
|
|
18
|
-
allSorted(compareFn: (a: T, b: T) => number): Promise<T[]>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
export interface IServerPagingResult<T> {
|
|
24
|
-
items: T[];
|
|
25
|
-
totalCount: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
export type IServerPagingParams = {
|
|
31
|
-
offset: number;
|
|
32
|
-
limit: number;
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Common implementation of the {@link @gooddata/sdk-backend-spi#IPagedResource} for the server-side paging.
|
|
36
|
-
*
|
|
37
|
-
* @internal
|
|
38
|
-
*/
|
|
39
|
-
export declare class ServerPaging<T> implements IPagedResource<T> {
|
|
40
|
-
protected readonly getData: (pagingParams: IServerPagingParams) => Promise<IServerPagingResult<T>>;
|
|
41
|
-
readonly limit: number;
|
|
42
|
-
readonly offset: number;
|
|
43
|
-
readonly totalCount: number;
|
|
44
|
-
readonly items: T[];
|
|
45
|
-
static for<TItem>(getData: (pagingParams: IServerPagingParams) => Promise<IServerPagingResult<TItem>>, limit?: number, offset?: number): Promise<IPagedResource<TItem>>;
|
|
46
|
-
constructor(getData: (pagingParams: IServerPagingParams) => Promise<IServerPagingResult<T>>, limit: number, offset: number, totalCount: number, items: T[]);
|
|
47
|
-
next: () => Promise<IPagedResource<T>>;
|
|
48
|
-
goTo: (pageIndex: number) => Promise<IPagedResource<T>>;
|
|
49
|
-
all: () => Promise<T[]>;
|
|
50
|
-
allSorted: (compareFn: (a: T, b: T) => number) => Promise<T[]>;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=paging.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../src/toolkit/paging.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAM3D;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAM3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;IAL5C,SAAgB,KAAK,EAAE,CAAC,EAAE,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEJ,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI;IAevD,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAQlC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAQnD,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAInB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAG1E;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAejD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAClF,KAAK;aACL,MAAM;aACN,UAAU,EAAE,MAAM;aAClB,KAAK,EAAE,CAAC,EAAE;WAlBV,GAAG,CAAC,KAAK,EACzB,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EACnF,KAAK,SAAK,EACV,MAAM,SAAI,GACX,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAUV,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAClF,KAAK,QAAK,EACV,MAAM,QAAI,EACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,CAAC,EAAE;IAGvB,IAAI,QAAa,QAAQ,eAAe,CAAC,CAAC,CAAC,CAmBhD;IAEK,IAAI,cAAqB,MAAM,KAAG,QAAQ,eAAe,CAAC,CAAC,CAAC,CAIjE;IAEK,GAAG,QAAa,QAAQ,CAAC,EAAE,CAAC,CAmBjC;IAEK,SAAS,kBAAyB,CAAC,KAAK,CAAC,KAAK,MAAM,KAAG,QAAQ,CAAC,EAAE,CAAC,CAGxE;CACL"}
|
package/dist/toolkit/paging.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ServerPaging = exports.InMemoryPaging = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const ts_invariant_1 = tslib_1.__importDefault(require("ts-invariant"));
|
|
6
|
-
const range_1 = tslib_1.__importDefault(require("lodash/range"));
|
|
7
|
-
const flatMap_1 = tslib_1.__importDefault(require("lodash/flatMap"));
|
|
8
|
-
const isNil_1 = tslib_1.__importDefault(require("lodash/isNil"));
|
|
9
|
-
/**
|
|
10
|
-
* This implementation of {@link @gooddata/sdk-backend-spi#IPagedResource} pages over a list of items
|
|
11
|
-
* provided at construction time. The paging is done using pre-configured page limit and starts at particular offset.
|
|
12
|
-
*
|
|
13
|
-
* @internal
|
|
14
|
-
*/
|
|
15
|
-
class InMemoryPaging {
|
|
16
|
-
constructor(allItems, limit = 50, offset = 0) {
|
|
17
|
-
this.allItems = allItems;
|
|
18
|
-
(0, ts_invariant_1.default)(offset >= 0, `paging offset must be non-negative, got: ${offset}`);
|
|
19
|
-
(0, ts_invariant_1.default)(limit > 0, `limit must be a positive number, got: ${limit}`);
|
|
20
|
-
// this will naturally return empty items if at the end of data; limit will always be positive
|
|
21
|
-
this.items = allItems.slice(offset, offset + limit);
|
|
22
|
-
// offset is at most at the end of all available elements
|
|
23
|
-
this.offset = Math.min(offset, allItems.length);
|
|
24
|
-
// limit is always kept as-requested
|
|
25
|
-
this.limit = limit;
|
|
26
|
-
this.totalCount = allItems.length;
|
|
27
|
-
}
|
|
28
|
-
async next() {
|
|
29
|
-
if (this.items.length === 0) {
|
|
30
|
-
return this;
|
|
31
|
-
}
|
|
32
|
-
return new InMemoryPaging(this.allItems, this.limit, this.offset + this.items.length);
|
|
33
|
-
}
|
|
34
|
-
async goTo(pageIndex) {
|
|
35
|
-
if (this.items.length === 0) {
|
|
36
|
-
return this;
|
|
37
|
-
}
|
|
38
|
-
return new InMemoryPaging(this.allItems, this.limit, pageIndex * this.items.length);
|
|
39
|
-
}
|
|
40
|
-
async all() {
|
|
41
|
-
return [...this.allItems];
|
|
42
|
-
}
|
|
43
|
-
async allSorted(compareFn) {
|
|
44
|
-
return [...this.allItems].sort(compareFn);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.InMemoryPaging = InMemoryPaging;
|
|
48
|
-
/**
|
|
49
|
-
* Common implementation of the {@link @gooddata/sdk-backend-spi#IPagedResource} for the server-side paging.
|
|
50
|
-
*
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
class ServerPaging {
|
|
54
|
-
static async for(getData, limit = 50, offset = 0) {
|
|
55
|
-
(0, ts_invariant_1.default)(offset >= 0, `paging offset must be non-negative, got: ${offset}`);
|
|
56
|
-
(0, ts_invariant_1.default)(limit > 0, `limit must be a positive number, got: ${limit}`);
|
|
57
|
-
const { totalCount, items } = await getData({ limit, offset });
|
|
58
|
-
// must use isNil, totalCount: 0 is a valid case (e.g. when searching for a nonsensical string)
|
|
59
|
-
(0, ts_invariant_1.default)(!(0, isNil_1.default)(totalCount), `total count must be specified, got: ${totalCount}`);
|
|
60
|
-
return new ServerPaging(getData, limit, offset, totalCount, items);
|
|
61
|
-
}
|
|
62
|
-
constructor(getData, limit = 50, offset = 0, totalCount, items) {
|
|
63
|
-
this.getData = getData;
|
|
64
|
-
this.limit = limit;
|
|
65
|
-
this.offset = offset;
|
|
66
|
-
this.totalCount = totalCount;
|
|
67
|
-
this.items = items;
|
|
68
|
-
this.next = async () => {
|
|
69
|
-
// No items = we are on the last page.
|
|
70
|
-
if (this.items.length === 0) {
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
|
-
// We are on the last page with the items - return empty result for the next page immediately
|
|
74
|
-
if (this.items.length < this.limit || this.offset + this.items.length === this.totalCount) {
|
|
75
|
-
return new ServerPaging(this.getData, this.limit, this.offset + this.limit, this.totalCount, []);
|
|
76
|
-
}
|
|
77
|
-
const pageData = await this.getData({ limit: this.limit, offset: this.offset + this.limit });
|
|
78
|
-
return new ServerPaging(this.getData, this.limit, this.offset + this.limit, pageData.totalCount, pageData.items);
|
|
79
|
-
};
|
|
80
|
-
this.goTo = async (pageIndex) => {
|
|
81
|
-
const offset = pageIndex * this.limit;
|
|
82
|
-
const pageData = await this.getData({ limit: this.limit, offset });
|
|
83
|
-
return new ServerPaging(this.getData, this.limit, offset, pageData.totalCount, pageData.items);
|
|
84
|
-
};
|
|
85
|
-
this.all = async () => {
|
|
86
|
-
const results = [];
|
|
87
|
-
const maxRequests = 6;
|
|
88
|
-
const allPagesToLoad = (0, range_1.default)(0, this.totalCount / this.limit);
|
|
89
|
-
// if the paged resource is already at the 0 offset, use it directly to save a duplicate request
|
|
90
|
-
if (this.offset === 0) {
|
|
91
|
-
results.push(...this.items);
|
|
92
|
-
allPagesToLoad.shift();
|
|
93
|
-
}
|
|
94
|
-
while (allPagesToLoad.length > 0) {
|
|
95
|
-
const pagesToLoad = allPagesToLoad.slice(0, maxRequests);
|
|
96
|
-
allPagesToLoad.splice(0, maxRequests);
|
|
97
|
-
const loadedPages = await Promise.all(pagesToLoad.map((page) => this.goTo(page)));
|
|
98
|
-
results.push(...(0, flatMap_1.default)(loadedPages, (page) => page.items));
|
|
99
|
-
}
|
|
100
|
-
return results;
|
|
101
|
-
};
|
|
102
|
-
this.allSorted = async (compareFn) => {
|
|
103
|
-
const all = await this.all();
|
|
104
|
-
return all.sort(compareFn);
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.ServerPaging = ServerPaging;
|
|
109
|
-
//# sourceMappingURL=paging.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paging.js","sourceRoot":"","sources":["../../src/toolkit/paging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Performs validation of dashboard plugin URL. This is purely client-side and checks that the URL does
|
|
3
|
-
* not contain invalid characters and contains correct protocol.
|
|
4
|
-
*
|
|
5
|
-
* @param url - url to validate
|
|
6
|
-
* @alpha
|
|
7
|
-
*/
|
|
8
|
-
export declare function validatePluginUrlIsSane(url: string): string | undefined;
|
|
9
|
-
//# sourceMappingURL=pluginUrlValidation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pluginUrlValidation.d.ts","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":"AA0BA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBvE"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validatePluginUrlIsSane = void 0;
|
|
4
|
-
// (C) 2021 GoodData Corporation
|
|
5
|
-
const sanitize_url_1 = require("@braintree/sanitize-url");
|
|
6
|
-
const AboutBlank = "about:blank";
|
|
7
|
-
function validateUrl(url, messagePrefix) {
|
|
8
|
-
const sanitized = (0, sanitize_url_1.sanitizeUrl)(url);
|
|
9
|
-
if (url !== sanitized) {
|
|
10
|
-
// sanitized URL being different from the input means there was something fishy with the URL
|
|
11
|
-
if (sanitized === AboutBlank) {
|
|
12
|
-
// sanitization about return about:blank in case the url contains javascript/vbscript/data schemas
|
|
13
|
-
return `${messagePrefix} contains invalid schema; possible XSS detected`;
|
|
14
|
-
}
|
|
15
|
-
return `${messagePrefix} contains invalid characters`;
|
|
16
|
-
}
|
|
17
|
-
// explicitly check for '/.' and '/..'
|
|
18
|
-
if (url.search(/\/\.+/) > -1) {
|
|
19
|
-
return `${messagePrefix} contains reserved filename characters`;
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Performs validation of dashboard plugin URL. This is purely client-side and checks that the URL does
|
|
25
|
-
* not contain invalid characters and contains correct protocol.
|
|
26
|
-
*
|
|
27
|
-
* @param url - url to validate
|
|
28
|
-
* @alpha
|
|
29
|
-
*/
|
|
30
|
-
function validatePluginUrlIsSane(url) {
|
|
31
|
-
var _a;
|
|
32
|
-
try {
|
|
33
|
-
// ensure URL is valid and is https
|
|
34
|
-
const parsedUrl = new URL(url);
|
|
35
|
-
if (parsedUrl.protocol !== "https:") {
|
|
36
|
-
return `url does not use https`;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
return "url is malformed";
|
|
41
|
-
}
|
|
42
|
-
// validate URL as is; then decode from percent-encoded URL and do one more round with the same validations
|
|
43
|
-
const validationError = (_a = validateUrl(url, "url")) !== null && _a !== void 0 ? _a : validateUrl(decodeURIComponent(url), "decoded url");
|
|
44
|
-
if (validationError) {
|
|
45
|
-
return validationError;
|
|
46
|
-
}
|
|
47
|
-
return undefined;
|
|
48
|
-
}
|
|
49
|
-
exports.validatePluginUrlIsSane = validatePluginUrlIsSane;
|
|
50
|
-
//# sourceMappingURL=pluginUrlValidation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pluginUrlValidation.js","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,0DAAsD;AAEtD,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,SAAS,WAAW,CAAC,GAAW,EAAE,aAAqB;IACnD,MAAM,SAAS,GAAG,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,GAAG,KAAK,SAAS,EAAE;QACnB,4FAA4F;QAC5F,IAAI,SAAS,KAAK,UAAU,EAAE;YAC1B,kGAAkG;YAClG,OAAO,GAAG,aAAa,iDAAiD,CAAC;SAC5E;QAED,OAAO,GAAG,aAAa,8BAA8B,CAAC;KACzD;IAED,sCAAsC;IACtC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;QAC1B,OAAO,GAAG,aAAa,wCAAwC,CAAC;KACnE;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,GAAW;;IAC/C,IAAI;QACA,mCAAmC;QACnC,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACjC,OAAO,wBAAwB,CAAC;SACnC;KACJ;IAAC,OAAO,CAAM,EAAE;QACb,OAAO,kBAAkB,CAAC;KAC7B;IAED,2GAA2G;IAC3G,MAAM,eAAe,GAAG,MAAA,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,mCAAI,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IAEvG,IAAI,eAAe,EAAE;QACjB,OAAO,eAAe,CAAC;KAC1B;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAnBD,0DAmBC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { IAnalyticalBackend, IUserWorkspaceSettings, IWorkspaceSettings } from "@gooddata/sdk-backend-spi";
|
|
2
|
-
import { ISettings } from "@gooddata/sdk-model";
|
|
3
|
-
/**
|
|
4
|
-
* Adjusts workspace config
|
|
5
|
-
*
|
|
6
|
-
* @beta
|
|
7
|
-
*/
|
|
8
|
-
export type SettingsWrapper = (settings: IWorkspaceSettings) => IWorkspaceSettings;
|
|
9
|
-
/**
|
|
10
|
-
* Adjusts current user config
|
|
11
|
-
*
|
|
12
|
-
* @beta
|
|
13
|
-
*/
|
|
14
|
-
export type CurrentUserSettingsWrapper = (settings: IUserWorkspaceSettings) => IUserWorkspaceSettings;
|
|
15
|
-
/**
|
|
16
|
-
* Adjusts both workspace and user settings
|
|
17
|
-
*
|
|
18
|
-
* @beta
|
|
19
|
-
*/
|
|
20
|
-
export type CommonSettingsWrapper = (settings: ISettings) => ISettings;
|
|
21
|
-
/**
|
|
22
|
-
* Specifies workspace settings and current user settings to be adjusted by the decorator.
|
|
23
|
-
*
|
|
24
|
-
* @beta
|
|
25
|
-
*/
|
|
26
|
-
export interface WorkspaceSettingsConfiguration {
|
|
27
|
-
/**
|
|
28
|
-
* Transforms both workspace settings and user settings obtained from the real backend. Can add,
|
|
29
|
-
* remove or alter settings or provide a completely new settings.
|
|
30
|
-
* Execution of this wrapper precedes execution of the specific wrappers for user and workspace settings
|
|
31
|
-
*/
|
|
32
|
-
commonSettingsWrapper?: CommonSettingsWrapper;
|
|
33
|
-
/**
|
|
34
|
-
* Transforms workspace settings obtained from the real backend. Can add, remove or alter settings
|
|
35
|
-
* or provide a completely new settings
|
|
36
|
-
*/
|
|
37
|
-
settingsWrapper?: SettingsWrapper;
|
|
38
|
-
/**
|
|
39
|
-
* Transforms user settings obtained from the real backend. Can add, remove or alter settings
|
|
40
|
-
* or provide a completely new settings
|
|
41
|
-
*/
|
|
42
|
-
currentUserSettingsWrapper?: CurrentUserSettingsWrapper;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Adjusts workspace configs and current user configs from the real backend.
|
|
46
|
-
*
|
|
47
|
-
* @remarks see {@link WorkspaceSettingsConfiguration} properties for more information.
|
|
48
|
-
* @param realBackend - real backend to decorate with custom workspace settings
|
|
49
|
-
* @param config - workspace configs configuration
|
|
50
|
-
* @beta
|
|
51
|
-
*/
|
|
52
|
-
export declare function withCustomWorkspaceSettings(realBackend: IAnalyticalBackend, config: WorkspaceSettingsConfiguration): IAnalyticalBackend;
|
|
53
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIhD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,sBAAsB,KAAK,sBAAsB,CAAC;AAEtG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;AAwCvE;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D;AAED;;;;;;;GAOG;AAEH,wBAAgB,2BAA2B,CACvC,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,8BAA8B,GACvC,kBAAkB,CAGpB"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withCustomWorkspaceSettings = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
// (C) 2021-2022 GoodData Corporation
|
|
6
|
-
const identity_1 = tslib_1.__importDefault(require("lodash/identity"));
|
|
7
|
-
const decoratedBackend_1 = require("../decoratedBackend");
|
|
8
|
-
const workspaceSettings_1 = require("../decoratedBackend/workspaceSettings");
|
|
9
|
-
class WithModifiedWorkspaceSettingsService extends workspaceSettings_1.DecoratedWorkspaceSettingsService {
|
|
10
|
-
constructor(decorated, settingsWrapper, currentUserSettingsWrapper, commonSettingsSetter) {
|
|
11
|
-
super(decorated);
|
|
12
|
-
this.settingsWrapper = settingsWrapper;
|
|
13
|
-
this.currentUserSettingsWrapper = currentUserSettingsWrapper;
|
|
14
|
-
this.commonSettingsSetter = commonSettingsSetter;
|
|
15
|
-
}
|
|
16
|
-
async getSettings() {
|
|
17
|
-
const settings = await this.decorated.getSettings();
|
|
18
|
-
return this.settingsWrapper(Object.assign(Object.assign({}, settings), this.commonSettingsSetter(settings)));
|
|
19
|
-
}
|
|
20
|
-
async getSettingsForCurrentUser() {
|
|
21
|
-
const currentUserSettings = await this.decorated.getSettingsForCurrentUser();
|
|
22
|
-
return this.currentUserSettingsWrapper(Object.assign(Object.assign({}, currentUserSettings), this.commonSettingsSetter(currentUserSettings)));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function customWorkspaceSettings(config) {
|
|
26
|
-
const emptySettingsSetter = () => ({});
|
|
27
|
-
return (original) => new WithModifiedWorkspaceSettingsService(original, config.settingsWrapper || identity_1.default, config.currentUserSettingsWrapper || identity_1.default, config.commonSettingsWrapper || emptySettingsSetter);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Adjusts workspace configs and current user configs from the real backend.
|
|
31
|
-
*
|
|
32
|
-
* @remarks see {@link WorkspaceSettingsConfiguration} properties for more information.
|
|
33
|
-
* @param realBackend - real backend to decorate with custom workspace settings
|
|
34
|
-
* @param config - workspace configs configuration
|
|
35
|
-
* @beta
|
|
36
|
-
*/
|
|
37
|
-
function withCustomWorkspaceSettings(realBackend, config) {
|
|
38
|
-
const workspaceSettings = customWorkspaceSettings(config);
|
|
39
|
-
return (0, decoratedBackend_1.decoratedBackend)(realBackend, { workspaceSettings });
|
|
40
|
-
}
|
|
41
|
-
exports.withCustomWorkspaceSettings = withCustomWorkspaceSettings;
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,uEAAuC;AAQvC,0DAA0F;AAC1F,6EAA0F;AAuB1F,MAAM,oCAAqC,SAAQ,qDAAiC;IAChF,YACI,SAAoC,EAC3B,eAAgC,EAChC,0BAAsD,EACtD,oBAA2C;QAEpD,KAAK,CAAC,SAAS,CAAC,CAAC;QAJR,oBAAe,GAAf,eAAe,CAAiB;QAChC,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,yBAAoB,GAApB,oBAAoB,CAAuB;IAGxD,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,eAAe,iCACpB,QAAQ,GACR,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EACxC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC3B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,0BAA0B,iCAC/B,mBAAmB,GACnB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EACnD,CAAC;IACP,CAAC;CACJ;AAED,SAAS,uBAAuB,CAAC,MAAsC;IACnE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,QAAmC,EAAE,EAAE,CAC3C,IAAI,oCAAoC,CACpC,QAAQ,EACR,MAAM,CAAC,eAAe,IAAI,kBAAQ,EAClC,MAAM,CAAC,0BAA0B,IAAI,kBAAQ,EAC7C,MAAM,CAAC,qBAAqB,IAAI,mBAAmB,CACtD,CAAC;AACV,CAAC;AA0BD;;;;;;;GAOG;AAEH,SAAgB,2BAA2B,CACvC,WAA+B,EAC/B,MAAsC;IAEtC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,IAAA,mCAAgB,EAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAChE,CAAC;AAND,kEAMC"}
|