@cubejs-backend/api-gateway 1.1.16 → 1.1.18
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/src/SubscriptionServer.d.ts +2 -2
- package/dist/src/SubscriptionServer.d.ts.map +1 -1
- package/dist/src/SubscriptionServer.js +1 -1
- package/dist/src/SubscriptionServer.js.map +1 -1
- package/dist/src/gateway.d.ts +10 -3
- package/dist/src/gateway.d.ts.map +1 -1
- package/dist/src/gateway.js +69 -31
- package/dist/src/gateway.js.map +1 -1
- package/dist/src/graphql.d.ts.map +1 -1
- package/dist/src/graphql.js +10 -2
- package/dist/src/graphql.js.map +1 -1
- package/dist/src/helpers/prepareAnnotation.d.ts +1 -1
- package/dist/src/helpers/prepareAnnotation.d.ts.map +1 -1
- package/dist/src/helpers/prepareAnnotation.js.map +1 -1
- package/dist/src/helpers/toConfigMap.d.ts +1 -1
- package/dist/src/helpers/toConfigMap.js +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/interfaces.d.ts +4 -2
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/interfaces.js +2 -1
- package/dist/src/interfaces.js.map +1 -1
- package/dist/src/types/request.d.ts +2 -1
- package/dist/src/types/request.d.ts.map +1 -1
- package/dist/src/types/responses.d.ts +34 -0
- package/dist/src/types/responses.d.ts.map +1 -0
- package/dist/src/types/responses.js +3 -0
- package/dist/src/types/responses.js.map +1 -0
- package/package.json +5 -5
- package/dist/src/helpers/transformData.d.ts +0 -87
- package/dist/src/helpers/transformData.d.ts.map +0 -1
- package/dist/src/helpers/transformData.js +0 -236
- package/dist/src/helpers/transformData.js.map +0 -1
- package/dist/src/helpers/transformValue.d.ts +0 -21
- package/dist/src/helpers/transformValue.d.ts.map +0 -1
- package/dist/src/helpers/transformValue.js +0 -29
- package/dist/src/helpers/transformValue.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ApiGateway } from './gateway';
|
|
2
2
|
import type { LocalSubscriptionStore } from './LocalSubscriptionStore';
|
|
3
3
|
import { ContextAcceptorFn } from './interfaces';
|
|
4
|
-
export type WebSocketSendMessageFn = (connectionId: string, message: any) => void
|
|
4
|
+
export type WebSocketSendMessageFn = (connectionId: string, message: any) => Promise<void>;
|
|
5
5
|
export declare class SubscriptionServer {
|
|
6
6
|
protected readonly apiGateway: ApiGateway;
|
|
7
7
|
protected readonly sendMessage: WebSocketSendMessageFn;
|
|
@@ -10,7 +10,7 @@ export declare class SubscriptionServer {
|
|
|
10
10
|
constructor(apiGateway: ApiGateway, sendMessage: WebSocketSendMessageFn, subscriptionStore: LocalSubscriptionStore, contextAcceptor: ContextAcceptorFn);
|
|
11
11
|
resultFn(connectionId: string, messageId: string, requestId: string | undefined): (message: any, { status }?: {
|
|
12
12
|
status: number;
|
|
13
|
-
}) => void
|
|
13
|
+
}) => Promise<void>;
|
|
14
14
|
processMessage(connectionId: string, message: any, isSubscription: any): Promise<void>;
|
|
15
15
|
processSubscriptions(): Promise<void>;
|
|
16
16
|
disconnect(connectionId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionServer.d.ts","sourceRoot":"","sources":["../../src/SubscriptionServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAA0B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAgBzE,MAAM,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SubscriptionServer.d.ts","sourceRoot":"","sources":["../../src/SubscriptionServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAA0B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAgBzE,MAAM,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3F,qBAAa,kBAAkB;IAE3B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB;IACtD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB;IAC5D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB;gBAHlC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,sBAAsB,EACnC,iBAAiB,EAAE,sBAAsB,EACzC,eAAe,EAAE,iBAAiB;IAIhD,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;;;IAWzE,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,KAAA,EAAE,cAAc,KAAA;IAoG5D,oBAAoB;IAOpB,UAAU,CAAC,YAAY,EAAE,MAAM;IAMrC,KAAK;CAGb"}
|
|
@@ -25,7 +25,7 @@ class SubscriptionServer {
|
|
|
25
25
|
this.contextAcceptor = contextAcceptor;
|
|
26
26
|
}
|
|
27
27
|
resultFn(connectionId, messageId, requestId) {
|
|
28
|
-
return (message, { status } = { status: 200 }) => {
|
|
28
|
+
return async (message, { status } = { status: 200 }) => {
|
|
29
29
|
this.apiGateway.log({
|
|
30
30
|
type: 'Outgoing network usage',
|
|
31
31
|
service: 'api-ws',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionServer.js","sourceRoot":"","sources":["../../src/SubscriptionServer.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAEpC,2CAAwC;AAKxC,MAAM,YAAY,GAA6B;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAC5B,GAAG,EAAE,CAAC,OAAO,CAAC;IACd,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IACjC,WAAW,EAAE,EAAE;IACf,wBAAwB,EAAE,EAAE;CAC7B,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAC/D,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAChE,CAAC;AAIF,MAAa,kBAAkB;IAER;IACA;IACA;IACA;IAJrB,YACqB,UAAsB,EACtB,WAAmC,EACnC,iBAAyC,EACzC,eAAkC;QAHlC,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAwB;QACnC,sBAAiB,GAAjB,iBAAiB,CAAwB;QACzC,oBAAe,GAAf,eAAe,CAAmB;IAEvD,CAAC;IAEM,QAAQ,CAAC,YAAoB,EAAE,SAAiB,EAAE,SAA6B;QACpF,OAAO,
|
|
1
|
+
{"version":3,"file":"SubscriptionServer.js","sourceRoot":"","sources":["../../src/SubscriptionServer.ts"],"names":[],"mappings":"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"}
|
package/dist/src/gateway.d.ts
CHANGED
|
@@ -183,11 +183,18 @@ declare class ApiGateway {
|
|
|
183
183
|
*/
|
|
184
184
|
private getSqlResponseInternal;
|
|
185
185
|
/**
|
|
186
|
-
*
|
|
186
|
+
* Wraps the adapter's response in unified ResultWrapper if it comes from
|
|
187
|
+
* a common driver (not a Cubestore's one, cause Cubestore Driver internally creates ResultWrapper)
|
|
188
|
+
* @param res Adapter's response
|
|
189
|
+
* @private
|
|
190
|
+
*/
|
|
191
|
+
private wrapAdapterQueryResultIfNeeded;
|
|
192
|
+
/**
|
|
193
|
+
* Prepare adapter's result and other transform parameters for a final
|
|
187
194
|
* result object.
|
|
188
195
|
* @internal
|
|
189
196
|
*/
|
|
190
|
-
private
|
|
197
|
+
private prepareResultTransformData;
|
|
191
198
|
/**
|
|
192
199
|
* Returns stream object which will be used to stream results from
|
|
193
200
|
* the data source if applicable, returns `null` otherwise.
|
|
@@ -226,7 +233,7 @@ declare class ApiGateway {
|
|
|
226
233
|
}): Promise<void>;
|
|
227
234
|
protected resToResultFn(res: ExpressResponse): (message: any, { status }?: {
|
|
228
235
|
status?: number | undefined;
|
|
229
|
-
}) =>
|
|
236
|
+
}) => Promise<void>;
|
|
230
237
|
protected parseQueryParam(query: any): Query | Query[];
|
|
231
238
|
protected getCompilerApi(context: RequestContext): Promise<any>;
|
|
232
239
|
protected getAdapterApi(context: RequestContext): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/src/gateway.js
CHANGED
|
@@ -10,6 +10,7 @@ const body_parser_1 = __importDefault(require("body-parser"));
|
|
|
10
10
|
const express_graphql_1 = require("express-graphql");
|
|
11
11
|
const structured_clone_1 = __importDefault(require("@ungap/structured-clone"));
|
|
12
12
|
const shared_1 = require("@cubejs-backend/shared");
|
|
13
|
+
const native_1 = require("@cubejs-backend/native");
|
|
13
14
|
const http_proxy_middleware_1 = require("http-proxy-middleware");
|
|
14
15
|
const enums_1 = require("./types/enums");
|
|
15
16
|
const requestParser_1 = require("./requestParser");
|
|
@@ -23,7 +24,6 @@ const jwk_1 = require("./jwk");
|
|
|
23
24
|
const sql_server_1 = require("./sql-server");
|
|
24
25
|
const graphql_1 = require("./graphql");
|
|
25
26
|
const prepareAnnotation_1 = require("./helpers/prepareAnnotation");
|
|
26
|
-
const transformData_1 = __importDefault(require("./helpers/transformData"));
|
|
27
27
|
const transformMetaExtended_1 = require("./helpers/transformMetaExtended");
|
|
28
28
|
function userAsyncHandler(handler) {
|
|
29
29
|
return (req, res, next) => {
|
|
@@ -1143,21 +1143,38 @@ class ApiGateway {
|
|
|
1143
1143
|
response.total = normalizedQuery.total
|
|
1144
1144
|
? Number(total.data[0][shared_1.QueryAlias.TOTAL_COUNT])
|
|
1145
1145
|
: undefined;
|
|
1146
|
-
return response;
|
|
1146
|
+
return this.wrapAdapterQueryResultIfNeeded(response);
|
|
1147
1147
|
}
|
|
1148
1148
|
/**
|
|
1149
|
-
*
|
|
1149
|
+
* Wraps the adapter's response in unified ResultWrapper if it comes from
|
|
1150
|
+
* a common driver (not a Cubestore's one, cause Cubestore Driver internally creates ResultWrapper)
|
|
1151
|
+
* @param res Adapter's response
|
|
1152
|
+
* @private
|
|
1153
|
+
*/
|
|
1154
|
+
wrapAdapterQueryResultIfNeeded(res) {
|
|
1155
|
+
res.data = new native_1.ResultWrapper(res.data);
|
|
1156
|
+
return res;
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Prepare adapter's result and other transform parameters for a final
|
|
1150
1160
|
* result object.
|
|
1151
1161
|
* @internal
|
|
1152
1162
|
*/
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1163
|
+
prepareResultTransformData(context, queryType, normalizedQuery, sqlQuery, annotation, response, responseType) {
|
|
1164
|
+
const resultWrapper = response.data;
|
|
1165
|
+
const transformDataParams = {
|
|
1166
|
+
aliasToMemberNameMap: sqlQuery.aliasNameToMember,
|
|
1167
|
+
annotation: {
|
|
1157
1168
|
...annotation.measures,
|
|
1158
1169
|
...annotation.dimensions,
|
|
1159
1170
|
...annotation.timeDimensions
|
|
1160
|
-
},
|
|
1171
|
+
},
|
|
1172
|
+
query: normalizedQuery,
|
|
1173
|
+
queryType,
|
|
1174
|
+
resType: responseType,
|
|
1175
|
+
};
|
|
1176
|
+
const resObj = {
|
|
1177
|
+
query: normalizedQuery,
|
|
1161
1178
|
lastRefreshTime: response.lastRefreshTime?.toISOString(),
|
|
1162
1179
|
...((0, shared_1.getEnv)('devMode') ||
|
|
1163
1180
|
context.signedWithPlaygroundAuthSecret
|
|
@@ -1176,6 +1193,9 @@ class ApiGateway {
|
|
|
1176
1193
|
slowQuery: Boolean(response.slowQuery),
|
|
1177
1194
|
total: normalizedQuery.total ? response.total : null,
|
|
1178
1195
|
};
|
|
1196
|
+
resultWrapper.setTransformData(transformDataParams);
|
|
1197
|
+
resultWrapper.setRootResultObject(resObj);
|
|
1198
|
+
return resultWrapper;
|
|
1179
1199
|
}
|
|
1180
1200
|
/**
|
|
1181
1201
|
* Returns stream object which will be used to stream results from
|
|
@@ -1241,6 +1261,11 @@ class ApiGateway {
|
|
|
1241
1261
|
query
|
|
1242
1262
|
}, context);
|
|
1243
1263
|
const [queryType, normalizedQueries] = await this.getNormalizedQueries(query, context);
|
|
1264
|
+
if (queryType !== enums_1.QueryType.REGULAR_QUERY &&
|
|
1265
|
+
props.queryType == null) {
|
|
1266
|
+
throw new UserError_1.UserError(`'${queryType}' query type is not supported by the client.` +
|
|
1267
|
+
'Please update the client.');
|
|
1268
|
+
}
|
|
1244
1269
|
let metaConfigResult = await (await this
|
|
1245
1270
|
.getCompilerApi(context)).metaConfig(request.context, {
|
|
1246
1271
|
requestId: context.requestId
|
|
@@ -1251,9 +1276,9 @@ class ApiGateway {
|
|
|
1251
1276
|
const results = await Promise.all(normalizedQueries.map(async (normalizedQuery, index) => {
|
|
1252
1277
|
slowQuery = slowQuery ||
|
|
1253
1278
|
Boolean(sqlQueries[index].slowQuery);
|
|
1254
|
-
const annotation = (0, prepareAnnotation_1.prepareAnnotation)(metaConfigResult, normalizedQuery);
|
|
1255
1279
|
const response = await this.getSqlResponseInternal(context, normalizedQuery, sqlQueries[index]);
|
|
1256
|
-
|
|
1280
|
+
const annotation = (0, prepareAnnotation_1.prepareAnnotation)(metaConfigResult, normalizedQuery);
|
|
1281
|
+
return this.prepareResultTransformData(context, queryType, normalizedQuery, sqlQueries[index], annotation, response, resType);
|
|
1257
1282
|
}));
|
|
1258
1283
|
this.log({
|
|
1259
1284
|
type: 'Load Request Success',
|
|
@@ -1262,25 +1287,21 @@ class ApiGateway {
|
|
|
1262
1287
|
apiType,
|
|
1263
1288
|
isPlayground: Boolean(context.signedWithPlaygroundAuthSecret),
|
|
1264
1289
|
queries: results.length,
|
|
1265
|
-
queriesWithPreAggregations: results.filter((r) => Object.keys(r.usedPreAggregations || {}).length).length,
|
|
1266
|
-
|
|
1267
|
-
|
|
1290
|
+
queriesWithPreAggregations: results.filter((r) => Object.keys(r.getRootResultObject()[0].usedPreAggregations || {}).length).length,
|
|
1291
|
+
// Have to omit because data could be processed natively
|
|
1292
|
+
// so it is not known at this point
|
|
1293
|
+
// queriesWithData:
|
|
1294
|
+
// results.filter((r: any) => r.data?.length).length,
|
|
1295
|
+
dbType: results.map(r => r.getRootResultObject()[0].dbType),
|
|
1268
1296
|
}, context);
|
|
1269
|
-
if (queryType !== enums_1.QueryType.REGULAR_QUERY &&
|
|
1270
|
-
props.queryType == null) {
|
|
1271
|
-
throw new UserError_1.UserError(`'${queryType}' query type is not supported by the client.` +
|
|
1272
|
-
'Please update the client.');
|
|
1273
|
-
}
|
|
1274
1297
|
if (props.queryType === 'multi') {
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
pivotQuery: (0, query_1.getPivotQuery)(queryType, normalizedQueries),
|
|
1279
|
-
slowQuery
|
|
1280
|
-
});
|
|
1298
|
+
// We prepare the final json result on native side
|
|
1299
|
+
const resultMulti = new native_1.ResultMultiWrapper(results, { queryType, slowQuery });
|
|
1300
|
+
await res(resultMulti);
|
|
1281
1301
|
}
|
|
1282
1302
|
else {
|
|
1283
|
-
|
|
1303
|
+
// We prepare the full final json result on native side
|
|
1304
|
+
await res(results[0]);
|
|
1284
1305
|
}
|
|
1285
1306
|
}
|
|
1286
1307
|
catch (e) {
|
|
@@ -1352,6 +1373,7 @@ class ApiGateway {
|
|
|
1352
1373
|
annotation
|
|
1353
1374
|
}];
|
|
1354
1375
|
}
|
|
1376
|
+
await res(request.streaming ? results[0] : { results });
|
|
1355
1377
|
}
|
|
1356
1378
|
else {
|
|
1357
1379
|
results = await Promise.all(normalizedQueries.map(async (normalizedQuery, index) => {
|
|
@@ -1362,12 +1384,17 @@ class ApiGateway {
|
|
|
1362
1384
|
return streamResponse(sqlQueries[index]);
|
|
1363
1385
|
}
|
|
1364
1386
|
const response = await this.getSqlResponseInternal(context, normalizedQuery, sqlQueries[index]);
|
|
1365
|
-
return this.
|
|
1387
|
+
return this.prepareResultTransformData(context, queryType, normalizedQuery, sqlQueries[index], annotation, response, resType);
|
|
1366
1388
|
}));
|
|
1389
|
+
if (request.streaming) {
|
|
1390
|
+
await res(results[0]);
|
|
1391
|
+
}
|
|
1392
|
+
else {
|
|
1393
|
+
// We prepare the final json result on native side
|
|
1394
|
+
const resultArray = new native_1.ResultArrayWrapper(results);
|
|
1395
|
+
await res(resultArray);
|
|
1396
|
+
}
|
|
1367
1397
|
}
|
|
1368
|
-
res(request.streaming ? results[0] : {
|
|
1369
|
-
results,
|
|
1370
|
-
});
|
|
1371
1398
|
}
|
|
1372
1399
|
catch (e) {
|
|
1373
1400
|
this.handleError({
|
|
@@ -1402,7 +1429,7 @@ class ApiGateway {
|
|
|
1402
1429
|
query,
|
|
1403
1430
|
context,
|
|
1404
1431
|
res: (message, opts) => {
|
|
1405
|
-
if (!Array.isArray(message) && message.error) {
|
|
1432
|
+
if (!Array.isArray(message) && 'error' in message && message.error) {
|
|
1406
1433
|
error = { message, opts };
|
|
1407
1434
|
}
|
|
1408
1435
|
else {
|
|
@@ -1428,7 +1455,18 @@ class ApiGateway {
|
|
|
1428
1455
|
}
|
|
1429
1456
|
}
|
|
1430
1457
|
resToResultFn(res) {
|
|
1431
|
-
return (message, { status } = {}) =>
|
|
1458
|
+
return async (message, { status } = {}) => {
|
|
1459
|
+
if (status) {
|
|
1460
|
+
res.status(status);
|
|
1461
|
+
}
|
|
1462
|
+
if (message.isWrapper) {
|
|
1463
|
+
res.set('Content-Type', 'application/json');
|
|
1464
|
+
res.send(Buffer.from(await message.getFinalResult()));
|
|
1465
|
+
}
|
|
1466
|
+
else {
|
|
1467
|
+
res.json(message);
|
|
1468
|
+
}
|
|
1469
|
+
};
|
|
1432
1470
|
}
|
|
1433
1471
|
parseQueryParam(query) {
|
|
1434
1472
|
if (!query || query === 'undefined') {
|