@cubejs-backend/api-gateway 0.36.2 → 0.36.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,13 @@
7
7
  import { MetaConfig, MetaConfigMap } from './toConfigMap';
8
8
  import { MemberType } from '../types/strings';
9
9
  import { MemberExpression } from '../types/query';
10
+ type GranularityMeta = {
11
+ name: string;
12
+ title: string;
13
+ interval: string;
14
+ offset?: string;
15
+ origin?: string;
16
+ };
10
17
  /**
11
18
  * Annotation item for cube's member.
12
19
  */
@@ -19,6 +26,7 @@ type ConfigItem = {
19
26
  meta: any;
20
27
  drillMembers?: any[];
21
28
  drillMembersGrouped?: any;
29
+ granularities?: GranularityMeta[];
22
30
  };
23
31
  /**
24
32
  * Returns annotations by MetaConfigMap and cube's member type.
@@ -1 +1 @@
1
- {"version":3,"file":"prepareAnnotation.d.ts","sourceRoot":"","sources":["../../../src/helpers/prepareAnnotation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAe,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,GAAG,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,UAAU,cACH,aAAa,cACZ,UAAU,cACV,MAAM,GAAG,gBAAgB,KAAG,SAAS,GAAG,CAAC,MAAM,EAAE,UAAU,CAqBxE,CAAC;AAEF;;GAEG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG;;;;;;;;;;;;;EA+C9D;AAED,eAAe,iBAAiB,CAAC;AACjC,OAAO,EACL,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"prepareAnnotation.d.ts","sourceRoot":"","sources":["../../../src/helpers/prepareAnnotation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAe,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC,CAAC;AAMF;;GAEG;AACH,QAAA,MAAM,UAAU,cACH,aAAa,cACZ,UAAU,cACV,MAAM,GAAG,gBAAgB,KAAG,SAAS,GAAG,CAAC,MAAM,EAAE,UAAU,CAwBxE,CAAC;AAEF;;GAEG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG;;;;;;;;;;;;;EA0E9D;AAED,eAAe,iBAAiB,CAAC;AACjC,OAAO,EACL,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,CAAC"}
@@ -11,6 +11,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.prepareAnnotation = exports.annotation = void 0;
13
13
  const ramda_1 = __importDefault(require("ramda"));
14
+ const shared_1 = require("@cubejs-backend/shared");
14
15
  const toConfigMap_1 = require("./toConfigMap");
15
16
  const enums_1 = require("../types/enums");
16
17
  /**
@@ -34,7 +35,10 @@ const annotation = (configMap, memberType) => (member) => {
34
35
  ...(memberType === enums_1.MemberType.MEASURES ? {
35
36
  drillMembers: config.drillMembers,
36
37
  drillMembersGrouped: config.drillMembersGrouped
37
- } : {})
38
+ } : {}),
39
+ ...(memberType === enums_1.MemberType.DIMENSIONS && config.granularities ? {
40
+ granularities: config.granularities || [],
41
+ } : {}),
38
42
  }];
39
43
  };
40
44
  exports.annotation = annotation;
@@ -54,16 +58,38 @@ function prepareAnnotation(metaConfig, query) {
54
58
  .filter(a => !!a)),
55
59
  timeDimensions: ramda_1.default.fromPairs(ramda_1.default.unnest((query.timeDimensions || [])
56
60
  .filter(td => !!td.granularity)
57
- .map(td => [
58
- annotation(configMap, enums_1.MemberType.DIMENSIONS)(`${td.dimension}.${td.granularity}`)
59
- ].concat(
60
- // TODO: deprecated: backward compatibility for
61
- // referencing time dimensions without granularity
62
- dimensions.indexOf(td.dimension) === -1
63
- ? [
64
- annotation(configMap, enums_1.MemberType.DIMENSIONS)(td.dimension)
65
- ]
66
- : []).filter(a => !!a)))),
61
+ .map(td => {
62
+ const an = annotation(configMap, enums_1.MemberType.DIMENSIONS)(`${td.dimension}.${td.granularity}`);
63
+ let dimAnnotation;
64
+ if (an) {
65
+ let granularityMeta;
66
+ if ((0, shared_1.isPredefinedGranularity)(td.granularity)) {
67
+ granularityMeta = {
68
+ name: td.granularity,
69
+ title: td.granularity,
70
+ interval: `1 ${td.granularity}`,
71
+ };
72
+ }
73
+ else if (an[1].granularities) {
74
+ // No need to send all the granularities defined, only those make sense for this query
75
+ granularityMeta = an[1].granularities.find(g => g.name === td.granularity);
76
+ }
77
+ const { granularities: _, ...rest } = an[1];
78
+ dimAnnotation = [an[0], { ...rest, granularity: granularityMeta }];
79
+ }
80
+ // TODO: deprecated: backward compatibility for
81
+ // referencing time dimensions without granularity
82
+ if (dimensions.indexOf(td.dimension) !== -1) {
83
+ return [dimAnnotation].filter(a => !!a);
84
+ }
85
+ const dimWithoutGranularity = annotation(configMap, enums_1.MemberType.DIMENSIONS)(td.dimension);
86
+ if (dimWithoutGranularity && dimWithoutGranularity[1].granularities) {
87
+ // no need to populate granularities here
88
+ dimWithoutGranularity[1].granularities = undefined;
89
+ }
90
+ return [dimAnnotation].concat([dimWithoutGranularity])
91
+ .filter(a => !!a);
92
+ }))),
67
93
  };
68
94
  }
69
95
  exports.prepareAnnotation = prepareAnnotation;
@@ -1 +1 @@
1
- {"version":3,"file":"prepareAnnotation.js","sourceRoot":"","sources":["../../../src/helpers/prepareAnnotation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareAnnotation.js","sourceRoot":"","sources":["../../../src/helpers/prepareAnnotation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/api-gateway",
3
3
  "description": "Cube.js API Gateway",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "0.36.2",
5
+ "version": "0.36.5",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -27,8 +27,8 @@
27
27
  "dist/src/*"
28
28
  ],
29
29
  "dependencies": {
30
- "@cubejs-backend/native": "^0.36.2",
31
- "@cubejs-backend/shared": "^0.36.0",
30
+ "@cubejs-backend/native": "^0.36.5",
31
+ "@cubejs-backend/shared": "^0.36.5",
32
32
  "@ungap/structured-clone": "^0.3.4",
33
33
  "body-parser": "^1.19.0",
34
34
  "chrono-node": "^2.6.2",
@@ -83,5 +83,5 @@
83
83
  ],
84
84
  "snapshotResolver": "<rootDir>/test/snapshotResolver.js"
85
85
  },
86
- "gitHead": "ab3771bfce10eaabafff99404250a3681be79137"
86
+ "gitHead": "893004a135f6b009efa23d11232cc2e285a75330"
87
87
  }