@gooddata/sdk-backend-base 9.0.0-alpha.9 → 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.
Files changed (281) hide show
  1. package/esm/cachingBackend/index.js +14 -14
  2. package/esm/cachingBackend/index.js.map +1 -1
  3. package/esm/customBackend/config.d.ts +2 -2
  4. package/esm/customBackend/config.d.ts.map +1 -1
  5. package/esm/customBackend/execution.d.ts +2 -2
  6. package/esm/customBackend/execution.d.ts.map +1 -1
  7. package/esm/customBackend/execution.js +2 -2
  8. package/esm/customBackend/execution.js.map +1 -1
  9. package/esm/customBackend/index.d.ts +3 -3
  10. package/esm/customBackend/index.d.ts.map +1 -1
  11. package/esm/customBackend/index.js +2 -2
  12. package/esm/customBackend/index.js.map +1 -1
  13. package/esm/customBackend/workspace.d.ts +1 -1
  14. package/esm/customBackend/workspace.d.ts.map +1 -1
  15. package/esm/customBackend/workspace.js +1 -1
  16. package/esm/customBackend/workspace.js.map +1 -1
  17. package/esm/decoratedBackend/catalog.js +1 -1
  18. package/esm/decoratedBackend/catalog.js.map +1 -1
  19. package/esm/decoratedBackend/execution.js +1 -1
  20. package/esm/decoratedBackend/execution.js.map +1 -1
  21. package/esm/decoratedBackend/index.js +1 -1
  22. package/esm/decoratedBackend/index.js.map +1 -1
  23. package/esm/dummyBackend/index.js +3 -3
  24. package/esm/dummyBackend/index.js.map +1 -1
  25. package/esm/eventingBackend/index.js +3 -3
  26. package/esm/eventingBackend/index.js.map +1 -1
  27. package/esm/index.d.ts +37 -37
  28. package/esm/index.d.ts.map +1 -1
  29. package/esm/index.js +35 -35
  30. package/esm/index.js.map +1 -1
  31. package/esm/ldmFactories/catalog/attributeFactory.d.ts +4 -4
  32. package/esm/ldmFactories/catalog/attributeFactory.d.ts.map +1 -1
  33. package/esm/ldmFactories/catalog/attributeFactory.js +5 -5
  34. package/esm/ldmFactories/catalog/attributeFactory.js.map +1 -1
  35. package/esm/ldmFactories/catalog/dateDatasetFactory.d.ts +4 -4
  36. package/esm/ldmFactories/catalog/dateDatasetFactory.d.ts.map +1 -1
  37. package/esm/ldmFactories/catalog/dateDatasetFactory.js +5 -5
  38. package/esm/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
  39. package/esm/ldmFactories/catalog/factFactory.d.ts +3 -3
  40. package/esm/ldmFactories/catalog/factFactory.d.ts.map +1 -1
  41. package/esm/ldmFactories/catalog/factFactory.js +4 -4
  42. package/esm/ldmFactories/catalog/factFactory.js.map +1 -1
  43. package/esm/ldmFactories/catalog/groupFactory.d.ts +1 -1
  44. package/esm/ldmFactories/catalog/groupFactory.d.ts.map +1 -1
  45. package/esm/ldmFactories/catalog/groupFactory.js +2 -2
  46. package/esm/ldmFactories/catalog/groupFactory.js.map +1 -1
  47. package/esm/ldmFactories/catalog/measureFactory.d.ts +3 -3
  48. package/esm/ldmFactories/catalog/measureFactory.d.ts.map +1 -1
  49. package/esm/ldmFactories/catalog/measureFactory.js +4 -4
  50. package/esm/ldmFactories/catalog/measureFactory.js.map +1 -1
  51. package/esm/ldmFactories/dashboard/insightWidgetFactory.d.ts +2 -2
  52. package/esm/ldmFactories/dashboard/insightWidgetFactory.d.ts.map +1 -1
  53. package/esm/ldmFactories/dashboard/insightWidgetFactory.js +2 -2
  54. package/esm/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
  55. package/esm/ldmFactories/dashboard/kpiWidgetFactory.d.ts +2 -2
  56. package/esm/ldmFactories/dashboard/kpiWidgetFactory.d.ts.map +1 -1
  57. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js +3 -3
  58. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
  59. package/esm/ldmFactories/dashboard/widgetFactory.d.ts +1 -1
  60. package/esm/ldmFactories/dashboard/widgetFactory.d.ts.map +1 -1
  61. package/esm/ldmFactories/dashboard/widgetFactory.js +1 -1
  62. package/esm/ldmFactories/dashboard/widgetFactory.js.map +1 -1
  63. package/esm/ldmFactories/metadata/attributeFactory.d.ts +2 -2
  64. package/esm/ldmFactories/metadata/attributeFactory.d.ts.map +1 -1
  65. package/esm/ldmFactories/metadata/attributeFactory.js +3 -3
  66. package/esm/ldmFactories/metadata/attributeFactory.js.map +1 -1
  67. package/esm/ldmFactories/metadata/dashboardFactory.d.ts +2 -2
  68. package/esm/ldmFactories/metadata/dashboardFactory.d.ts.map +1 -1
  69. package/esm/ldmFactories/metadata/dashboardFactory.js +3 -3
  70. package/esm/ldmFactories/metadata/dashboardFactory.js.map +1 -1
  71. package/esm/ldmFactories/metadata/dataSetFactory.d.ts +2 -2
  72. package/esm/ldmFactories/metadata/dataSetFactory.d.ts.map +1 -1
  73. package/esm/ldmFactories/metadata/dataSetFactory.js +3 -3
  74. package/esm/ldmFactories/metadata/dataSetFactory.js.map +1 -1
  75. package/esm/ldmFactories/metadata/displayFormFactory.d.ts +2 -2
  76. package/esm/ldmFactories/metadata/displayFormFactory.d.ts.map +1 -1
  77. package/esm/ldmFactories/metadata/displayFormFactory.js +3 -3
  78. package/esm/ldmFactories/metadata/displayFormFactory.js.map +1 -1
  79. package/esm/ldmFactories/metadata/factFactory.d.ts +2 -2
  80. package/esm/ldmFactories/metadata/factFactory.d.ts.map +1 -1
  81. package/esm/ldmFactories/metadata/factFactory.js +3 -3
  82. package/esm/ldmFactories/metadata/factFactory.js.map +1 -1
  83. package/esm/ldmFactories/metadata/factory.d.ts +1 -1
  84. package/esm/ldmFactories/metadata/factory.d.ts.map +1 -1
  85. package/esm/ldmFactories/metadata/factory.js +1 -1
  86. package/esm/ldmFactories/metadata/factory.js.map +1 -1
  87. package/esm/ldmFactories/metadata/measureFactory.d.ts +2 -2
  88. package/esm/ldmFactories/metadata/measureFactory.d.ts.map +1 -1
  89. package/esm/ldmFactories/metadata/measureFactory.js +3 -3
  90. package/esm/ldmFactories/metadata/measureFactory.js.map +1 -1
  91. package/esm/ldmFactories/metadata/variableFactory.d.ts +2 -2
  92. package/esm/ldmFactories/metadata/variableFactory.d.ts.map +1 -1
  93. package/esm/ldmFactories/metadata/variableFactory.js +3 -3
  94. package/esm/ldmFactories/metadata/variableFactory.js.map +1 -1
  95. package/esm/normalizingBackend/index.d.ts +1 -1
  96. package/esm/normalizingBackend/index.d.ts.map +1 -1
  97. package/esm/normalizingBackend/index.js +4 -4
  98. package/esm/normalizingBackend/index.js.map +1 -1
  99. package/esm/normalizingBackend/normalizer.d.ts +2 -0
  100. package/esm/normalizingBackend/normalizer.d.ts.map +1 -1
  101. package/esm/normalizingBackend/normalizer.js +18 -4
  102. package/esm/normalizingBackend/normalizer.js.map +1 -1
  103. package/{dist → esm}/sdk-backend-base.d.ts +2 -0
  104. package/esm/toolkit/execution.d.ts +1 -1
  105. package/esm/toolkit/execution.d.ts.map +1 -1
  106. package/esm/toolkit/execution.js +1 -1
  107. package/esm/toolkit/execution.js.map +1 -1
  108. package/esm/toolkit/paging.js +4 -4
  109. package/esm/toolkit/paging.js.map +1 -1
  110. package/esm/tsdoc-metadata.json +1 -1
  111. package/esm/workspaceSettingsBackend/index.js +3 -3
  112. package/esm/workspaceSettingsBackend/index.js.map +1 -1
  113. package/package.json +25 -35
  114. package/dist/cachingBackend/index.d.ts +0 -230
  115. package/dist/cachingBackend/index.d.ts.map +0 -1
  116. package/dist/cachingBackend/index.js +0 -579
  117. package/dist/cachingBackend/index.js.map +0 -1
  118. package/dist/convertors/fromBackend/afm/result.d.ts +0 -18
  119. package/dist/convertors/fromBackend/afm/result.d.ts.map +0 -1
  120. package/dist/convertors/fromBackend/afm/result.js +0 -28
  121. package/dist/convertors/fromBackend/afm/result.js.map +0 -1
  122. package/dist/customBackend/config.d.ts +0 -151
  123. package/dist/customBackend/config.d.ts.map +0 -1
  124. package/dist/customBackend/config.js +0 -3
  125. package/dist/customBackend/config.js.map +0 -1
  126. package/dist/customBackend/execution.d.ts +0 -14
  127. package/dist/customBackend/execution.d.ts.map +0 -1
  128. package/dist/customBackend/execution.js +0 -139
  129. package/dist/customBackend/execution.js.map +0 -1
  130. package/dist/customBackend/index.d.ts +0 -47
  131. package/dist/customBackend/index.d.ts.map +0 -1
  132. package/dist/customBackend/index.js +0 -150
  133. package/dist/customBackend/index.js.map +0 -1
  134. package/dist/customBackend/workspace.d.ts +0 -29
  135. package/dist/customBackend/workspace.d.ts.map +0 -1
  136. package/dist/customBackend/workspace.js +0 -78
  137. package/dist/customBackend/workspace.js.map +0 -1
  138. package/dist/decoratedBackend/attributes.d.ts +0 -19
  139. package/dist/decoratedBackend/attributes.d.ts.map +0 -1
  140. package/dist/decoratedBackend/attributes.js +0 -41
  141. package/dist/decoratedBackend/attributes.js.map +0 -1
  142. package/dist/decoratedBackend/catalog.d.ts +0 -46
  143. package/dist/decoratedBackend/catalog.d.ts.map +0 -1
  144. package/dist/decoratedBackend/catalog.js +0 -70
  145. package/dist/decoratedBackend/catalog.js.map +0 -1
  146. package/dist/decoratedBackend/dashboards.d.ts +0 -40
  147. package/dist/decoratedBackend/dashboards.d.ts.map +0 -1
  148. package/dist/decoratedBackend/dashboards.js +0 -101
  149. package/dist/decoratedBackend/dashboards.js.map +0 -1
  150. package/dist/decoratedBackend/elements.d.ts +0 -66
  151. package/dist/decoratedBackend/elements.d.ts.map +0 -1
  152. package/dist/decoratedBackend/elements.js +0 -81
  153. package/dist/decoratedBackend/elements.js.map +0 -1
  154. package/dist/decoratedBackend/execution.d.ts +0 -107
  155. package/dist/decoratedBackend/execution.d.ts.map +0 -1
  156. package/dist/decoratedBackend/execution.js +0 -152
  157. package/dist/decoratedBackend/execution.js.map +0 -1
  158. package/dist/decoratedBackend/index.d.ts +0 -54
  159. package/dist/decoratedBackend/index.d.ts.map +0 -1
  160. package/dist/decoratedBackend/index.js +0 -181
  161. package/dist/decoratedBackend/index.js.map +0 -1
  162. package/dist/decoratedBackend/securitySettings.d.ts +0 -12
  163. package/dist/decoratedBackend/securitySettings.d.ts.map +0 -1
  164. package/dist/decoratedBackend/securitySettings.js +0 -21
  165. package/dist/decoratedBackend/securitySettings.js.map +0 -1
  166. package/dist/decoratedBackend/workspaceSettings.d.ts +0 -12
  167. package/dist/decoratedBackend/workspaceSettings.d.ts.map +0 -1
  168. package/dist/decoratedBackend/workspaceSettings.js +0 -22
  169. package/dist/decoratedBackend/workspaceSettings.js.map +0 -1
  170. package/dist/dummyBackend/index.d.ts +0 -62
  171. package/dist/dummyBackend/index.d.ts.map +0 -1
  172. package/dist/dummyBackend/index.js +0 -729
  173. package/dist/dummyBackend/index.js.map +0 -1
  174. package/dist/eventingBackend/index.d.ts +0 -74
  175. package/dist/eventingBackend/index.d.ts.map +0 -1
  176. package/dist/eventingBackend/index.js +0 -84
  177. package/dist/eventingBackend/index.js.map +0 -1
  178. package/dist/index.d.ts +0 -48
  179. package/dist/index.d.ts.map +0 -1
  180. package/dist/index.js +0 -117
  181. package/dist/index.js.map +0 -1
  182. package/dist/ldmFactories/builder.d.ts +0 -75
  183. package/dist/ldmFactories/builder.d.ts.map +0 -1
  184. package/dist/ldmFactories/builder.js +0 -59
  185. package/dist/ldmFactories/builder.js.map +0 -1
  186. package/dist/ldmFactories/catalog/attributeFactory.d.ts +0 -27
  187. package/dist/ldmFactories/catalog/attributeFactory.d.ts.map +0 -1
  188. package/dist/ldmFactories/catalog/attributeFactory.js +0 -63
  189. package/dist/ldmFactories/catalog/attributeFactory.js.map +0 -1
  190. package/dist/ldmFactories/catalog/dateDatasetFactory.d.ts +0 -44
  191. package/dist/ldmFactories/catalog/dateDatasetFactory.d.ts.map +0 -1
  192. package/dist/ldmFactories/catalog/dateDatasetFactory.js +0 -87
  193. package/dist/ldmFactories/catalog/dateDatasetFactory.js.map +0 -1
  194. package/dist/ldmFactories/catalog/factFactory.d.ts +0 -22
  195. package/dist/ldmFactories/catalog/factFactory.d.ts.map +0 -1
  196. package/dist/ldmFactories/catalog/factFactory.js +0 -38
  197. package/dist/ldmFactories/catalog/factFactory.js.map +0 -1
  198. package/dist/ldmFactories/catalog/groupFactory.d.ts +0 -38
  199. package/dist/ldmFactories/catalog/groupFactory.d.ts.map +0 -1
  200. package/dist/ldmFactories/catalog/groupFactory.js +0 -47
  201. package/dist/ldmFactories/catalog/groupFactory.js.map +0 -1
  202. package/dist/ldmFactories/catalog/measureFactory.d.ts +0 -23
  203. package/dist/ldmFactories/catalog/measureFactory.d.ts.map +0 -1
  204. package/dist/ldmFactories/catalog/measureFactory.js +0 -45
  205. package/dist/ldmFactories/catalog/measureFactory.js.map +0 -1
  206. package/dist/ldmFactories/dashboard/insightWidgetFactory.d.ts +0 -31
  207. package/dist/ldmFactories/dashboard/insightWidgetFactory.d.ts.map +0 -1
  208. package/dist/ldmFactories/dashboard/insightWidgetFactory.js +0 -45
  209. package/dist/ldmFactories/dashboard/insightWidgetFactory.js.map +0 -1
  210. package/dist/ldmFactories/dashboard/kpiWidgetFactory.d.ts +0 -34
  211. package/dist/ldmFactories/dashboard/kpiWidgetFactory.d.ts.map +0 -1
  212. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js +0 -55
  213. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js.map +0 -1
  214. package/dist/ldmFactories/dashboard/widgetFactory.d.ts +0 -31
  215. package/dist/ldmFactories/dashboard/widgetFactory.d.ts.map +0 -1
  216. package/dist/ldmFactories/dashboard/widgetFactory.js +0 -29
  217. package/dist/ldmFactories/dashboard/widgetFactory.js.map +0 -1
  218. package/dist/ldmFactories/metadata/attributeFactory.d.ts +0 -24
  219. package/dist/ldmFactories/metadata/attributeFactory.d.ts.map +0 -1
  220. package/dist/ldmFactories/metadata/attributeFactory.js +0 -44
  221. package/dist/ldmFactories/metadata/attributeFactory.js.map +0 -1
  222. package/dist/ldmFactories/metadata/dashboardFactory.d.ts +0 -21
  223. package/dist/ldmFactories/metadata/dashboardFactory.d.ts.map +0 -1
  224. package/dist/ldmFactories/metadata/dashboardFactory.js +0 -28
  225. package/dist/ldmFactories/metadata/dashboardFactory.js.map +0 -1
  226. package/dist/ldmFactories/metadata/dataSetFactory.d.ts +0 -21
  227. package/dist/ldmFactories/metadata/dataSetFactory.d.ts.map +0 -1
  228. package/dist/ldmFactories/metadata/dataSetFactory.js +0 -28
  229. package/dist/ldmFactories/metadata/dataSetFactory.js.map +0 -1
  230. package/dist/ldmFactories/metadata/displayFormFactory.d.ts +0 -24
  231. package/dist/ldmFactories/metadata/displayFormFactory.d.ts.map +0 -1
  232. package/dist/ldmFactories/metadata/displayFormFactory.js +0 -40
  233. package/dist/ldmFactories/metadata/displayFormFactory.js.map +0 -1
  234. package/dist/ldmFactories/metadata/factFactory.d.ts +0 -21
  235. package/dist/ldmFactories/metadata/factFactory.d.ts.map +0 -1
  236. package/dist/ldmFactories/metadata/factFactory.js +0 -28
  237. package/dist/ldmFactories/metadata/factFactory.js.map +0 -1
  238. package/dist/ldmFactories/metadata/factory.d.ts +0 -74
  239. package/dist/ldmFactories/metadata/factory.d.ts.map +0 -1
  240. package/dist/ldmFactories/metadata/factory.js +0 -43
  241. package/dist/ldmFactories/metadata/factory.js.map +0 -1
  242. package/dist/ldmFactories/metadata/measureFactory.d.ts +0 -24
  243. package/dist/ldmFactories/metadata/measureFactory.d.ts.map +0 -1
  244. package/dist/ldmFactories/metadata/measureFactory.js +0 -40
  245. package/dist/ldmFactories/metadata/measureFactory.js.map +0 -1
  246. package/dist/ldmFactories/metadata/variableFactory.d.ts +0 -21
  247. package/dist/ldmFactories/metadata/variableFactory.d.ts.map +0 -1
  248. package/dist/ldmFactories/metadata/variableFactory.js +0 -28
  249. package/dist/ldmFactories/metadata/variableFactory.js.map +0 -1
  250. package/dist/normalizingBackend/index.d.ts +0 -46
  251. package/dist/normalizingBackend/index.d.ts.map +0 -1
  252. package/dist/normalizingBackend/index.js +0 -174
  253. package/dist/normalizingBackend/index.js.map +0 -1
  254. package/dist/normalizingBackend/normalizer.d.ts +0 -131
  255. package/dist/normalizingBackend/normalizer.d.ts.map +0 -1
  256. package/dist/normalizingBackend/normalizer.js +0 -352
  257. package/dist/normalizingBackend/normalizer.js.map +0 -1
  258. package/dist/toolkit/auth.d.ts +0 -83
  259. package/dist/toolkit/auth.d.ts.map +0 -1
  260. package/dist/toolkit/auth.js +0 -106
  261. package/dist/toolkit/auth.js.map +0 -1
  262. package/dist/toolkit/backend.d.ts +0 -8
  263. package/dist/toolkit/backend.d.ts.map +0 -1
  264. package/dist/toolkit/backend.js +0 -3
  265. package/dist/toolkit/backend.js.map +0 -1
  266. package/dist/toolkit/execution.d.ts +0 -54
  267. package/dist/toolkit/execution.d.ts.map +0 -1
  268. package/dist/toolkit/execution.js +0 -88
  269. package/dist/toolkit/execution.js.map +0 -1
  270. package/dist/toolkit/paging.d.ts +0 -52
  271. package/dist/toolkit/paging.d.ts.map +0 -1
  272. package/dist/toolkit/paging.js +0 -109
  273. package/dist/toolkit/paging.js.map +0 -1
  274. package/dist/toolkit/pluginUrlValidation.d.ts +0 -9
  275. package/dist/toolkit/pluginUrlValidation.d.ts.map +0 -1
  276. package/dist/toolkit/pluginUrlValidation.js +0 -50
  277. package/dist/toolkit/pluginUrlValidation.js.map +0 -1
  278. package/dist/workspaceSettingsBackend/index.d.ts +0 -53
  279. package/dist/workspaceSettingsBackend/index.d.ts.map +0 -1
  280. package/dist/workspaceSettingsBackend/index.js +0 -42
  281. package/dist/workspaceSettingsBackend/index.js.map +0 -1
