@cubejs-backend/api-gateway 0.29.26 → 0.29.29
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/CHANGELOG.md +27 -0
- package/dist/src/gateway.d.ts +23 -43
- package/dist/src/gateway.d.ts.map +1 -1
- package/dist/src/gateway.js +29 -100
- package/dist/src/gateway.js.map +1 -1
- package/dist/src/graphql.js +5 -5
- package/dist/src/graphql.js.map +1 -1
- package/dist/src/helpers/prepareAnnotation.d.ts +45 -0
- package/dist/src/helpers/prepareAnnotation.d.ts.map +1 -0
- package/dist/src/helpers/prepareAnnotation.js +71 -0
- package/dist/src/helpers/prepareAnnotation.js.map +1 -0
- package/dist/src/helpers/toConfigMap.d.ts +32 -0
- package/dist/src/helpers/toConfigMap.d.ts.map +1 -0
- package/dist/src/helpers/toConfigMap.js +23 -0
- package/dist/src/helpers/toConfigMap.js.map +1 -0
- package/dist/src/helpers/transformData.d.ts +85 -0
- package/dist/src/helpers/transformData.d.ts.map +1 -0
- package/dist/src/helpers/transformData.js +239 -0
- package/dist/src/helpers/transformData.js.map +1 -0
- package/dist/src/helpers/transformValue.d.ts +21 -0
- package/dist/src/helpers/transformValue.d.ts.map +1 -0
- package/dist/src/helpers/transformValue.js +29 -0
- package/dist/src/helpers/transformValue.js.map +1 -0
- package/dist/src/interfaces.d.ts +14 -73
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/interfaces.js +3 -0
- package/dist/src/interfaces.js.map +1 -1
- package/dist/src/query.d.ts +6 -5
- package/dist/src/query.d.ts.map +1 -1
- package/dist/src/query.js +13 -10
- package/dist/src/query.js.map +1 -1
- package/dist/src/types/enums.d.ts +51 -0
- package/dist/src/types/enums.d.ts.map +1 -0
- package/dist/src/types/enums.js +63 -0
- package/dist/src/types/enums.js.map +1 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.29.29](https://github.com/cube-js/cube.js/compare/v0.29.28...v0.29.29) (2022-03-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Compact JSON array based response data format support ([#4046](https://github.com/cube-js/cube.js/issues/4046)) ([e74d73c](https://github.com/cube-js/cube.js/commit/e74d73c140f56e71a24c35a5f03e9af63022bced)), closes [#1](https://github.com/cube-js/cube.js/issues/1)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.29.28](https://github.com/cube-js/cube.js/compare/v0.29.27...v0.29.28) (2022-02-10)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @cubejs-backend/api-gateway
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [0.29.27](https://github.com/cube-js/cube.js/compare/v0.29.26...v0.29.27) (2022-02-09)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @cubejs-backend/api-gateway
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [0.29.26](https://github.com/cube-js/cube.js/compare/v0.29.25...v0.29.26) (2022-02-07)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @cubejs-backend/api-gateway
|
package/dist/src/gateway.d.ts
CHANGED
|
@@ -1,45 +1,16 @@
|
|
|
1
1
|
import type { Application as ExpressApplication, ErrorRequestHandler, RequestHandler, Response } from 'express';
|
|
2
|
+
import { QueryType } from './types/strings';
|
|
3
|
+
import { RequestContext, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, ResponseResultFn, QueryRequest } from './types/request';
|
|
4
|
+
import { CheckAuthInternalOptions, JWTOptions, CheckAuthFn } from './types/auth';
|
|
5
|
+
import { Query, NormalizedQuery } from './types/query';
|
|
6
|
+
import { UserBackgroundContext, ApiGatewayOptions } from './types/gateway';
|
|
7
|
+
import { CheckAuthMiddlewareFn, RequestLoggerMiddlewareFn } from './interfaces';
|
|
2
8
|
import { SubscriptionServer, WebSocketSendMessageFn } from './SubscriptionServer';
|
|
3
|
-
import { CheckAuthFn, CheckAuthMiddlewareFn, ExtendContextFn, ExtendedRequestContext, JWTOptions, QueryRewriteFn, Request, RequestContext, RequestLoggerMiddlewareFn, SecurityContextExtractorFn } from './interfaces';
|
|
4
9
|
import { SQLServer } from './sql-server';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
declare
|
|
9
|
-
isPlaygroundCheckAuth: boolean;
|
|
10
|
-
};
|
|
11
|
-
export declare type UserBackgroundContext = {
|
|
12
|
-
authInfo?: any;
|
|
13
|
-
securityContext: any;
|
|
14
|
-
};
|
|
15
|
-
declare type BaseRequest = {
|
|
16
|
-
context: RequestContext;
|
|
17
|
-
res: ResponseResultFn;
|
|
18
|
-
};
|
|
19
|
-
declare type QueryRequest = BaseRequest & {
|
|
20
|
-
query: Record<string, any> | Record<string, any>[];
|
|
21
|
-
queryType?: 'multi';
|
|
22
|
-
apiType?: 'sql' | 'graphql' | 'rest' | 'ws';
|
|
23
|
-
};
|
|
24
|
-
export interface ApiGatewayOptions {
|
|
25
|
-
standalone: boolean;
|
|
26
|
-
dataSourceStorage: any;
|
|
27
|
-
refreshScheduler: any;
|
|
28
|
-
scheduledRefreshContexts?: () => Promise<UserBackgroundContext[]>;
|
|
29
|
-
scheduledRefreshTimeZones?: String[];
|
|
30
|
-
basePath: string;
|
|
31
|
-
extendContext?: ExtendContextFn;
|
|
32
|
-
checkAuth?: CheckAuthFn;
|
|
33
|
-
checkAuthMiddleware?: CheckAuthMiddlewareFn;
|
|
34
|
-
jwt?: JWTOptions;
|
|
35
|
-
requestLoggerMiddleware?: RequestLoggerMiddlewareFn;
|
|
36
|
-
queryRewrite?: QueryRewriteFn;
|
|
37
|
-
subscriptionStore?: any;
|
|
38
|
-
enforceSecurityChecks?: boolean;
|
|
39
|
-
playgroundAuthSecret?: string;
|
|
40
|
-
serverCoreVersion?: string;
|
|
41
|
-
}
|
|
42
|
-
export declare class ApiGateway {
|
|
10
|
+
/**
|
|
11
|
+
* API gateway server class.
|
|
12
|
+
*/
|
|
13
|
+
declare class ApiGateway {
|
|
43
14
|
protected readonly apiSecret: string;
|
|
44
15
|
protected readonly compilerApi: any;
|
|
45
16
|
protected readonly adapterApi: any;
|
|
@@ -105,12 +76,21 @@ export declare class ApiGateway {
|
|
|
105
76
|
context: RequestContext;
|
|
106
77
|
res: ResponseResultFn;
|
|
107
78
|
}): Promise<void>;
|
|
108
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Convert incoming query parameter (JSON fetched from the HTTP) to
|
|
81
|
+
* an array of query type and array of normalized queries.
|
|
82
|
+
*/
|
|
83
|
+
protected getNormalizedQueries(query: Record<string, any> | Record<string, any>[], context: RequestContext): Promise<[QueryType, NormalizedQuery[]]>;
|
|
109
84
|
sql({ query, context, res }: QueryRequest): Promise<void>;
|
|
110
85
|
protected createSecurityContextExtractor(options?: JWTOptions): SecurityContextExtractorFn;
|
|
111
86
|
protected coerceForSqlQuery(query: any, context: Readonly<RequestContext>): any;
|
|
112
87
|
protected dryRun({ query, context, res }: QueryRequest): Promise<void>;
|
|
113
|
-
|
|
88
|
+
/**
|
|
89
|
+
* Data queries APIs (`/load`, `/subscribe`) entry point. Used by
|
|
90
|
+
* `CubejsApi#load` and `CubejsApi#subscribe` methods to fetch the
|
|
91
|
+
* data.
|
|
92
|
+
*/
|
|
93
|
+
load(request: QueryRequest): Promise<void>;
|
|
114
94
|
subscribeQueueEvents({ context, signedWithPlaygroundAuthSecret, connectionId, res }: {
|
|
115
95
|
context: any;
|
|
116
96
|
signedWithPlaygroundAuthSecret: any;
|
|
@@ -133,7 +113,7 @@ export declare class ApiGateway {
|
|
|
133
113
|
protected resToResultFn(res: Response): (message: any, { status }?: {
|
|
134
114
|
status?: number | undefined;
|
|
135
115
|
}) => Response<any, Record<string, any>>;
|
|
136
|
-
protected parseQueryParam(query: any):
|
|
116
|
+
protected parseQueryParam(query: any): Query | Query[];
|
|
137
117
|
protected getCompilerApi(context: any): any;
|
|
138
118
|
protected getAdapterApi(context: any): any;
|
|
139
119
|
contextByReq(req: Request, securityContext: any, requestId: string): Promise<ExtendedRequestContext>;
|
|
@@ -162,5 +142,5 @@ export declare class ApiGateway {
|
|
|
162
142
|
protected liveness: RequestHandler;
|
|
163
143
|
release(): void;
|
|
164
144
|
}
|
|
165
|
-
export {};
|
|
145
|
+
export { UserBackgroundContext, ApiGatewayOptions, ApiGateway, };
|
|
166
146
|
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/src/gateway.js
CHANGED
|
@@ -7,10 +7,10 @@ exports.ApiGateway = void 0;
|
|
|
7
7
|
/* eslint-disable no-restricted-syntax */
|
|
8
8
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
9
9
|
const ramda_1 = __importDefault(require("ramda"));
|
|
10
|
-
const moment_1 = __importDefault(require("moment"));
|
|
11
10
|
const body_parser_1 = __importDefault(require("body-parser"));
|
|
12
11
|
const express_graphql_1 = require("express-graphql");
|
|
13
12
|
const shared_1 = require("@cubejs-backend/shared");
|
|
13
|
+
const enums_1 = require("./types/enums");
|
|
14
14
|
const requestParser_1 = require("./requestParser");
|
|
15
15
|
const UserError_1 = require("./UserError");
|
|
16
16
|
const CubejsHandlerError_1 = require("./CubejsHandlerError");
|
|
@@ -21,94 +21,11 @@ const cached_handler_1 = require("./cached-handler");
|
|
|
21
21
|
const jwk_1 = require("./jwk");
|
|
22
22
|
const sql_server_1 = require("./sql-server");
|
|
23
23
|
const graphql_1 = require("./graphql");
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const memberWithoutGranularity = [cubeName, fieldName].join('.');
|
|
30
|
-
const config = configMap[cubeName][memberType].find(m => m.name === memberWithoutGranularity);
|
|
31
|
-
if (!config) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
return [member, {
|
|
35
|
-
title: config.title,
|
|
36
|
-
shortTitle: config.shortTitle,
|
|
37
|
-
description: config.description,
|
|
38
|
-
type: config.type,
|
|
39
|
-
format: config.format,
|
|
40
|
-
meta: config.meta,
|
|
41
|
-
...(memberType === 'measures' ? {
|
|
42
|
-
drillMembers: config.drillMembers,
|
|
43
|
-
drillMembersGrouped: config.drillMembersGrouped
|
|
44
|
-
} : {})
|
|
45
|
-
}];
|
|
46
|
-
};
|
|
47
|
-
const dimensions = (query.dimensions || []);
|
|
48
|
-
return {
|
|
49
|
-
measures: ramda_1.default.fromPairs((query.measures || []).map(annotation('measures')).filter(a => !!a)),
|
|
50
|
-
dimensions: ramda_1.default.fromPairs(dimensions.map(annotation('dimensions')).filter(a => !!a)),
|
|
51
|
-
segments: ramda_1.default.fromPairs((query.segments || []).map(annotation('segments')).filter(a => !!a)),
|
|
52
|
-
timeDimensions: ramda_1.default.fromPairs(ramda_1.default.unnest((query.timeDimensions || [])
|
|
53
|
-
.filter(td => !!td.granularity)
|
|
54
|
-
.map(td => [annotation('dimensions')(`${td.dimension}.${td.granularity}`)].concat(
|
|
55
|
-
// TODO: deprecated: backward compatibility for referencing time dimensions without granularity
|
|
56
|
-
dimensions.indexOf(td.dimension) === -1 ? [annotation('dimensions')(td.dimension)] : []).filter(a => !!a)))),
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
const transformValue = (value, type) => {
|
|
60
|
-
if (value && (type === 'time' || value instanceof Date)) { // TODO support for max time
|
|
61
|
-
return (value instanceof Date ? moment_1.default(value) : moment_1.default.utc(value)).format(moment_1.default.HTML5_FMT.DATETIME_LOCAL_MS);
|
|
62
|
-
}
|
|
63
|
-
return value && value.value ? value.value : value; // TODO move to sql adapter
|
|
64
|
-
};
|
|
65
|
-
const transformData = (aliasToMemberNameMap, annotation, data, query, queryType) => (data.map(r => {
|
|
66
|
-
const row = ramda_1.default.pipe(
|
|
67
|
-
// @ts-ignore
|
|
68
|
-
ramda_1.default.toPairs, ramda_1.default.map(p => {
|
|
69
|
-
const memberName = aliasToMemberNameMap[p[0]];
|
|
70
|
-
const annotationForMember = annotation[memberName];
|
|
71
|
-
if (!annotationForMember) {
|
|
72
|
-
throw new UserError_1.UserError(`You requested hidden member: '${p[0]}'. Please make it visible using \`shown: true\`. Please note primaryKey fields are \`shown: false\` by default: https://cube.dev/docs/schema/reference/joins#setting-a-primary-key.`);
|
|
73
|
-
}
|
|
74
|
-
const transformResult = [
|
|
75
|
-
memberName,
|
|
76
|
-
transformValue(p[1], annotationForMember.type)
|
|
77
|
-
];
|
|
78
|
-
const path = memberName.split('.');
|
|
79
|
-
// TODO: deprecated: backward compatibility for referencing time dimensions without granularity
|
|
80
|
-
const memberNameWithoutGranularity = [path[0], path[1]].join('.');
|
|
81
|
-
if (path.length === 3 && (query.dimensions || []).indexOf(memberNameWithoutGranularity) === -1) {
|
|
82
|
-
return [
|
|
83
|
-
transformResult,
|
|
84
|
-
[
|
|
85
|
-
memberNameWithoutGranularity,
|
|
86
|
-
transformResult[1]
|
|
87
|
-
]
|
|
88
|
-
];
|
|
89
|
-
}
|
|
90
|
-
return [transformResult];
|
|
91
|
-
}),
|
|
92
|
-
// @ts-ignore
|
|
93
|
-
ramda_1.default.unnest, ramda_1.default.fromPairs
|
|
94
|
-
// @ts-ignore
|
|
95
|
-
)(r);
|
|
96
|
-
// @ts-ignore
|
|
97
|
-
const [{ dimension, granularity, dateRange } = {}] = query.timeDimensions;
|
|
98
|
-
if (queryType === query_1.QUERY_TYPE.COMPARE_DATE_RANGE_QUERY) {
|
|
99
|
-
return {
|
|
100
|
-
...row,
|
|
101
|
-
compareDateRange: dateRange.join(' - ')
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
else if (queryType === query_1.QUERY_TYPE.BLENDING_QUERY) {
|
|
105
|
-
return {
|
|
106
|
-
...row,
|
|
107
|
-
[['time', granularity].join('.')]: row[[dimension, granularity].join('.')]
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
return row;
|
|
111
|
-
}));
|
|
24
|
+
const prepareAnnotation_1 = require("./helpers/prepareAnnotation");
|
|
25
|
+
const transformData_1 = __importDefault(require("./helpers/transformData"));
|
|
26
|
+
/**
|
|
27
|
+
* API gateway server class.
|
|
28
|
+
*/
|
|
112
29
|
class ApiGateway {
|
|
113
30
|
constructor(apiSecret, compilerApi, adapterApi, logger, options) {
|
|
114
31
|
this.apiSecret = apiSecret;
|
|
@@ -278,7 +195,7 @@ class ApiGateway {
|
|
|
278
195
|
query: req.query.query,
|
|
279
196
|
context: req.context,
|
|
280
197
|
res: this.resToResultFn(res),
|
|
281
|
-
queryType: req.query.queryType
|
|
198
|
+
queryType: req.query.queryType,
|
|
282
199
|
});
|
|
283
200
|
}));
|
|
284
201
|
const jsonParser = body_parser_1.default.json({ limit: '1mb' });
|
|
@@ -572,24 +489,28 @@ class ApiGateway {
|
|
|
572
489
|
});
|
|
573
490
|
}
|
|
574
491
|
}
|
|
492
|
+
/**
|
|
493
|
+
* Convert incoming query parameter (JSON fetched from the HTTP) to
|
|
494
|
+
* an array of query type and array of normalized queries.
|
|
495
|
+
*/
|
|
575
496
|
async getNormalizedQueries(query, context) {
|
|
576
497
|
query = this.parseQueryParam(query);
|
|
577
|
-
let queryType =
|
|
498
|
+
let queryType = enums_1.QueryType.REGULAR_QUERY;
|
|
578
499
|
if (!Array.isArray(query)) {
|
|
579
500
|
query = this.compareDateRangeTransformer(query);
|
|
580
501
|
if (Array.isArray(query)) {
|
|
581
|
-
queryType =
|
|
502
|
+
queryType = enums_1.QueryType.COMPARE_DATE_RANGE_QUERY;
|
|
582
503
|
}
|
|
583
504
|
}
|
|
584
505
|
else {
|
|
585
|
-
queryType =
|
|
506
|
+
queryType = enums_1.QueryType.BLENDING_QUERY;
|
|
586
507
|
}
|
|
587
508
|
const queries = Array.isArray(query) ? query : [query];
|
|
588
509
|
const normalizedQueries = await Promise.all(queries.map(async (currentQuery) => query_1.validatePostRewrite(await this.queryRewrite(query_1.normalizeQuery(currentQuery), context))));
|
|
589
510
|
if (normalizedQueries.find((currentQuery) => !currentQuery)) {
|
|
590
511
|
throw new Error('queryTransformer returned null query. Please check your queryTransformer implementation');
|
|
591
512
|
}
|
|
592
|
-
if (queryType ===
|
|
513
|
+
if (queryType === enums_1.QueryType.BLENDING_QUERY) {
|
|
593
514
|
const queryGranularity = query_1.getQueryGranularity(normalizedQueries);
|
|
594
515
|
if (queryGranularity.length > 1) {
|
|
595
516
|
throw new UserError_1.UserError('Data blending query granularities must match');
|
|
@@ -610,7 +531,7 @@ class ApiGateway {
|
|
|
610
531
|
...sqlQuery,
|
|
611
532
|
order: ramda_1.default.fromPairs(sqlQuery.order.map(({ id: key, desc }) => [key, desc ? 'desc' : 'asc']))
|
|
612
533
|
});
|
|
613
|
-
res(queryType ===
|
|
534
|
+
res(queryType === enums_1.QueryType.REGULAR_QUERY ?
|
|
614
535
|
{ sql: toQuery(sqlQueries[0]) } :
|
|
615
536
|
sqlQueries.map((sqlQuery) => ({ sql: toQuery(sqlQuery) })));
|
|
616
537
|
}
|
|
@@ -687,10 +608,18 @@ class ApiGateway {
|
|
|
687
608
|
});
|
|
688
609
|
}
|
|
689
610
|
}
|
|
690
|
-
|
|
611
|
+
/**
|
|
612
|
+
* Data queries APIs (`/load`, `/subscribe`) entry point. Used by
|
|
613
|
+
* `CubejsApi#load` and `CubejsApi#subscribe` methods to fetch the
|
|
614
|
+
* data.
|
|
615
|
+
*/
|
|
616
|
+
async load(request) {
|
|
617
|
+
let query;
|
|
618
|
+
const { context, res, apiType = 'rest', ...props } = request;
|
|
691
619
|
const requestStarted = new Date();
|
|
692
620
|
try {
|
|
693
|
-
query = this.parseQueryParam(query);
|
|
621
|
+
query = this.parseQueryParam(request.query);
|
|
622
|
+
const resType = query.responseFormat || enums_1.ResultType.DEFAULT;
|
|
694
623
|
this.log({
|
|
695
624
|
type: 'Load Request',
|
|
696
625
|
query
|
|
@@ -713,7 +642,7 @@ class ApiGateway {
|
|
|
713
642
|
const results = await Promise.all(normalizedQueries.map(async (normalizedQuery, index) => {
|
|
714
643
|
var _a;
|
|
715
644
|
const sqlQuery = sqlQueries[index];
|
|
716
|
-
const annotation = prepareAnnotation(metaConfigResult, normalizedQuery);
|
|
645
|
+
const annotation = prepareAnnotation_1.prepareAnnotation(metaConfigResult, normalizedQuery);
|
|
717
646
|
const aliasToMemberNameMap = sqlQuery.aliasNameToMember;
|
|
718
647
|
const toExecute = {
|
|
719
648
|
...sqlQuery,
|
|
@@ -733,7 +662,7 @@ class ApiGateway {
|
|
|
733
662
|
slowQuery = slowQuery || Boolean(response.slowQuery);
|
|
734
663
|
return {
|
|
735
664
|
query: normalizedQuery,
|
|
736
|
-
data:
|
|
665
|
+
data: transformData_1.default(aliasToMemberNameMap, flattenAnnotation, response.data, normalizedQuery, queryType, resType),
|
|
737
666
|
lastRefreshTime: (_a = response.lastRefreshTime) === null || _a === void 0 ? void 0 : _a.toISOString(),
|
|
738
667
|
...(shared_1.getEnv('devMode') || context.signedWithPlaygroundAuthSecret ? {
|
|
739
668
|
refreshKeyValues: response.refreshKeyValues,
|
|
@@ -759,7 +688,7 @@ class ApiGateway {
|
|
|
759
688
|
.length,
|
|
760
689
|
queriesWithData: results.filter((r) => { var _a; return (_a = r.data) === null || _a === void 0 ? void 0 : _a.length; }).length,
|
|
761
690
|
}, context);
|
|
762
|
-
if (queryType !==
|
|
691
|
+
if (queryType !== enums_1.QueryType.REGULAR_QUERY && props.queryType == null) {
|
|
763
692
|
throw new UserError_1.UserError(`'${queryType}' query type is not supported by the client. Please update the client.`);
|
|
764
693
|
}
|
|
765
694
|
if (props.queryType === 'multi') {
|
package/dist/src/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/src/graphql.js
CHANGED
|
@@ -8,7 +8,7 @@ const ramda_1 = __importDefault(require("ramda"));
|
|
|
8
8
|
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
9
9
|
const nexus_1 = require("nexus");
|
|
10
10
|
const graphql_scalars_1 = require("graphql-scalars");
|
|
11
|
-
const
|
|
11
|
+
const enums_1 = require("./types/enums");
|
|
12
12
|
const DateTimeScalar = nexus_1.asNexusMethod(graphql_scalars_1.DateTimeResolver, 'date');
|
|
13
13
|
const FloatFilter = nexus_1.inputObjectType({
|
|
14
14
|
name: 'FloatFilter',
|
|
@@ -191,7 +191,7 @@ function getMemberType(metaConfig, cubeName, memberName) {
|
|
|
191
191
|
const cubeConfig = metaConfig.find(cube => cube.config.name === cubeName);
|
|
192
192
|
if (!cubeConfig)
|
|
193
193
|
return undefined;
|
|
194
|
-
return [
|
|
194
|
+
return [enums_1.MemberType.MEASURES, enums_1.MemberType.DIMENSIONS].find((memberType) => (cubeConfig.config[`${memberType}s`]
|
|
195
195
|
.findIndex(entry => entry.name === `${cubeName}.${memberName}`) !== -1));
|
|
196
196
|
}
|
|
197
197
|
function whereArgToQueryFilters(whereArg, prefix) {
|
|
@@ -451,10 +451,10 @@ function makeSchema(metaConfig) {
|
|
|
451
451
|
const memberName = memberNode.name.value;
|
|
452
452
|
const memberType = getMemberType(metaConfig, cubeName, memberName);
|
|
453
453
|
const key = `${cubeName}.${memberName}`;
|
|
454
|
-
if (memberType ===
|
|
454
|
+
if (memberType === enums_1.MemberType.MEASURES) {
|
|
455
455
|
measures.push(key);
|
|
456
456
|
}
|
|
457
|
-
else if (memberType ===
|
|
457
|
+
else if (memberType === enums_1.MemberType.DIMENSIONS) {
|
|
458
458
|
const granularityNodes = getFieldNodeChildren(memberNode, infos);
|
|
459
459
|
if (granularityNodes.length > 0) {
|
|
460
460
|
granularityNodes.forEach(granularityNode => {
|
|
@@ -495,7 +495,7 @@ function makeSchema(metaConfig) {
|
|
|
495
495
|
try {
|
|
496
496
|
await apiGateway.load({
|
|
497
497
|
query,
|
|
498
|
-
queryType:
|
|
498
|
+
queryType: enums_1.QueryType.REGULAR_QUERY,
|
|
499
499
|
context: req.context,
|
|
500
500
|
res: (message) => {
|
|
501
501
|
if (message.error) {
|