@cubejs-backend/api-gateway 0.32.22 → 0.32.25

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.
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import * as stream from 'stream';
3
3
  import type { Application as ExpressApplication, ErrorRequestHandler, RequestHandler, Response } from 'express';
4
- import { QueryType, Permission } from './types/strings';
4
+ import { QueryType, ApiScopes } from './types/strings';
5
5
  import { RequestContext, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, ResponseResultFn, QueryRequest } from './types/request';
6
- import { CheckAuthInternalOptions, JWTOptions, CheckAuthFn, ContextToPermissionsFn } from './types/auth';
6
+ import { CheckAuthInternalOptions, JWTOptions, CheckAuthFn, ContextToApiScopesFn } from './types/auth';
7
7
  import { Query, NormalizedQuery } from './types/query';
8
8
  import { UserBackgroundContext, ApiGatewayOptions } from './types/gateway';
9
9
  import { CheckAuthMiddlewareFn, RequestLoggerMiddlewareFn, ContextRejectionMiddlewareFn, ContextAcceptorFn } from './interfaces';
@@ -30,8 +30,8 @@ declare class ApiGateway {
30
30
  protected readonly dataSourceStorage: any;
31
31
  readonly checkAuthFn: CheckAuthFn;
32
32
  readonly checkAuthSystemFn: CheckAuthFn;
33
- protected readonly contextToPermFn: ContextToPermissionsFn;
34
- protected readonly contextToPermDefFn: ContextToPermissionsFn;
33
+ protected readonly contextToApiScopesFn: ContextToApiScopesFn;
34
+ protected readonly contextToApiScopesDefFn: ContextToApiScopesFn;
35
35
  protected readonly checkAuthMiddleware: CheckAuthMiddlewareFn;
36
36
  protected readonly requestLoggerMiddleware: RequestLoggerMiddlewareFn;
37
37
  protected readonly securityContextExtractor: SecurityContextExtractorFn;
@@ -39,6 +39,7 @@ declare class ApiGateway {
39
39
  protected readonly wsContextAcceptor: ContextAcceptorFn;
40
40
  protected readonly releaseListeners: (() => any)[];
41
41
  protected readonly playgroundAuthSecret?: string;
42
+ protected readonly event: (name: string, props?: object) => void;
42
43
  constructor(apiSecret: string, compilerApi: any, adapterApi: any, logger: any, options: ApiGatewayOptions);
43
44
  initApp(app: ExpressApplication): void;
44
45
  initSQLServer(): SQLServer;
@@ -230,8 +231,8 @@ declare class ApiGateway {
230
231
  protected createDefaultCheckAuth(options?: JWTOptions, internalOptions?: CheckAuthInternalOptions): CheckAuthFn;
231
232
  protected createCheckAuthFn(options: ApiGatewayOptions): CheckAuthFn;
232
233
  protected createCheckAuthSystemFn(): CheckAuthFn;
233
- protected createContextToPermissionsFn(options: ApiGatewayOptions): ContextToPermissionsFn;
234
- protected assertPermission(permission: Permission, securityContext?: any): Promise<void>;
234
+ protected createContextToApiScopesFn(options: ApiGatewayOptions): ContextToApiScopesFn;
235
+ protected assertApiScope(scope: ApiScopes, securityContext?: any): Promise<void>;
235
236
  protected extractAuthorizationHeaderWithSchema(req: Request): string | undefined;
236
237
  protected checkAuthWrapper(checkAuthFn: CheckAuthFn, req: Request, res: Response, next: any): Promise<void>;
237
238
  protected checkAuth: RequestHandler;
@@ -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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"}
@@ -34,7 +34,7 @@ class ApiGateway {
34
34
  this.adapterApi = adapterApi;
35
35
  this.logger = logger;
36
36
  this.options = options;
37
- this.contextToPermDefFn = async () => ['liveliness', 'graphql', 'meta', 'data'];
37
+ this.contextToApiScopesDefFn = async () => ['liveliness', 'graphql', 'meta', 'data'];
38
38
  this.releaseListeners = [];
39
39
  this.handleErrorMiddleware = async (e, req, res, next) => {
40
40
  this.handleError({
@@ -146,7 +146,7 @@ class ApiGateway {
146
146
  this.extendContext = options.extendContext;
147
147
  this.checkAuthFn = this.createCheckAuthFn(options);
148
148
  this.checkAuthSystemFn = this.createCheckAuthSystemFn();
149
- this.contextToPermFn = this.createContextToPermissionsFn(options);
149
+ this.contextToApiScopesFn = this.createContextToApiScopesFn(options);
150
150
  this.checkAuthMiddleware = options.checkAuthMiddleware
151
151
  ? this.wrapCheckAuthMiddleware(options.checkAuthMiddleware)
152
152
  : this.checkAuth;
@@ -154,6 +154,8 @@ class ApiGateway {
154
154
  this.requestLoggerMiddleware = options.requestLoggerMiddleware || this.requestLogger;
155
155
  this.contextRejectionMiddleware = options.contextRejectionMiddleware || (async (req, res, next) => next());
156
156
  this.wsContextAcceptor = options.wsContextAcceptor || (() => ({ accepted: true }));
157
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
158
+ this.event = options.event || function () { };
157
159
  }
158
160
  initApp(app) {
159
161
  const userMiddlewares = [
@@ -164,21 +166,21 @@ class ApiGateway {
164
166
  this.requestLoggerMiddleware
165
167
  ];
166
168
  /** **************************************************************
167
- * Liveliness permission *
169
+ * Liveliness scope *
168
170
  *************************************************************** */
169
171
  // @todo Should we pass requestLoggerMiddleware?
170
- // @todo Should we add permission assert here?
172
+ // @todo Should we add scope assert here?
171
173
  const guestMiddlewares = [];
172
174
  app.get('/readyz', guestMiddlewares, (0, cached_handler_1.cachedHandler)(this.readiness));
173
175
  app.get('/livez', guestMiddlewares, (0, cached_handler_1.cachedHandler)(this.liveness));
174
176
  /** **************************************************************
175
- * Graphql permission *
177
+ * Graphql scope *
176
178
  *************************************************************** */
177
179
  app.use(`${this.basePath}/graphql`, [
178
180
  ...userMiddlewares,
179
181
  async (req, res, next) => {
180
182
  try {
181
- await this.assertPermission('graphql', req?.context?.securityContext);
183
+ await this.assertApiScope('graphql', req?.context?.securityContext);
182
184
  if (next)
183
185
  next();
184
186
  }
@@ -211,7 +213,7 @@ class ApiGateway {
211
213
  })(req, res);
212
214
  });
213
215
  /** **************************************************************
214
- * Data permission *
216
+ * Data scope *
215
217
  *************************************************************** */
216
218
  app.get(`${this.basePath}/v1/load`, userMiddlewares, (async (req, res) => {
217
219
  await this.load({
@@ -267,7 +269,7 @@ class ApiGateway {
267
269
  });
268
270
  }));
269
271
  /** **************************************************************
270
- * Meta permission *
272
+ * Meta scope *
271
273
  *************************************************************** */
272
274
  app.get(`${this.basePath}/v1/meta`, userMiddlewares, async (req, res) => {
273
275
  if (req.query.hasOwnProperty('extended')) {
@@ -287,7 +289,7 @@ class ApiGateway {
287
289
  ...userMiddlewares,
288
290
  async (req, res, next) => {
289
291
  try {
290
- await this.assertPermission('meta', req?.context?.securityContext);
292
+ await this.assertApiScope('meta', req?.context?.securityContext);
291
293
  if (next)
292
294
  next();
293
295
  }
@@ -305,7 +307,7 @@ class ApiGateway {
305
307
  res.json({ canUsePreAggregationForTransformedQuery });
306
308
  });
307
309
  /** **************************************************************
308
- * Jobs permission *
310
+ * Jobs scope *
309
311
  *************************************************************** */
310
312
  app.get(`${this.basePath}/v1/run-scheduled-refresh`, userMiddlewares, async (req, res) => {
311
313
  await this.runScheduledRefresh({
@@ -316,7 +318,7 @@ class ApiGateway {
316
318
  });
317
319
  app.post(`${this.basePath}/v1/pre-aggregations/jobs`, userMiddlewares, this.preAggregationsJobs.bind(this));
318
320
  /** **************************************************************
319
- * Private API (no permissions) *
321
+ * Private API (no scopes) *
320
322
  *************************************************************** */
321
323
  if (this.playgroundAuthSecret) {
322
324
  const systemMiddlewares = [
@@ -395,7 +397,7 @@ class ApiGateway {
395
397
  async runScheduledRefresh({ context, res, queryingOptions }) {
396
398
  const requestStarted = new Date();
397
399
  try {
398
- await this.assertPermission('jobs', context.securityContext);
400
+ await this.assertApiScope('jobs', context.securityContext);
399
401
  const refreshScheduler = this.refreshScheduler();
400
402
  res(await refreshScheduler.runScheduledRefresh(context, {
401
403
  ...this.parseQueryParam(queryingOptions || {}),
@@ -426,7 +428,7 @@ class ApiGateway {
426
428
  async meta({ context, res }) {
427
429
  const requestStarted = new Date();
428
430
  try {
429
- await this.assertPermission('meta', context.securityContext);
431
+ await this.assertApiScope('meta', context.securityContext);
430
432
  const metaConfig = await this.getCompilerApi(context).metaConfig({
431
433
  requestId: context.requestId,
432
434
  });
@@ -445,7 +447,7 @@ class ApiGateway {
445
447
  async metaExtended({ context, res }) {
446
448
  const requestStarted = new Date();
447
449
  try {
448
- await this.assertPermission('meta', context.securityContext);
450
+ await this.assertApiScope('meta', context.securityContext);
449
451
  const metaConfigExtended = await this.getCompilerApi(context).metaConfigExtended({
450
452
  requestId: context.requestId,
451
453
  });
@@ -613,7 +615,7 @@ class ApiGateway {
613
615
  const query = req.body;
614
616
  let result;
615
617
  try {
616
- await this.assertPermission('jobs', req?.context?.securityContext);
618
+ await this.assertApiScope('jobs', req?.context?.securityContext);
617
619
  switch (query.action) {
618
620
  case 'post':
619
621
  if (!query.selector.timezones ||
@@ -647,6 +649,9 @@ class ApiGateway {
647
649
  default:
648
650
  throw new Error(`The '${query.action}' action type doesn't supported.`);
649
651
  }
652
+ this.event(`pre_aggregations_jobs_${query.action}`, {
653
+ source: req.header('source') || 'unknown',
654
+ });
650
655
  response(result, { status: 200 });
651
656
  }
652
657
  catch (e) {
@@ -927,7 +932,7 @@ class ApiGateway {
927
932
  async sql({ query, context, res }) {
928
933
  const requestStarted = new Date();
929
934
  try {
930
- await this.assertPermission('data', context.securityContext);
935
+ await this.assertApiScope('data', context.securityContext);
931
936
  query = this.parseQueryParam(query);
932
937
  const [queryType, normalizedQueries] = await this.getNormalizedQueries(query, context);
933
938
  const sqlQueries = await Promise.all(normalizedQueries.map((normalizedQuery) => this.getCompilerApi(context).getSql(this.coerceForSqlQuery(normalizedQuery, context), { includeDebugInfo: (0, shared_1.getEnv)('devMode') || context.signedWithPlaygroundAuthSecret })));
@@ -994,7 +999,7 @@ class ApiGateway {
994
999
  async dryRun({ query, context, res }) {
995
1000
  const requestStarted = new Date();
996
1001
  try {
997
- await this.assertPermission('data', context.securityContext);
1002
+ await this.assertApiScope('data', context.securityContext);
998
1003
  const [queryType, normalizedQueries] = await this.getNormalizedQueries(query, context);
999
1004
  const sqlQueries = await Promise.all(normalizedQueries.map((normalizedQuery) => this.getCompilerApi(context).getSql(this.coerceForSqlQuery(normalizedQuery, context), {
1000
1005
  includeDebugInfo: (0, shared_1.getEnv)('devMode') || context.signedWithPlaygroundAuthSecret
@@ -1158,7 +1163,7 @@ class ApiGateway {
1158
1163
  const { context, res, apiType = 'rest', ...props } = request;
1159
1164
  const requestStarted = new Date();
1160
1165
  try {
1161
- await this.assertPermission('data', context.securityContext);
1166
+ await this.assertApiScope('data', context.securityContext);
1162
1167
  query = this.parseQueryParam(request.query);
1163
1168
  let resType = enums_1.ResultType.DEFAULT;
1164
1169
  if (!Array.isArray(query) && query.responseFormat) {
@@ -1504,30 +1509,38 @@ class ApiGateway {
1504
1509
  await systemCheckAuthFn(ctx, authorization);
1505
1510
  };
1506
1511
  }
1507
- createContextToPermissionsFn(options) {
1508
- return options.contextToPermissions
1509
- ? async (securityContext, defaultPermissions) => {
1510
- const permissions = options.contextToPermissions &&
1511
- await options.contextToPermissions(securityContext, defaultPermissions);
1512
- if (!permissions || !Array.isArray(permissions)) {
1513
- throw new Error('A user-defined contextToPermissions function returns an inconsistent type.');
1512
+ createContextToApiScopesFn(options) {
1513
+ return options.contextToApiScopes
1514
+ ? async (securityContext, defaultApiScopes) => {
1515
+ const scopes = options.contextToApiScopes &&
1516
+ await options.contextToApiScopes(securityContext, defaultApiScopes);
1517
+ if (!scopes || !Array.isArray(scopes)) {
1518
+ throw new Error('A user-defined contextToApiScopes function returns an inconsistent type.');
1514
1519
  }
1515
1520
  else {
1516
- permissions.forEach((p) => {
1521
+ scopes.forEach((p) => {
1517
1522
  if (['liveliness', 'graphql', 'meta', 'data', 'jobs'].indexOf(p) === -1) {
1518
- throw new Error(`A user-defined contextToPermissions function returns a wrong permission: ${p}`);
1523
+ throw new Error(`A user-defined contextToApiScopes function returns a wrong scope: ${p}`);
1519
1524
  }
1520
1525
  });
1521
1526
  }
1522
- return permissions;
1527
+ return scopes;
1523
1528
  }
1524
- : this.contextToPermDefFn;
1529
+ : async () => {
1530
+ const defaultApiScope = (0, shared_1.getEnv)('defaultApiScope');
1531
+ if (defaultApiScope) {
1532
+ return defaultApiScope;
1533
+ }
1534
+ else {
1535
+ return this.contextToApiScopesDefFn();
1536
+ }
1537
+ };
1525
1538
  }
1526
- async assertPermission(permission, securityContext) {
1527
- const permissions = await this.contextToPermFn(securityContext || {}, await this.contextToPermDefFn());
1528
- const permited = permissions.indexOf(permission) >= 0;
1539
+ async assertApiScope(scope, securityContext) {
1540
+ const scopes = await this.contextToApiScopesFn(securityContext || {}, await this.contextToApiScopesDefFn());
1541
+ const permited = scopes.indexOf(scope) >= 0;
1529
1542
  if (!permited) {
1530
- throw new CubejsHandlerError_1.CubejsHandlerError(403, 'Forbidden', `Permission is missed: ${permission}`);
1543
+ throw new CubejsHandlerError_1.CubejsHandlerError(403, 'Forbidden', `Api scope is missed: ${scope}`);
1531
1544
  }
1532
1545
  }
1533
1546
  extractAuthorizationHeaderWithSchema(req) {
@@ -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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"}
@@ -2,9 +2,9 @@ import type { Request as ExpressRequest, Response as ExpressResponse, NextFuncti
2
2
  import { QueryTimeDimensionGranularity } from './types/strings';
3
3
  import { QueryType } from './types/enums';
4
4
  import { QueryFilter, LogicalAndFilter, LogicalOrFilter, QueryTimeDimension, Query, NormalizedQueryFilter, NormalizedQuery } from './types/query';
5
- import { JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, ContextToPermissionsFn } from './types/auth';
5
+ import { JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, ContextToApiScopesFn } from './types/auth';
6
6
  import { RequestContext, RequestExtension, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, ResponseResultFn, QueryRequest } from './types/request';
7
- export { QueryTimeDimensionGranularity, QueryType, QueryFilter, LogicalAndFilter, LogicalOrFilter, QueryTimeDimension, Query, NormalizedQueryFilter, NormalizedQuery, JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, RequestContext, RequestExtension, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, ResponseResultFn, QueryRequest, ContextToPermissionsFn, };
7
+ export { QueryTimeDimensionGranularity, QueryType, QueryFilter, LogicalAndFilter, LogicalOrFilter, QueryTimeDimension, Query, NormalizedQueryFilter, NormalizedQuery, JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, RequestContext, RequestExtension, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, ResponseResultFn, QueryRequest, ContextToApiScopesFn, };
8
8
  /**
9
9
  * Auth middleware.
10
10
  * @deprecated
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,cAAc,EACzB,QAAQ,IAAI,eAAe,EAC3B,YAAY,IAAI,mBAAmB,EACpC,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,6BAA6B,EAC7B,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,GACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAChC,CACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,4BAA4B,GACvC,CACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAExG;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GACnC,CACE,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,cAAc,EACzB,QAAQ,IAAI,eAAe,EAC3B,YAAY,IAAI,mBAAmB,EACpC,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,6BAA6B,EAC7B,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,GACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAChC,CACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,4BAA4B,GACvC,CACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAExG;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GACnC,CACE,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC"}
@@ -4,11 +4,11 @@
4
4
  * @fileoverview
5
5
  * Cube.js auth related data types definition.
6
6
  */
7
- import { Permission } from './strings';
7
+ import { ApiScopes } from './strings';
8
8
  /**
9
- * Permissions tuple.
9
+ * ApiScopes tuple.
10
10
  */
11
- type PermissionsTuple = Permission[];
11
+ type ApiScopesTuple = ApiScopes[];
12
12
  /**
13
13
  * Internal auth logic options object data type.
14
14
  */
@@ -59,8 +59,8 @@ type CheckSQLAuthFn = (ctx: any, user: string | null) => Promise<CheckSQLAuthSuc
59
59
  */
60
60
  type CanSwitchSQLUserFn = (current: string | null, user: string) => Promise<boolean> | boolean;
61
61
  /**
62
- * Returns permissions tuple from a security context.
62
+ * Returns scopes tuple from a security context.
63
63
  */
64
- type ContextToPermissionsFn = (securityContext?: any, permissions?: PermissionsTuple) => Promise<PermissionsTuple>;
65
- export { CheckAuthInternalOptions, JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, PermissionsTuple, ContextToPermissionsFn, };
64
+ type ContextToApiScopesFn = (securityContext?: any, scopes?: ApiScopesTuple) => Promise<ApiScopesTuple>;
65
+ export { CheckAuthInternalOptions, JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, ApiScopesTuple, ContextToApiScopesFn, };
66
66
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/types/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;GAEG;AACH,KAAK,gBAAgB,GAAG,UAAU,EAAE,CAAC;AAErC;;GAEG;AACH,KAAK,wBAAwB,GAAG;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,UAAU,UAAU;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,KAAK,WAAW,GACd,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE7D;;GAEG;AACH,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAA;CACtB,CAAC;AAEF;;;;GAIG;AACH,KAAK,cAAc,GACjB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAC5B,OAAO,CAAC,2BAA2B,CAAC,GACpC,2BAA2B,CAAC;AAEhC;;;GAGG;AACH,KAAK,kBAAkB,GACrB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,KACnC,OAAO,CAAC,OAAO,CAAC,GAChB,OAAO,CAAC;AAEZ;;GAEG;AACH,KAAK,sBAAsB,GACzB,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,gBAAgB,KACpD,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,GACvB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/types/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,KAAK,cAAc,GAAG,SAAS,EAAE,CAAC;AAElC;;GAEG;AACH,KAAK,wBAAwB,GAAG;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,UAAU,UAAU;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,KAAK,WAAW,GACd,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE7D;;GAEG;AACH,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAA;CACtB,CAAC;AAEF;;;;GAIG;AACH,KAAK,cAAc,GACjB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAC5B,OAAO,CAAC,2BAA2B,CAAC,GACpC,2BAA2B,CAAC;AAEhC;;;GAGG;AACH,KAAK,kBAAkB,GACrB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,KACnC,OAAO,CAAC,OAAO,CAAC,GAChB,OAAO,CAAC;AAEZ;;GAEG;AACH,KAAK,oBAAoB,GACvB,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,cAAc,KAC7C,OAAO,CAAC,cAAc,CAAC,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { QueryRewriteFn, ExtendContextFn } from './request';
8
8
  import { JWTOptions, CheckAuthFn } from './auth';
9
- import { CheckAuthMiddlewareFn, RequestLoggerMiddlewareFn, ContextRejectionMiddlewareFn, ContextAcceptorFn, ContextToPermissionsFn } from '../interfaces';
9
+ import { CheckAuthMiddlewareFn, RequestLoggerMiddlewareFn, ContextRejectionMiddlewareFn, ContextAcceptorFn, ContextToApiScopesFn } from '../interfaces';
10
10
  type UserBackgroundContext = {
11
11
  /**
12
12
  * Security context object.
@@ -51,7 +51,8 @@ interface ApiGatewayOptions {
51
51
  * @deprecated Use checkAuth property instead.
52
52
  */
53
53
  checkAuthMiddleware?: CheckAuthMiddlewareFn;
54
- contextToPermissions?: ContextToPermissionsFn;
54
+ contextToApiScopes?: ContextToApiScopesFn;
55
+ event?: (name: string, props?: object) => void;
55
56
  }
56
57
  export { UserBackgroundContext, ScheduledRefreshContextsFn, ApiGatewayOptions, };
57
58
  //# sourceMappingURL=gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,WAAW,EACZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,eAAe,CAAC;AAEvB,KAAK,qBAAqB,GAAG;IAC3B;;;;OAIG;IACH,eAAe,EAAE,GAAG,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,KAAK,0BAA0B,GAC7B,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAEzC;;GAEG;AACH,UAAU,iBAAiB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC;IACvB,gBAAgB,EAAE,GAAG,CAAC;IACtB,wBAAwB,CAAC,EAAE,0BAA0B,CAAC;IACtD,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;IACpD,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,4BAA4B,CAAC;IAC1D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;;OAEG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,WAAW,EACZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB,KAAK,qBAAqB,GAAG;IAC3B;;;;OAIG;IACH,eAAe,EAAE,GAAG,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,KAAK,0BAA0B,GAC7B,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAEzC;;GAEG;AACH,UAAU,iBAAiB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC;IACvB,gBAAgB,EAAE,GAAG,CAAC;IACtB,wBAAwB,CAAC,EAAE,0BAA0B,CAAC;IACtD,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;IACpD,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,4BAA4B,CAAC;IAC1D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;;OAEG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,GAClB,CAAC"}
@@ -46,8 +46,8 @@ type QueryTimeDimensionGranularity = 'quarter' | 'day' | 'month' | 'year' | 'wee
46
46
  */
47
47
  type QueryOrderType = 'asc' | 'desc';
48
48
  /**
49
- * Permission data type.
49
+ * ApiScopes data type.
50
50
  */
51
- type Permission = 'liveliness' | 'graphql' | 'meta' | 'data' | 'jobs';
52
- export { RequestType, ResultType, ApiType, QueryType, MemberType, Member, TimeMember, FilterOperator, QueryTimeDimensionGranularity, QueryOrderType, Permission, };
51
+ type ApiScopes = 'liveliness' | 'graphql' | 'meta' | 'data' | 'jobs';
52
+ export { RequestType, ResultType, ApiType, QueryType, MemberType, Member, TimeMember, FilterOperator, QueryTimeDimensionGranularity, QueryOrderType, ApiScopes, };
53
53
  //# sourceMappingURL=strings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../src/types/strings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,KAAK,WAAW,GACd,OAAO,CAAC;AAEV;;GAEG;AACH,KAAK,UAAU,GACb,SAAS,GACT,SAAS,CAAC;AAEZ;;GAEG;AACH,KAAK,OAAO,GACV,KAAK,GACL,SAAS,GACT,MAAM,GACN,IAAI,GACJ,QAAQ,CAAC;AAEX;;GAEG;AACH,KAAK,SAAS,GACZ,cAAc,GACd,uBAAuB,GACvB,eAAe,CAAC;AAElB;;GAEG;AACH,KAAK,UAAU,GACb,UAAU,GACV,YAAY,GACZ,UAAU,CAAC;AAEb;;GAEG;AACH,KAAK,MAAM,GAAG,MAAM,CAAC;AAErB;;;GAGG;AACH,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB;;GAEG;AACH,KAAK,cAAc,GAClB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,IAAI,GACJ,OAAO,GACP,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,YAAY,GACZ,WAAW,GACX,eAAe,CAAC;AAEjB;;GAEG;AACH,KAAK,6BAA6B,GACjC,SAAS,GACT,KAAK,GACL,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEV;;GAEG;AACH,KAAK,cAAc,GACjB,KAAK,GACL,MAAM,CAAC;AAET;;GAEG;AACH,KAAK,UAAU,GACb,YAAY,GACZ,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,CAAC;AAET,OAAO,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,6BAA6B,EAC7B,cAAc,EACd,UAAU,GACX,CAAC"}
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../src/types/strings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,KAAK,WAAW,GACd,OAAO,CAAC;AAEV;;GAEG;AACH,KAAK,UAAU,GACb,SAAS,GACT,SAAS,CAAC;AAEZ;;GAEG;AACH,KAAK,OAAO,GACV,KAAK,GACL,SAAS,GACT,MAAM,GACN,IAAI,GACJ,QAAQ,CAAC;AAEX;;GAEG;AACH,KAAK,SAAS,GACZ,cAAc,GACd,uBAAuB,GACvB,eAAe,CAAC;AAElB;;GAEG;AACH,KAAK,UAAU,GACb,UAAU,GACV,YAAY,GACZ,UAAU,CAAC;AAEb;;GAEG;AACH,KAAK,MAAM,GAAG,MAAM,CAAC;AAErB;;;GAGG;AACH,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB;;GAEG;AACH,KAAK,cAAc,GAClB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,IAAI,GACJ,OAAO,GACP,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,YAAY,GACZ,WAAW,GACX,eAAe,CAAC;AAEjB;;GAEG;AACH,KAAK,6BAA6B,GACjC,SAAS,GACT,KAAK,GACL,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEV;;GAEG;AACH,KAAK,cAAc,GACjB,KAAK,GACL,MAAM,CAAC;AAET;;GAEG;AACH,KAAK,SAAS,GACZ,YAAY,GACZ,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,CAAC;AAET,OAAO,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,6BAA6B,EAC7B,cAAc,EACd,SAAS,GACV,CAAC"}
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.32.22",
5
+ "version": "0.32.25",
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.32.22",
31
- "@cubejs-backend/shared": "^0.32.22",
30
+ "@cubejs-backend/native": "^0.32.25",
31
+ "@cubejs-backend/shared": "^0.32.25",
32
32
  "@ungap/structured-clone": "^0.3.4",
33
33
  "body-parser": "^1.19.0",
34
34
  "chrono-node": "^2.6.2",
@@ -81,5 +81,5 @@
81
81
  ],
82
82
  "snapshotResolver": "<rootDir>/test/snapshotResolver.js"
83
83
  },
84
- "gitHead": "5c20a75d129919500a5cff0fcdfc5edf0ec310eb"
84
+ "gitHead": "377e123c1f4e6db89b369b4baff9664918dbf5b2"
85
85
  }