@gooddata/sdk-backend-base 8.13.0-alpha.2 → 8.13.0-alpha.21
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/dist/cachingBackend/index.js +304 -380
- package/dist/cachingBackend/index.js.map +1 -1
- package/dist/convertors/fromBackend/afm/result.js +3 -3
- package/dist/convertors/fromBackend/afm/result.js.map +1 -1
- package/dist/customBackend/execution.js +77 -92
- package/dist/customBackend/execution.js.map +1 -1
- package/dist/customBackend/index.js +78 -114
- package/dist/customBackend/index.js.map +1 -1
- package/dist/customBackend/workspace.js +39 -40
- package/dist/customBackend/workspace.js.map +1 -1
- package/dist/decoratedBackend/attributes.js +21 -22
- package/dist/decoratedBackend/attributes.js.map +1 -1
- package/dist/decoratedBackend/catalog.js +38 -50
- package/dist/decoratedBackend/catalog.js.map +1 -1
- package/dist/decoratedBackend/dashboards.js +61 -62
- package/dist/decoratedBackend/dashboards.js.map +1 -1
- package/dist/decoratedBackend/elements.js +47 -70
- package/dist/decoratedBackend/elements.js.map +1 -1
- package/dist/decoratedBackend/execution.js +62 -79
- package/dist/decoratedBackend/execution.js.map +1 -1
- package/dist/decoratedBackend/index.js +90 -104
- package/dist/decoratedBackend/index.js.map +1 -1
- package/dist/decoratedBackend/securitySettings.js +7 -8
- package/dist/decoratedBackend/securitySettings.js.map +1 -1
- package/dist/decoratedBackend/workspaceSettings.js +12 -26
- package/dist/decoratedBackend/workspaceSettings.js.map +1 -1
- package/dist/dummyBackend/index.js +347 -391
- package/dist/dummyBackend/index.js.map +1 -1
- package/dist/eventingBackend/index.js +42 -49
- package/dist/eventingBackend/index.js.map +1 -1
- package/dist/ldmFactories/builder.js +14 -16
- package/dist/ldmFactories/builder.js.map +1 -1
- package/dist/ldmFactories/catalog/attributeFactory.js +22 -32
- package/dist/ldmFactories/catalog/attributeFactory.js.map +1 -1
- package/dist/ldmFactories/catalog/dateDatasetFactory.js +25 -41
- package/dist/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
- package/dist/ldmFactories/catalog/factFactory.js +11 -19
- package/dist/ldmFactories/catalog/factFactory.js.map +1 -1
- package/dist/ldmFactories/catalog/groupFactory.js +14 -27
- package/dist/ldmFactories/catalog/groupFactory.js.map +1 -1
- package/dist/ldmFactories/catalog/measureFactory.js +15 -25
- package/dist/ldmFactories/catalog/measureFactory.js.map +1 -1
- package/dist/ldmFactories/dashboard/insightWidgetFactory.js +20 -27
- package/dist/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
- package/dist/ldmFactories/dashboard/kpiWidgetFactory.js +24 -34
- package/dist/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
- package/dist/ldmFactories/dashboard/widgetFactory.js +20 -39
- package/dist/ldmFactories/dashboard/widgetFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/attributeFactory.js +13 -21
- package/dist/ldmFactories/metadata/attributeFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/dashboardFactory.js +7 -15
- package/dist/ldmFactories/metadata/dashboardFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/dataSetFactory.js +7 -15
- package/dist/ldmFactories/metadata/dataSetFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/displayFormFactory.js +13 -21
- package/dist/ldmFactories/metadata/displayFormFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/factFactory.js +7 -15
- package/dist/ldmFactories/metadata/factFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/factory.js +17 -23
- package/dist/ldmFactories/metadata/factory.js.map +1 -1
- package/dist/ldmFactories/metadata/measureFactory.js +13 -21
- package/dist/ldmFactories/metadata/measureFactory.js.map +1 -1
- package/dist/ldmFactories/metadata/variableFactory.js +7 -15
- package/dist/ldmFactories/metadata/variableFactory.js.map +1 -1
- package/dist/normalizingBackend/index.js +71 -96
- package/dist/normalizingBackend/index.js.map +1 -1
- package/dist/normalizingBackend/normalizer.d.ts.map +1 -1
- package/dist/normalizingBackend/normalizer.js +130 -138
- package/dist/normalizingBackend/normalizer.js.map +1 -1
- package/dist/toolkit/auth.js +47 -60
- package/dist/toolkit/auth.js.map +1 -1
- package/dist/toolkit/execution.js +40 -52
- package/dist/toolkit/execution.js.map +1 -1
- package/dist/toolkit/paging.js +77 -146
- package/dist/toolkit/paging.js.map +1 -1
- package/dist/toolkit/pluginUrlValidation.js +9 -9
- package/dist/toolkit/pluginUrlValidation.js.map +1 -1
- package/dist/workspaceSettingsBackend/index.js +23 -46
- package/dist/workspaceSettingsBackend/index.js.map +1 -1
- package/esm/cachingBackend/index.js +281 -358
- package/esm/cachingBackend/index.js.map +1 -1
- package/esm/convertors/fromBackend/afm/result.js +3 -3
- package/esm/convertors/fromBackend/afm/result.js.map +1 -1
- package/esm/customBackend/execution.js +72 -89
- package/esm/customBackend/execution.js.map +1 -1
- package/esm/customBackend/index.js +75 -112
- package/esm/customBackend/index.js.map +1 -1
- package/esm/customBackend/workspace.js +37 -39
- package/esm/customBackend/workspace.js.map +1 -1
- package/esm/decoratedBackend/attributes.js +21 -23
- package/esm/decoratedBackend/attributes.js.map +1 -1
- package/esm/decoratedBackend/catalog.js +36 -51
- package/esm/decoratedBackend/catalog.js.map +1 -1
- package/esm/decoratedBackend/dashboards.js +61 -63
- package/esm/decoratedBackend/dashboards.js.map +1 -1
- package/esm/decoratedBackend/elements.js +47 -73
- package/esm/decoratedBackend/elements.js.map +1 -1
- package/esm/decoratedBackend/execution.js +60 -81
- package/esm/decoratedBackend/execution.js.map +1 -1
- package/esm/decoratedBackend/index.js +88 -103
- package/esm/decoratedBackend/index.js.map +1 -1
- package/esm/decoratedBackend/securitySettings.js +7 -9
- package/esm/decoratedBackend/securitySettings.js.map +1 -1
- package/esm/decoratedBackend/workspaceSettings.js +12 -27
- package/esm/decoratedBackend/workspaceSettings.js.map +1 -1
- package/esm/dummyBackend/index.js +342 -387
- package/esm/dummyBackend/index.js.map +1 -1
- package/esm/eventingBackend/index.js +37 -45
- package/esm/eventingBackend/index.js.map +1 -1
- package/esm/ldmFactories/builder.js +14 -17
- package/esm/ldmFactories/builder.js.map +1 -1
- package/esm/ldmFactories/catalog/attributeFactory.js +15 -27
- package/esm/ldmFactories/catalog/attributeFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/dateDatasetFactory.js +18 -37
- package/esm/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/factFactory.js +5 -15
- package/esm/ldmFactories/catalog/factFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/groupFactory.js +11 -27
- package/esm/ldmFactories/catalog/groupFactory.js.map +1 -1
- package/esm/ldmFactories/catalog/measureFactory.js +9 -21
- package/esm/ldmFactories/catalog/measureFactory.js.map +1 -1
- package/esm/ldmFactories/dashboard/insightWidgetFactory.js +16 -25
- package/esm/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
- package/esm/ldmFactories/dashboard/kpiWidgetFactory.js +19 -31
- package/esm/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
- package/esm/ldmFactories/dashboard/widgetFactory.js +19 -39
- package/esm/ldmFactories/dashboard/widgetFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/attributeFactory.js +9 -19
- package/esm/ldmFactories/metadata/attributeFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/dashboardFactory.js +3 -13
- package/esm/ldmFactories/metadata/dashboardFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/dataSetFactory.js +3 -13
- package/esm/ldmFactories/metadata/dataSetFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/displayFormFactory.js +9 -19
- package/esm/ldmFactories/metadata/displayFormFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/factFactory.js +3 -13
- package/esm/ldmFactories/metadata/factFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/factory.js +16 -23
- package/esm/ldmFactories/metadata/factory.js.map +1 -1
- package/esm/ldmFactories/metadata/measureFactory.js +9 -19
- package/esm/ldmFactories/metadata/measureFactory.js.map +1 -1
- package/esm/ldmFactories/metadata/variableFactory.js +3 -13
- package/esm/ldmFactories/metadata/variableFactory.js.map +1 -1
- package/esm/normalizingBackend/index.js +64 -90
- package/esm/normalizingBackend/index.js.map +1 -1
- package/esm/normalizingBackend/normalizer.d.ts.map +1 -1
- package/esm/normalizingBackend/normalizer.js +125 -136
- package/esm/normalizingBackend/normalizer.js.map +1 -1
- package/esm/toolkit/auth.js +47 -63
- package/esm/toolkit/auth.js.map +1 -1
- package/esm/toolkit/execution.js +38 -53
- package/esm/toolkit/execution.js.map +1 -1
- package/esm/toolkit/paging.js +72 -144
- package/esm/toolkit/paging.js.map +1 -1
- package/esm/toolkit/pluginUrlValidation.js +8 -8
- package/esm/toolkit/pluginUrlValidation.js.map +1 -1
- package/esm/workspaceSettingsBackend/index.js +19 -43
- package/esm/workspaceSettingsBackend/index.js.map +1 -1
- package/package.json +7 -6
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validatePluginUrlIsSane = void 0;
|
|
4
4
|
// (C) 2021 GoodData Corporation
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const sanitize_url_1 = require("@braintree/sanitize-url");
|
|
6
|
+
const AboutBlank = "about:blank";
|
|
7
7
|
function validateUrl(url, messagePrefix) {
|
|
8
|
-
|
|
8
|
+
const sanitized = sanitize_url_1.sanitizeUrl(url);
|
|
9
9
|
if (url !== sanitized) {
|
|
10
10
|
// sanitized URL being different from the input means there was something fishy with the URL
|
|
11
11
|
if (sanitized === AboutBlank) {
|
|
12
12
|
// sanitization about return about:blank in case the url contains javascript/vbscript/data schemas
|
|
13
|
-
return messagePrefix
|
|
13
|
+
return `${messagePrefix} contains invalid schema; possible XSS detected`;
|
|
14
14
|
}
|
|
15
|
-
return messagePrefix
|
|
15
|
+
return `${messagePrefix} contains invalid characters`;
|
|
16
16
|
}
|
|
17
17
|
// explicitly check for '/.' and '/..'
|
|
18
18
|
if (url.search(/\/\.+/) > -1) {
|
|
19
|
-
return messagePrefix
|
|
19
|
+
return `${messagePrefix} contains reserved filename characters`;
|
|
20
20
|
}
|
|
21
21
|
return undefined;
|
|
22
22
|
}
|
|
@@ -31,16 +31,16 @@ function validatePluginUrlIsSane(url) {
|
|
|
31
31
|
var _a;
|
|
32
32
|
try {
|
|
33
33
|
// ensure URL is valid and is https
|
|
34
|
-
|
|
34
|
+
const parsedUrl = new URL(url);
|
|
35
35
|
if (parsedUrl.protocol !== "https:") {
|
|
36
|
-
return
|
|
36
|
+
return `url does not use https`;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
catch (e) {
|
|
40
40
|
return "url is malformed";
|
|
41
41
|
}
|
|
42
42
|
// validate URL as is; then decode from percent-encoded URL and do one more round with the same validations
|
|
43
|
-
|
|
43
|
+
const validationError = (_a = validateUrl(url, "url")) !== null && _a !== void 0 ? _a : validateUrl(decodeURIComponent(url), "decoded url");
|
|
44
44
|
if (validationError) {
|
|
45
45
|
return validationError;
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginUrlValidation.js","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,
|
|
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,0BAAW,CAAC,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,SAAG,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 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.withCustomWorkspaceSettings = void 0;
|
|
4
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
// (C) 2021-2022 GoodData Corporation
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
_this.commonSettingsSetter = commonSettingsSetter;
|
|
16
|
-
return _this;
|
|
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;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
WithModifiedWorkspaceSettingsService.prototype.getSettingsForCurrentUser = function () {
|
|
32
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
33
|
-
var currentUserSettings;
|
|
34
|
-
return tslib_1.__generator(this, function (_a) {
|
|
35
|
-
switch (_a.label) {
|
|
36
|
-
case 0: return [4 /*yield*/, this.decorated.getSettingsForCurrentUser()];
|
|
37
|
-
case 1:
|
|
38
|
-
currentUserSettings = _a.sent();
|
|
39
|
-
return [2 /*return*/, this.currentUserSettingsWrapper(tslib_1.__assign(tslib_1.__assign({}, currentUserSettings), this.commonSettingsSetter(currentUserSettings)))];
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
return WithModifiedWorkspaceSettingsService;
|
|
45
|
-
}(workspaceSettings_1.DecoratedWorkspaceSettingsService));
|
|
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
|
+
}
|
|
46
25
|
function customWorkspaceSettings(config) {
|
|
47
|
-
|
|
48
|
-
return
|
|
49
|
-
return new WithModifiedWorkspaceSettingsService(original, config.settingsWrapper || identity_1.default, config.currentUserSettingsWrapper || identity_1.default, config.commonSettingsWrapper || emptySettingsSetter);
|
|
50
|
-
};
|
|
26
|
+
const emptySettingsSetter = () => ({});
|
|
27
|
+
return (original) => new WithModifiedWorkspaceSettingsService(original, config.settingsWrapper || identity_1.default, config.currentUserSettingsWrapper || identity_1.default, config.commonSettingsWrapper || emptySettingsSetter);
|
|
51
28
|
}
|
|
52
29
|
/**
|
|
53
30
|
* Adjusts workspace configs and current user configs from the real backend.
|
|
@@ -58,8 +35,8 @@ function customWorkspaceSettings(config) {
|
|
|
58
35
|
* @beta
|
|
59
36
|
*/
|
|
60
37
|
function withCustomWorkspaceSettings(realBackend, config) {
|
|
61
|
-
|
|
62
|
-
return decoratedBackend_1.decoratedBackend(realBackend, { workspaceSettings
|
|
38
|
+
const workspaceSettings = customWorkspaceSettings(config);
|
|
39
|
+
return decoratedBackend_1.decoratedBackend(realBackend, { workspaceSettings });
|
|
63
40
|
}
|
|
64
41
|
exports.withCustomWorkspaceSettings = withCustomWorkspaceSettings;
|
|
65
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,
|
|
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,mCAAgB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAChE,CAAC;AAND,kEAMC"}
|