@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.
Files changed (37) hide show
  1. package/dist/src/SubscriptionServer.d.ts +2 -2
  2. package/dist/src/SubscriptionServer.d.ts.map +1 -1
  3. package/dist/src/SubscriptionServer.js +1 -1
  4. package/dist/src/SubscriptionServer.js.map +1 -1
  5. package/dist/src/gateway.d.ts +10 -3
  6. package/dist/src/gateway.d.ts.map +1 -1
  7. package/dist/src/gateway.js +69 -31
  8. package/dist/src/gateway.js.map +1 -1
  9. package/dist/src/graphql.d.ts.map +1 -1
  10. package/dist/src/graphql.js +10 -2
  11. package/dist/src/graphql.js.map +1 -1
  12. package/dist/src/helpers/prepareAnnotation.d.ts +1 -1
  13. package/dist/src/helpers/prepareAnnotation.d.ts.map +1 -1
  14. package/dist/src/helpers/prepareAnnotation.js.map +1 -1
  15. package/dist/src/helpers/toConfigMap.d.ts +1 -1
  16. package/dist/src/helpers/toConfigMap.js +1 -1
  17. package/dist/src/index.d.ts +1 -0
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/interfaces.d.ts +4 -2
  20. package/dist/src/interfaces.d.ts.map +1 -1
  21. package/dist/src/interfaces.js +2 -1
  22. package/dist/src/interfaces.js.map +1 -1
  23. package/dist/src/types/request.d.ts +2 -1
  24. package/dist/src/types/request.d.ts.map +1 -1
  25. package/dist/src/types/responses.d.ts +34 -0
  26. package/dist/src/types/responses.d.ts.map +1 -0
  27. package/dist/src/types/responses.js +3 -0
  28. package/dist/src/types/responses.js.map +1 -0
  29. package/package.json +5 -5
  30. package/dist/src/helpers/transformData.d.ts +0 -87
  31. package/dist/src/helpers/transformData.d.ts.map +0 -1
  32. package/dist/src/helpers/transformData.js +0 -236
  33. package/dist/src/helpers/transformData.js.map +0 -1
  34. package/dist/src/helpers/transformValue.d.ts +0 -21
  35. package/dist/src/helpers/transformValue.d.ts.map +0 -1
  36. package/dist/src/helpers/transformValue.js +0 -29
  37. 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;AAElF,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"}
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":"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"}
1
+ {"version":3,"file":"SubscriptionServer.js","sourceRoot":"","sources":["../../src/SubscriptionServer.ts"],"names":[],"mappings":"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"}
@@ -183,11 +183,18 @@ declare class ApiGateway {
183
183
  */
184
184
  private getSqlResponseInternal;
185
185
  /**
186
- * Convert adapter's result and other request paramters to a final
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 getResultInternal;
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
- }) => ExpressResponse<any, Record<string, any>>;
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":"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"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
@@ -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
- * Convert adapter's result and other request paramters to a final
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
- getResultInternal(context, queryType, normalizedQuery, sqlQuery, annotation, response, responseType) {
1154
- return {
1155
- query: normalizedQuery,
1156
- data: (0, transformData_1.default)(sqlQuery.aliasNameToMember, {
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
- }, response.data, normalizedQuery, queryType, responseType),
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
- return this.getResultInternal(context, queryType, normalizedQuery, sqlQueries[index], annotation, response, resType);
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
- queriesWithData: results.filter((r) => r.data?.length).length,
1267
- dbType: results.map(r => r.dbType),
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
- res({
1276
- queryType,
1277
- results,
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
- res(results[0]);
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.getResultInternal(context, queryType, normalizedQuery, sqlQueries[index], annotation, response, resType);
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 } = {}) => (status ? res.status(status).json(message) : res.json(message));
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') {