@@ -1,352 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Normalizer = exports.Denormalizer = void 0;
4
- const tslib_1 = require("tslib");
5
- // (C) 2007-2023 GoodData Corporation
6
- const sdk_model_1 = require("@gooddata/sdk-model");
7
- const ts_invariant_1 = tslib_1.__importDefault(require("ts-invariant"));
8
- const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
9
- const cloneDeepWith_1 = tslib_1.__importDefault(require("lodash/cloneDeepWith"));
10
- const keyBy_1 = tslib_1.__importDefault(require("lodash/keyBy"));
11
- /**
12
- * @internal
13
- */
14
- class Denormalizer {
15
- static from(state) {
16
- return new Denormalizer(state);
17
- }
18
- constructor(state) {
19
- this.state = state;
20
- /**
21
- * Given the current normalization state, this method transforms the dimension descriptors of the
22
- * normalized execution, so that all the customization of the original execution definition is restored
23
- * into them:
24
- *
25
- * - Reverse lookup of local identifiers happens
26
- * - Attribute / Measure name is set according to the defined alias
27
- * - Measure format is set according to the format in definition
28
- *
29
- * @param normalizedDims - normalized dimension descriptors
30
- * @returns new descriptors
31
- */
32
- this.denormalizeDimDescriptors = (normalizedDims) => {
33
- var _a;
34
- const measureGroup = (_a = normalizedDims
35
- .find((normalizedDim) => normalizedDim.headers.find((header) => (0, sdk_model_1.isMeasureGroupDescriptor)(header)))) === null || _a === void 0 ? void 0 : _a.headers.find((header) => (0, sdk_model_1.isMeasureGroupDescriptor)(header));
36
- return (0, cloneDeepWith_1.default)(normalizedDims, (value) => {
37
- var _a;
38
- if ((0, sdk_model_1.isAttributeDescriptor)(value)) {
39
- const localIdentifier = this.originalLocalId(value.attributeHeader.localIdentifier);
40
- const attribute = this.originalAttributes[localIdentifier];
41
- const name = (0, sdk_model_1.attributeAlias)(attribute) || value.attributeHeader.formOf.name;
42
- return {
43
- attributeHeader: Object.assign(Object.assign({}, value.attributeHeader), { localIdentifier, formOf: Object.assign(Object.assign({}, value.attributeHeader.formOf), { name }) }),
44
- };
45
- }
46
- else if ((0, sdk_model_1.isMeasureDescriptor)(value)) {
47
- const localIdentifier = this.originalLocalId(value.measureHeaderItem.localIdentifier);
48
- const measure = this.originalMeasures[localIdentifier];
49
- const masterMeasureId = (0, sdk_model_1.measureMasterIdentifier)(measure);
50
- const masterMeasureInheritFormat = (0, sdk_model_1.isMeasureGroupDescriptor)(measureGroup) &&
51
- ((_a = measureGroup.measureGroupHeader.items.find((item) => this.originalLocalId(item.measureHeaderItem.localIdentifier) === masterMeasureId)) === null || _a === void 0 ? void 0 : _a.measureHeaderItem.format);
52
- /**
53
- * Measure format is taken by priority from:
54
- * 1) the chosen format of the measure (undefined for inherited format and derived measures)
55
- * 2) the chosen format of the master measure (undefined for inherited format and master)
56
- * 3) the inherited format of master measure (undefined for master)
57
- * 4) the inherited format for master measure or default "#,#.##" for derived
58
- */
59
- const format = (0, sdk_model_1.measureFormat)(measure) ||
60
- (masterMeasureId && (0, sdk_model_1.measureFormat)(this.originalMeasures[masterMeasureId])) ||
61
- masterMeasureInheritFormat ||
62
- value.measureHeaderItem.format;
63
- const name = this.originalMeasureTitle(measure, value.measureHeaderItem.name);
64
- return {
65
- measureHeaderItem: Object.assign(Object.assign({}, value.measureHeaderItem), { localIdentifier,
66
- format,
67
- name }),
68
- };
69
- }
70
- // let the default logic handle this
71
- return undefined;
72
- });
73
- };
74
- /**
75
- * Derived measures or arithmetic measures have the 'name' in result header defaulted to measure
76
- * localId. This method deals with it. It creates a copy of headers with the measure headers denormalized,
77
- * values replaced with the contents of alias or title (whichever comes first).
78
- *
79
- * @param headerItems - headers to denormalize, copy will be done
80
- * @returns new headers
81
- */
82
- this.denormalizeHeaders = (headerItems) => {
83
- return (0, cloneDeepWith_1.default)(headerItems, (value) => {
84
- if ((0, sdk_model_1.isResultMeasureHeader)(value)) {
85
- return {
86
- measureHeaderItem: {
87
- name: this.fillOriginalMeasureTitle(value.measureHeaderItem.name),
88
- order: value.measureHeaderItem.order,
89
- },
90
- };
91
- }
92
- // let the default logic handle this
93
- return undefined;
94
- });
95
- };
96
- this.originalLocalId = (normalized) => {
97
- const value = this.state.n2oMap[normalized];
98
- (0, ts_invariant_1.default)(value, `mapping from normalized to real localId does not exist. Normalized: ${normalized}`);
99
- return value;
100
- };
101
- this.fillOriginalMeasureTitle = (name) => {
102
- const originalLocalId = this.state.n2oMap[name];
103
- if (!originalLocalId) {
104
- return name;
105
- }
106
- const measure = this.originalMeasures[originalLocalId];
107
- if (!measure) {
108
- return name;
109
- }
110
- return this.originalMeasureTitle(measure, name);
111
- };
112
- this.originalMeasureTitle = (originalDef, nameFromBackend) => {
113
- return (0, sdk_model_1.measureAlias)(originalDef) || (0, sdk_model_1.measureTitle)(originalDef) || nameFromBackend;
114
- };
115
- this.originalAttributes = (0, keyBy_1.default)(state.original.attributes, sdk_model_1.attributeLocalId);
116
- this.originalMeasures = (0, keyBy_1.default)(state.original.measures, sdk_model_1.measureLocalId);
117
- }
118
- }
119
- exports.Denormalizer = Denormalizer;
120
- /**
121
- * The normalization of execution definition means stripping away all the detail that is unnecessary for the
122
- * backend:
123
- *
124
- * - attribute / measure alias
125
- * - measure title
126
- * - measure format
127
- * - custom-crafted local IDs
128
- *
129
- * The code does the job by _mutating_ a clone of the original definition. The mutation approach, while not
130
- * backed by functionality in sdk-model and therefore somewhat hacky, is a simpler one for this task.
131
- *
132
- * The main reason behind that is the occurrence of attribute and measure objects in multiple parts of the
133
- * execution definition: same attributes and measures are referenced from both buckets and the attributes and measures
134
- * props of the execution definition. Mutating values means that after normalizing values the execution definition
135
- * is fully normalized.
136
- *
137
- * @internal
138
- */
139
- class Normalizer {
140
- static normalize(def, options) {
141
- const n = new Normalizer(def, options);
142
- return n.normalize();
143
- }
144
- constructor(original, options = {}) {
145
- this.original = original;
146
- this.options = options;
147
- /**
148
- * original to normalized local id map
149
- */
150
- this.o2nMap = {};
151
- /**
152
- * normalized to original local id map
153
- */
154
- this.n2oMap = {};
155
- this.originalMeasures = new Map();
156
- this.alreadyNormalized = [];
157
- /**
158
- * Creates a new mapping between original local ID and the proposed normalized local ID. This method
159
- * ensures uniqueness of the normalized local ID. If the proposed normalized local ID is taken, it will
160
- * append a suffix to make a unique local ID.
161
- *
162
- * This can happen if the original execution definition contains same measure / attribute multiple times,
163
- * each time using different local ID.
164
- */
165
- this.createUniqueMapping = (original, normalized) => {
166
- (0, ts_invariant_1.default)(!this.o2nMap[original], `duplicate localId used in execution definition: ${original}`);
167
- let uniqueNormalized = normalized;
168
- let attempt = 1;
169
- while (this.n2oMap[uniqueNormalized]) {
170
- uniqueNormalized = `${normalized}_${attempt}`;
171
- attempt += 1;
172
- }
173
- this.o2nMap[original] = uniqueNormalized;
174
- this.n2oMap[uniqueNormalized] = original;
175
- return uniqueNormalized;
176
- };
177
- this.normalizedLocalId = (original) => {
178
- const value = this.o2nMap[original];
179
- (0, ts_invariant_1.default)(value, `dangling localId reference. Target: ${original}`);
180
- return value;
181
- };
182
- this.maybeNormalizedLocalId = (original) => {
183
- return this.o2nMap[original];
184
- };
185
- this.normalizeAttributes = () => {
186
- this.normalized.attributes.forEach((attr) => {
187
- if (!this.options.keepRemovableProperties) {
188
- delete attr.attribute.alias;
189
- }
190
- const originalLocalId = (0, sdk_model_1.attributeLocalId)(attr);
191
- const normalizedLocalId = (0, sdk_model_1.attributeLocalId)((0, sdk_model_1.modifyAttribute)(attr, (m) => m.noAlias().defaultLocalId()));
192
- attr.attribute.localIdentifier = this.createUniqueMapping(originalLocalId, normalizedLocalId);
193
- });
194
- };
195
- /**
196
- * Simple measure normalization will toss away noop filters. There is nothing else to do.
197
- */
198
- this.normalizeSimple = (def) => {
199
- var _a;
200
- if (!def.measureDefinition.filters) {
201
- return;
202
- }
203
- def.measureDefinition.filters = (_a = def.measureDefinition.filters) === null || _a === void 0 ? void 0 : _a.filter((filter) => {
204
- return !(0, sdk_model_1.isNegativeAttributeFilter)(filter) || !(0, sdk_model_1.filterIsEmpty)(filter);
205
- });
206
- };
207
- this.normalizePoP = (def, path) => {
208
- const masterMeasure = def.popMeasureDefinition.measureIdentifier;
209
- const normalizedId = this.maybeNormalizedLocalId(masterMeasure) || this.normalizeMeasureByLocalId(masterMeasure, path);
210
- def.popMeasureDefinition.measureIdentifier = normalizedId;
211
- };
212
- this.normalizePreviousPeriod = (def, path) => {
213
- const masterMeasure = def.previousPeriodMeasure.measureIdentifier;
214
- const normalizedId = this.maybeNormalizedLocalId(masterMeasure) || this.normalizeMeasureByLocalId(masterMeasure, path);
215
- def.previousPeriodMeasure.measureIdentifier = normalizedId;
216
- };
217
- this.normalizeArithmetic = (def, path) => {
218
- const normalizedIds = def.arithmeticMeasure.measureIdentifiers.map((operand) => {
219
- return this.maybeNormalizedLocalId(operand) || this.normalizeMeasureByLocalId(operand, path);
220
- });
221
- def.arithmeticMeasure.measureIdentifiers = normalizedIds;
222
- };
223
- this.normalizeMeasure = (measure, path = new Set()) => {
224
- const localId = (0, sdk_model_1.measureLocalId)(measure);
225
- const definition = measure.measure.definition;
226
- /*
227
- * don't do anything if the measure is already normalized;
228
- *
229
- * this can happen as master / derived / arithmetic measures can be mixed in the measures array
230
- * in any order & the recursive algorithm goes after the leaves first and then gets to the measure
231
- * once again as it walks the array
232
- */
233
- if (this.alreadyNormalized.find((m) => m === measure)) {
234
- // if already normalized, the measure has been mutated and the localId is the normalized one
235
- return localId;
236
- }
237
- /*
238
- * circular dependency detection and bail-out.
239
- */
240
- (0, ts_invariant_1.default)(!path.has(localId), `circular dependency on measure with localId ${localId}`);
241
- path.add(localId);
242
- if ((0, sdk_model_1.isPoPMeasureDefinition)(definition)) {
243
- this.normalizePoP(definition, path);
244
- }
245
- else if ((0, sdk_model_1.isPreviousPeriodMeasureDefinition)(definition)) {
246
- this.normalizePreviousPeriod(definition, path);
247
- }
248
- else if ((0, sdk_model_1.isArithmeticMeasureDefinition)(definition)) {
249
- this.normalizeArithmetic(definition, path);
250
- }
251
- else if ((0, sdk_model_1.isMeasureDefinition)(definition)) {
252
- this.normalizeSimple(definition);
253
- }
254
- if (!this.options.keepRemovableProperties) {
255
- delete measure.measure.alias;
256
- delete measure.measure.title;
257
- delete measure.measure.format;
258
- }
259
- const newLocalId = (0, sdk_model_1.measureLocalId)((0, sdk_model_1.modifyMeasure)(measure, (m) => m.noAlias().noTitle().defaultFormat().defaultLocalId()));
260
- const newUniqueLocalId = this.createUniqueMapping(localId, newLocalId);
261
- measure.measure.localIdentifier = newUniqueLocalId;
262
- this.alreadyNormalized.push(measure);
263
- return newUniqueLocalId;
264
- };
265
- this.normalizeMeasureByLocalId = (localId, path) => {
266
- const measure = this.originalMeasures.get(localId);
267
- (0, ts_invariant_1.default)(measure, `measure with localId ${localId} could not be found`);
268
- return this.normalizeMeasure(measure, path);
269
- };
270
- this.normalizeMeasures = () => {
271
- this.normalized.measures.forEach((measure) => this.normalizeMeasure(measure));
272
- };
273
- this.normalizeFilters = () => {
274
- this.normalized.filters.forEach((filter) => {
275
- if ((0, sdk_model_1.isMeasureValueFilter)(filter)) {
276
- const ref = filter.measureValueFilter.measure;
277
- if ((0, sdk_model_1.isLocalIdRef)(ref)) {
278
- ref.localIdentifier = this.normalizedLocalId(ref.localIdentifier);
279
- }
280
- }
281
- if ((0, sdk_model_1.isRankingFilter)(filter)) {
282
- const { measure, attributes = [] } = filter.rankingFilter;
283
- [...attributes, measure].filter(sdk_model_1.isLocalIdRef).forEach((ref) => {
284
- ref.localIdentifier = this.normalizedLocalId(ref.localIdentifier);
285
- });
286
- }
287
- });
288
- };
289
- this.normalizeSorts = () => {
290
- this.normalized.sortBy.forEach((sort) => {
291
- if ((0, sdk_model_1.isAttributeSort)(sort)) {
292
- sort.attributeSortItem.attributeIdentifier = this.normalizedLocalId(sort.attributeSortItem.attributeIdentifier);
293
- }
294
- else if ((0, sdk_model_1.isMeasureSort)(sort)) {
295
- sort.measureSortItem.locators.forEach((locator) => {
296
- if ((0, sdk_model_1.isAttributeLocator)(locator)) {
297
- locator.attributeLocatorItem.attributeIdentifier = this.normalizedLocalId(locator.attributeLocatorItem.attributeIdentifier);
298
- }
299
- else if ((0, sdk_model_1.isMeasureLocator)(locator)) {
300
- locator.measureLocatorItem.measureIdentifier = this.normalizedLocalId(locator.measureLocatorItem.measureIdentifier);
301
- }
302
- });
303
- }
304
- });
305
- };
306
- this.normalizeDimensions = () => {
307
- this.normalized.dimensions.forEach((dim) => {
308
- dim.itemIdentifiers = dim.itemIdentifiers.map((item) => {
309
- if (item === sdk_model_1.MeasureGroupIdentifier) {
310
- return item;
311
- }
312
- else {
313
- return this.normalizedLocalId(item);
314
- }
315
- });
316
- if (dim.totals) {
317
- dim.totals.forEach((total) => {
318
- total.attributeIdentifier = this.normalizedLocalId(total.attributeIdentifier);
319
- total.measureIdentifier = this.normalizedLocalId(total.measureIdentifier);
320
- });
321
- }
322
- });
323
- };
324
- this.normalize = () => {
325
- this.normalizeAttributes();
326
- this.normalizeMeasures();
327
- this.normalizeFilters();
328
- this.normalizeSorts();
329
- this.normalizeDimensions();
330
- return {
331
- normalized: this.normalized,
332
- original: this.original,
333
- n2oMap: this.n2oMap,
334
- };
335
- };
336
- const copy = (0, cloneDeep_1.default)(this.original);
337
- // throw away noop filters
338
- const filters = copy.filters.filter((f) => {
339
- if ((0, sdk_model_1.isAttributeFilter)(f)) {
340
- return !(0, sdk_model_1.filterIsEmpty)(f) || (0, sdk_model_1.isPositiveAttributeFilter)(f);
341
- }
342
- else if ((0, sdk_model_1.isMeasureValueFilter)(f)) {
343
- return (0, sdk_model_1.measureValueFilterCondition)(f) !== undefined;
344
- }
345
- return true;
346
- });
347
- this.normalized = Object.assign(Object.assign({}, copy), { filters });
348
- copy.measures.forEach((measure) => this.originalMeasures.set((0, sdk_model_1.measureLocalId)(measure), measure));
349
- }
350
- }
351
- exports.Normalizer = Normalizer;
352
- //# sourceMappingURL=normalizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizer.js","sourceRoot":"","sources":["../../src/normalizingBackend/normalizer.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,mDA0C6B;AAC7B,wEAAqC;AACrC,yEAAyC;AACzC,iFAAiD;AACjD,iEAAiC;AA2BjC;;GAEG;AACH,MAAa,YAAY;IACd,MAAM,CAAC,IAAI,CAAC,KAAyB;QACxC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAKD,YAAoC,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;QAK7D;;;;;;;;;;;WAWG;QACI,8BAAyB,GAAG,CAAC,cAAsC,EAA0B,EAAE;;YAClG,MAAM,YAAY,GAAG,MAAA,cAAc;iBAC9B,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,oCAAwB,EAAC,MAAM,CAAC,CAAC,CAAC,0CAChG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,oCAAwB,EAAC,MAAM,CAAC,CAAC,CAAC;YAEjE,OAAO,IAAA,uBAAa,EAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;;gBAC3C,IAAI,IAAA,iCAAqB,EAAC,KAAK,CAAC,EAAE;oBAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;oBACpF,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAE,CAAC;oBAC5D,MAAM,IAAI,GAAG,IAAA,0BAAc,EAAC,SAAS,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;oBAE5E,OAAO;wBACH,eAAe,kCACR,KAAK,CAAC,eAAe,KACxB,eAAe,EACf,MAAM,kCACC,KAAK,CAAC,eAAe,CAAC,MAAM,KAC/B,IAAI,MAEX;qBACJ,CAAC;iBACL;qBAAM,IAAI,IAAA,+BAAmB,EAAC,KAAK,CAAC,EAAE;oBACnC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;oBACtF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAE,CAAC;oBACxD,MAAM,eAAe,GAAG,IAAA,mCAAuB,EAAC,OAAO,CAAC,CAAC;oBACzD,MAAM,0BAA0B,GAC5B,IAAA,oCAAwB,EAAC,YAAY,CAAC;yBACtC,MAAA,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CACtC,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,eAAe,CACvF,0CAAE,iBAAiB,CAAC,MAAM,CAAA,CAAC;oBAChC;;;;;;uBAMG;oBACH,MAAM,MAAM,GACR,IAAA,yBAAa,EAAC,OAAO,CAAC;wBACtB,CAAC,eAAe,IAAI,IAAA,yBAAa,EAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;wBAC1E,0BAA0B;wBAC1B,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;oBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAE9E,OAAO;wBACH,iBAAiB,kCACV,KAAK,CAAC,iBAAiB,KAC1B,eAAe;4BACf,MAAM;4BACN,IAAI,GACP;qBACJ,CAAC;iBACL;gBAED,oCAAoC;gBACpC,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF;;;;;;;WAOG;QACI,uBAAkB,GAAG,CAAC,WAAgC,EAAuB,EAAE;YAClF,OAAO,IAAA,uBAAa,EAAC,WAAW,EAAE,CAAC,KAAK,EAAoC,EAAE;gBAC1E,IAAI,IAAA,iCAAqB,EAAC,KAAK,CAAC,EAAE;oBAC9B,OAAO;wBACH,iBAAiB,EAAE;4BACf,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;4BACjE,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK;yBACvC;qBACJ,CAAC;iBACL;gBAED,oCAAoC;gBACpC,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,UAAkB,EAAU,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE5C,IAAA,sBAAS,EAAC,KAAK,EAAE,uEAAuE,UAAU,EAAE,CAAC,CAAC;YAEtG,OAAO,KAAM,CAAC;QAClB,CAAC,CAAC;QAEM,6BAAwB,GAAG,CAAC,IAAY,EAAU,EAAE;YACxD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,eAAe,EAAE;gBAClB,OAAO,IAAI,CAAC;aACf;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAEvD,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,IAAI,CAAC;aACf;YAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,WAAqB,EAAE,eAAuB,EAAU,EAAE;YACtF,OAAO,IAAA,wBAAY,EAAC,WAAW,CAAC,IAAI,IAAA,wBAAY,EAAC,WAAW,CAAC,IAAI,eAAe,CAAC;QACrF,CAAC,CAAC;QA9HE,IAAI,CAAC,kBAAkB,GAAG,IAAA,eAAK,EAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,4BAAgB,CAAC,CAAC;QAC7E,IAAI,CAAC,gBAAgB,GAAG,IAAA,eAAK,EAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,0BAAc,CAAC,CAAC;IAC3E,CAAC;CA6HJ;AAxID,oCAwIC;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,UAAU;IACZ,MAAM,CAAC,SAAS,CAAC,GAAyB,EAAE,OAA4B;QAC3E,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEvC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IAkBD,YACoB,QAA8B,EAC3B,UAA8B,EAAE;QADnC,aAAQ,GAAR,QAAQ,CAAsB;QAC3B,YAAO,GAAP,OAAO,CAAyB;QAhBvD;;WAEG;QACc,WAAM,GAAe,EAAE,CAAC;QAEzC;;WAEG;QACc,WAAM,GAAe,EAAE,CAAC;QAExB,qBAAgB,GAA0B,IAAI,GAAG,EAAoB,CAAC;QAEtE,sBAAiB,GAAe,EAAE,CAAC;QA2BpD;;;;;;;WAOG;QACK,wBAAmB,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAU,EAAE;YAC3E,IAAA,sBAAS,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,mDAAmD,QAAQ,EAAE,CAAC,CAAC;YAEjG,IAAI,gBAAgB,GAAG,UAAU,CAAC;YAClC,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;gBAClC,gBAAgB,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;YAEzC,OAAO,gBAAgB,CAAC;QAC5B,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEpC,IAAA,sBAAS,EAAC,KAAK,EAAE,uCAAuC,QAAQ,EAAE,CAAC,CAAC;YAEpE,OAAO,KAAM,CAAC;QAClB,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,QAAgB,EAAsB,EAAE;YACtE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;QAEM,wBAAmB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;oBACvC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;iBAC/B;gBAED,MAAM,eAAe,GAAG,IAAA,4BAAgB,EAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,iBAAiB,GAAG,IAAA,4BAAgB,EACtC,IAAA,2BAAe,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC,CAC7D,CAAC;gBAEF,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF;;WAEG;QACK,oBAAe,GAAG,CAAC,GAAuB,EAAE,EAAE;;YAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE;gBAChC,OAAO;aACV;YAED,GAAG,CAAC,iBAAiB,CAAC,OAAO,GAAG,MAAA,GAAG,CAAC,iBAAiB,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7E,OAAO,CAAC,IAAA,qCAAyB,EAAC,MAAM,CAAC,IAAI,CAAC,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,GAA0B,EAAE,IAAiB,EAAQ,EAAE;YAC3E,MAAM,aAAa,GAAG,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;YACjE,MAAM,YAAY,GACd,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAEtG,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,YAAY,CAAC;QAC9D,CAAC,CAAC;QAEM,4BAAuB,GAAG,CAAC,GAAqC,EAAE,IAAiB,EAAQ,EAAE;YACjG,MAAM,aAAa,GAAG,GAAG,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAClE,MAAM,YAAY,GACd,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAEtG,GAAG,CAAC,qBAAqB,CAAC,iBAAiB,GAAG,YAAY,CAAC;QAC/D,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,GAAiC,EAAE,IAAiB,EAAQ,EAAE;YACzF,MAAM,aAAa,GAAiB,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACzF,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC;QAC7D,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,OAAiB,EAAE,OAAoB,IAAI,GAAG,EAAE,EAAU,EAAE;YACpF,MAAM,OAAO,GAAG,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;YAE9C;;;;;;eAMG;YACH,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE;gBACnD,4FAA4F;gBAC5F,OAAO,OAAO,CAAC;aAClB;YAED;;eAEG;YACH,IAAA,sBAAS,EAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,+CAA+C,OAAO,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAElB,IAAI,IAAA,kCAAsB,EAAC,UAAU,CAAC,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aACvC;iBAAM,IAAI,IAAA,6CAAiC,EAAC,UAAU,CAAC,EAAE;gBACtD,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aAClD;iBAAM,IAAI,IAAA,yCAA6B,EAAC,UAAU,CAAC,EAAE;gBAClD,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aAC9C;iBAAM,IAAI,IAAA,+BAAmB,EAAC,UAAU,CAAC,EAAE;gBACxC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;aACpC;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;gBACvC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;aACjC;YAED,MAAM,UAAU,GAAG,IAAA,0BAAc,EAC7B,IAAA,yBAAa,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,CACxF,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEvE,OAAO,CAAC,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC;YAEnD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErC,OAAO,gBAAgB,CAAC;QAC5B,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAAC,OAAe,EAAE,IAAiB,EAAU,EAAE;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAA,sBAAS,EAAC,OAAO,EAAE,wBAAwB,OAAO,qBAAqB,CAAC,CAAC;YAEzE,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,IAAI,IAAA,gCAAoB,EAAC,MAAM,CAAC,EAAE;oBAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;oBAE9C,IAAI,IAAA,wBAAY,EAAC,GAAG,CAAC,EAAE;wBACnB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;qBACrE;iBACJ;gBAED,IAAI,IAAA,2BAAe,EAAC,MAAM,CAAC,EAAE;oBACzB,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;oBAE1D,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,wBAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC1D,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACtE,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,IAAI,IAAA,2BAAe,EAAC,IAAI,CAAC,EAAE;oBACvB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAC/D,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC;iBACL;qBAAM,IAAI,IAAA,yBAAa,EAAC,IAAI,CAAC,EAAE;oBAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC9C,IAAI,IAAA,8BAAkB,EAAC,OAAO,CAAC,EAAE;4BAC7B,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CACrE,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,CACnD,CAAC;yBACL;6BAAM,IAAI,IAAA,4BAAgB,EAAC,OAAO,CAAC,EAAE;4BAClC,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CACjE,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAC/C,CAAC;yBACL;oBACL,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,wBAAmB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnD,IAAI,IAAI,KAAK,kCAAsB,EAAE;wBACjC,OAAO,IAAI,CAAC;qBACf;yBAAM;wBACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBACvC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,MAAM,EAAE;oBACZ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACzB,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;wBAC9E,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAC9E,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,cAAS,GAAG,GAAuB,EAAE;YACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,OAAO;gBACH,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC;QACN,CAAC,CAAC;QArPE,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,IAAA,6BAAiB,EAAC,CAAC,CAAC,EAAE;gBACtB,OAAO,CAAC,IAAA,yBAAa,EAAC,CAAC,CAAC,IAAI,IAAA,qCAAyB,EAAC,CAAC,CAAC,CAAC;aAC5D;iBAAM,IAAI,IAAA,gCAAoB,EAAC,CAAC,CAAC,EAAE;gBAChC,OAAO,IAAA,uCAA2B,EAAC,CAAC,CAAC,KAAK,SAAS,CAAC;aACvD;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,mCACR,IAAI,KACP,OAAO,GACV,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAA,0BAAc,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACpG,CAAC;CAmOJ;AAjRD,gCAiRC"}
@@ -1,83 +0,0 @@
1
- import { IAuthenticatedPrincipal, IAuthenticationContext, ErrorConverter, IAuthenticationProvider, NotAuthenticated } from "@gooddata/sdk-backend-spi";
2
- /**
3
- * Authenticated async call context
4
- *
5
- * @beta
6
- */
7
- export interface IAuthenticatedAsyncCallContext {
8
- /**
9
- * Returns the currently authenticated principal.
10
- * Calling this function MAY trigger the authentication flow in case the current session
11
- * is not yet authenticated and the principal is unknown.
12
- * If the authentication flow fails, the NotAuthenticated error is thrown.
13
- */
14
- getPrincipal(): Promise<IAuthenticatedPrincipal>;
15
- }
16
- /**
17
- * Authenticated async call
18
- *
19
- * @beta
20
- */
21
- export type AuthenticatedAsyncCall<TSdk, TReturn> = (sdk: TSdk, context: IAuthenticatedAsyncCallContext) => Promise<TReturn>;
22
- /**
23
- * Authenticated call guard
24
- *
25
- * @beta
26
- */
27
- export type AuthenticatedCallGuard<TSdk = any> = <TReturn>(call: AuthenticatedAsyncCall<TSdk, TReturn>, errorConverter?: ErrorConverter) => Promise<TReturn>;
28
- /**
29
- * see AuthProviderCallGuard
30
- * @public
31
- */
32
- export interface IAuthProviderCallGuard extends IAuthenticationProvider {
33
- reset(): void;
34
- }
35
- /**
36
- * This implementation of auth provider ensures, that the auth provider is called exactly once in the happy path
37
- * execution where provider successfully authenticates a principal.
38
- *
39
- * If underlying provider fails, subsequent calls that need authentication will land in the provider.
40
- *
41
- * This class encapsulates the stateful nature of interaction of the provider across multiple different instances
42
- * of the bear backend, all of which are set with the same provider. All instances of the backend should be
43
- * subject to the same authentication flow AND the call to the authentication provider should be synchronized
44
- * through this scoped instance.
45
- *
46
- * @internal
47
- */
48
- export declare class AuthProviderCallGuard implements IAuthProviderCallGuard {
49
- private readonly realProvider;
50
- private inflightRequest;
51
- private principal;
52
- constructor(realProvider: IAuthenticationProvider);
53
- reset: () => void;
54
- initializeClient: (client: any) => void;
55
- onNotAuthenticated: (context: IAuthenticationContext, error: NotAuthenticated) => void;
56
- authenticate: (context: IAuthenticationContext) => Promise<IAuthenticatedPrincipal>;
57
- getCurrentPrincipal(context: IAuthenticationContext): Promise<IAuthenticatedPrincipal | null>;
58
- deauthenticate(context: IAuthenticationContext): Promise<void>;
59
- }
60
- /**
61
- * This implementation serves as a Null object for IAuthProviderCallGuard.
62
- *
63
- * @internal
64
- */
65
- export declare class NoopAuthProvider implements IAuthProviderCallGuard {
66
- authenticate(_context: IAuthenticationContext): Promise<IAuthenticatedPrincipal>;
67
- getCurrentPrincipal(_context: IAuthenticationContext): Promise<IAuthenticatedPrincipal | null>;
68
- deauthenticate(_context: IAuthenticationContext): Promise<void>;
69
- reset(): void;
70
- }
71
- export declare const AnonymousUser: IAuthenticatedPrincipal;
72
- /**
73
- * This is a noop implementation of authentication provider - it does nothing and assumes anonymous user.
74
- *
75
- * @public
76
- */
77
- export declare class AnonymousAuthProvider implements IAuthProviderCallGuard {
78
- authenticate(_context: IAuthenticationContext): Promise<IAuthenticatedPrincipal>;
79
- getCurrentPrincipal(_context: IAuthenticationContext): Promise<IAuthenticatedPrincipal | null>;
80
- deauthenticate(_context: IAuthenticationContext): Promise<void>;
81
- reset(): void;
82
- }
83
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/toolkit/auth.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EAEvB,gBAAgB,EACnB,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC3C;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,IAAI,CAChD,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,8BAA8B,KACtC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EACrD,IAAI,EAAE,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,cAAc,CAAC,EAAE,cAAc,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACnE,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAIpD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAHzC,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,SAAS,CAAsC;gBAE1B,YAAY,EAAE,uBAAuB;IAE3D,KAAK,QAAO,IAAI,CAErB;IAGK,gBAAgB,WAAY,GAAG,KAAG,IAAI,CAE3C;IAEK,kBAAkB,YAAa,sBAAsB,SAAS,gBAAgB,KAAG,IAAI,CAE1F;IAEK,YAAY,YAAa,sBAAsB,KAAG,QAAQ,uBAAuB,CAAC,CAwBvF;IAEK,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAIvF,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9E;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,sBAAsB;IACpD,YAAY,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIhF,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAI9F,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,KAAK,IAAI,IAAI;CAGvB;AAED,eAAO,MAAM,aAAa,EAAE,uBAE3B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IACzD,YAAY,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIhF,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAI9F,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,KAAK,IAAI,IAAI;CAGvB"}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AnonymousAuthProvider = exports.AnonymousUser = exports.NoopAuthProvider = exports.AuthProviderCallGuard = void 0;
4
- // (C) 2019-2021 GoodData Corporation
5
- const sdk_backend_spi_1 = require("@gooddata/sdk-backend-spi");
6
- /**
7
- * This implementation of auth provider ensures, that the auth provider is called exactly once in the happy path
8
- * execution where provider successfully authenticates a principal.
9
- *
10
- * If underlying provider fails, subsequent calls that need authentication will land in the provider.
11
- *
12
- * This class encapsulates the stateful nature of interaction of the provider across multiple different instances
13
- * of the bear backend, all of which are set with the same provider. All instances of the backend should be
14
- * subject to the same authentication flow AND the call to the authentication provider should be synchronized
15
- * through this scoped instance.
16
- *
17
- * @internal
18
- */
19
- class AuthProviderCallGuard {
20
- constructor(realProvider) {
21
- this.realProvider = realProvider;
22
- this.reset = () => {
23
- this.principal = undefined;
24
- };
25
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
26
- this.initializeClient = (client) => {
27
- var _a, _b;
28
- (_b = (_a = this.realProvider).initializeClient) === null || _b === void 0 ? void 0 : _b.call(_a, client);
29
- };
30
- this.onNotAuthenticated = (context, error) => {
31
- var _a, _b;
32
- (_b = (_a = this.realProvider).onNotAuthenticated) === null || _b === void 0 ? void 0 : _b.call(_a, context, error);
33
- };
34
- this.authenticate = (context) => {
35
- if (this.principal) {
36
- return Promise.resolve(this.principal);
37
- }
38
- if (this.inflightRequest) {
39
- return this.inflightRequest;
40
- }
41
- this.inflightRequest = this.realProvider
42
- .authenticate(context)
43
- .then((res) => {
44
- this.principal = res;
45
- this.inflightRequest = undefined;
46
- return res;
47
- })
48
- .catch((err) => {
49
- this.inflightRequest = undefined;
50
- throw err;
51
- });
52
- return this.inflightRequest;
53
- };
54
- }
55
- getCurrentPrincipal(context) {
56
- return this.realProvider.getCurrentPrincipal(context);
57
- }
58
- async deauthenticate(context) {
59
- return this.realProvider.deauthenticate(context);
60
- }
61
- }
62
- exports.AuthProviderCallGuard = AuthProviderCallGuard;
63
- /**
64
- * This implementation serves as a Null object for IAuthProviderCallGuard.
65
- *
66
- * @internal
67
- */
68
- class NoopAuthProvider {
69
- authenticate(_context) {
70
- throw new sdk_backend_spi_1.NotSupported("NoopAuthProvider does not support authenticate");
71
- }
72
- getCurrentPrincipal(_context) {
73
- throw new sdk_backend_spi_1.NotSupported("NoopAuthProvider does not support getCurrentPrincipal");
74
- }
75
- deauthenticate(_context) {
76
- throw new sdk_backend_spi_1.NotSupported("NoopAuthProvider does not support deauthenticate");
77
- }
78
- reset() {
79
- throw new sdk_backend_spi_1.NotSupported("NoopAuthProvider does not support reset");
80
- }
81
- }
82
- exports.NoopAuthProvider = NoopAuthProvider;
83
- exports.AnonymousUser = {
84
- userId: "anonymous",
85
- };
86
- /**
87
- * This is a noop implementation of authentication provider - it does nothing and assumes anonymous user.
88
- *
89
- * @public
90
- */
91
- class AnonymousAuthProvider {
92
- authenticate(_context) {
93
- return Promise.resolve(exports.AnonymousUser);
94
- }
95
- getCurrentPrincipal(_context) {
96
- return Promise.resolve(exports.AnonymousUser);
97
- }
98
- deauthenticate(_context) {
99
- return Promise.resolve();
100
- }
101
- reset() {
102
- return;
103
- }
104
- }
105
- exports.AnonymousAuthProvider = AnonymousAuthProvider;
106
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/toolkit/auth.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,+DAOmC;AA6CnC;;;;;;;;;;;;GAYG;AACH,MAAa,qBAAqB;IAI9B,YAA6B,YAAqC;QAArC,iBAAY,GAAZ,YAAY,CAAyB;QAE3D,UAAK,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAC;QAEF,6EAA6E;QACtE,qBAAgB,GAAG,CAAC,MAAW,EAAQ,EAAE;;YAC5C,MAAA,MAAA,IAAI,CAAC,YAAY,EAAC,gBAAgB,mDAAG,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC;QAEK,uBAAkB,GAAG,CAAC,OAA+B,EAAE,KAAuB,EAAQ,EAAE;;YAC3F,MAAA,MAAA,IAAI,CAAC,YAAY,EAAC,kBAAkB,mDAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEK,iBAAY,GAAG,CAAC,OAA+B,EAAoC,EAAE;YACxF,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,OAAO,IAAI,CAAC,eAAe,CAAC;aAC/B;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY;iBACnC,YAAY,CAAC,OAAO,CAAC;iBACrB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACV,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;gBAEjC,OAAO,GAAG,CAAC;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;gBAEjC,MAAM,GAAG,CAAC;YACd,CAAC,CAAC,CAAC;YAEP,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC,CAAC;IAvCmE,CAAC;IAyC/D,mBAAmB,CAAC,OAA+B;QACtD,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAA+B;QACvD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;CACJ;AApDD,sDAoDC;AAED;;;;GAIG;AACH,MAAa,gBAAgB;IAClB,YAAY,CAAC,QAAgC;QAChD,MAAM,IAAI,8BAAY,CAAC,gDAAgD,CAAC,CAAC;IAC7E,CAAC;IAEM,mBAAmB,CAAC,QAAgC;QACvD,MAAM,IAAI,8BAAY,CAAC,uDAAuD,CAAC,CAAC;IACpF,CAAC;IAEM,cAAc,CAAC,QAAgC;QAClD,MAAM,IAAI,8BAAY,CAAC,kDAAkD,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK;QACR,MAAM,IAAI,8BAAY,CAAC,yCAAyC,CAAC,CAAC;IACtE,CAAC;CACJ;AAhBD,4CAgBC;AAEY,QAAA,aAAa,GAA4B;IAClD,MAAM,EAAE,WAAW;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAa,qBAAqB;IACvB,YAAY,CAAC,QAAgC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC;IAC1C,CAAC;IAEM,mBAAmB,CAAC,QAAgC;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc,CAAC,QAAgC;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK;QACR,OAAO;IACX,CAAC;CACJ;AAhBD,sDAgBC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * @beta
3
- */
4
- export type TelemetryData = {
5
- componentName?: string;
6
- props?: string[];
7
- };
8
- //# sourceMappingURL=backend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/toolkit/backend.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/toolkit/backend.ts"],"names":[],"mappings":""}
@@ -1,54 +0,0 @@
1
- import { IAttributeOrMeasure, IBucket, IExecutionDefinition, IInsightDefinition, IInsight, INullableFilter } from "@gooddata/sdk-model";
2
- import { IExecutionFactory, IPreparedExecution } from "@gooddata/sdk-backend-spi";
3
- import { DecoratedExecutionFactory } from "../decoratedBackend/execution";
4
- /**
5
- * Abstract base class that can be extended to implement concrete execution factories for different
6
- * backend implementations.
7
- *
8
- * This class implements the convenience methods which do not need to change in implementations.
9
- *
10
- * Note: the `forInsightByRef` is implemented as fallback to freeform execution done by `forInsight`. The
11
- * rationale is that most backends do not support that anyway so it is a safe default behavior. If the backend
12
- * supports execute-by-reference, then overload the method with your own implementation (see sdk-backend-bear for
13
- * inspiration)
14
- *
15
- * @internal
16
- */
17
- export declare abstract class AbstractExecutionFactory implements IExecutionFactory {
18
- protected readonly workspace: string;
19
- constructor(workspace: string);
20
- abstract forDefinition(def: IExecutionDefinition): IPreparedExecution;
21
- forItems(items: IAttributeOrMeasure[], filters?: INullableFilter[]): IPreparedExecution;
22
- forBuckets(buckets: IBucket[], filters?: INullableFilter[]): IPreparedExecution;
23
- forInsight(insight: IInsightDefinition, filters?: INullableFilter[]): IPreparedExecution;
24
- forInsightByRef(insight: IInsight, filters?: INullableFilter[]): IPreparedExecution;
25
- }
26
- /**
27
- * This implementation of execution factory allows transparent injection of fixed set of filters to all
28
- * executions started through it.
29
- *
30
- * This factory will not perform any filter merging. All it does is ensure some filters are always passed
31
- * to the underlying factory. The responsibility to do the filter merging lies in the underlying factory.
32
- *
33
- * @internal
34
- */
35
- export declare class ExecutionFactoryWithFixedFilters extends DecoratedExecutionFactory {
36
- private readonly filters;
37
- constructor(decorated: IExecutionFactory, filters?: INullableFilter[]);
38
- forItems(items: IAttributeOrMeasure[], filters?: INullableFilter[]): IPreparedExecution;
39
- forBuckets(buckets: IBucket[], filters?: INullableFilter[]): IPreparedExecution;
40
- forInsight(insight: IInsightDefinition, filters?: INullableFilter[]): IPreparedExecution;
41
- forInsightByRef(insight: IInsight, filters?: INullableFilter[]): IPreparedExecution;
42
- }
43
- /**
44
- * This implementation of execution factory will transparently upgrade any `forInsight` execution
45
- * to `forInsightByRef` execution IF the argument to `forInsight` is actually a persisted insight (`IInsight` which
46
- * is subtype of `IInsightDefinition`).
47
- *
48
- * @internal
49
- */
50
- export declare class ExecutionFactoryUpgradingToExecByReference extends DecoratedExecutionFactory {
51
- constructor(decorated: IExecutionFactory);
52
- forInsight(insight: IInsightDefinition, filters?: INullableFilter[]): IPreparedExecution;
53
- }
54
- //# sourceMappingURL=execution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/toolkit/execution.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,mBAAmB,EAGnB,OAAO,EACP,oBAAoB,EACpB,kBAAkB,EAIlB,QAAQ,EAER,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,8BAAsB,wBAAyB,YAAW,iBAAiB;IAC3D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;aAEhC,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,kBAAkB;IAErE,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,kBAAkB;IASvF,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,kBAAkB;IAS/E,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,kBAAkB;IASxF,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,kBAAkB;CAG7F;AAED;;;;;;;;GAQG;AACH,qBAAa,gCAAiC,SAAQ,yBAAyB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAtD,SAAS,EAAE,iBAAiB,EAAmB,OAAO,GAAE,eAAe,EAAO;IAInF,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,OAAO,GAAE,eAAe,EAAO,GAAG,kBAAkB;IAI3F,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,eAAe,EAAO,GAAG,kBAAkB;IAInF,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAE,eAAe,EAAO,GAAG,kBAAkB;IAI5F,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,eAAe,EAAO,GAAG,kBAAkB;CAGjG;AAED;;;;;;GAMG;AACH,qBAAa,0CAA2C,SAAQ,yBAAyB;gBACzE,SAAS,EAAE,iBAAiB;IAIjC,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,kBAAkB;CAOlG"}