@cubejs-backend/api-gateway 0.33.51 → 0.33.52
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.
|
@@ -41,7 +41,7 @@ class SubscriptionServer {
|
|
|
41
41
|
if (message.authorization) {
|
|
42
42
|
authContext = { isSubscription: true };
|
|
43
43
|
await this.apiGateway.checkAuthFn(authContext, message.authorization);
|
|
44
|
-
const acceptanceResult = this.contextAcceptor(authContext);
|
|
44
|
+
const acceptanceResult = await this.contextAcceptor(authContext);
|
|
45
45
|
if (!acceptanceResult.accepted) {
|
|
46
46
|
this.sendMessage(connectionId, acceptanceResult.rejectMessage);
|
|
47
47
|
return;
|
|
@@ -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;IAC7B,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,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAClB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;aAClC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,YAAoB,EAAE,OAAO,EAAE,cAAc;QACvE,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAoC,EAAE,CAAC;QAElD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI;YACF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/B;YAED,IAAI,OAAO,CAAC,aAAa,EAAE;gBACzB,WAAW,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SubscriptionServer.js","sourceRoot":"","sources":["../../src/SubscriptionServer.ts"],"names":[],"mappings":"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"}
|
package/dist/src/interfaces.d.ts
CHANGED
|
@@ -14,14 +14,15 @@ export type CheckAuthMiddlewareFn = (req: Request, res: ExpressResponse, next: E
|
|
|
14
14
|
* Context rejection middleware.
|
|
15
15
|
*/
|
|
16
16
|
export type ContextRejectionMiddlewareFn = (req: Request, res: ExpressResponse, next: ExpressNextFunction) => void;
|
|
17
|
+
type ContextAcceptorResult = {
|
|
18
|
+
accepted: boolean;
|
|
19
|
+
rejectMessage?: any;
|
|
20
|
+
};
|
|
17
21
|
/**
|
|
18
22
|
* ContextAcceptorFn type that matches the ContextAcceptor.shouldAcceptWs
|
|
19
23
|
* signature from the server-core package
|
|
20
24
|
*/
|
|
21
|
-
export type ContextAcceptorFn = (context: RequestContext) =>
|
|
22
|
-
accepted: boolean;
|
|
23
|
-
rejectMessage?: any;
|
|
24
|
-
};
|
|
25
|
+
export type ContextAcceptorFn = (context: RequestContext) => Promise<ContextAcceptorResult> | ContextAcceptorResult;
|
|
25
26
|
/**
|
|
26
27
|
* Logger middleware.
|
|
27
28
|
* @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,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
|
|
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,KAAK,qBAAqB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC;AAEpH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GACnC,CACE,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,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.33.
|
|
5
|
+
"version": "0.33.52",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.git",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
],
|
|
83
83
|
"snapshotResolver": "<rootDir>/test/snapshotResolver.js"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "233cb6d84b7ca801061dbc6236ffaca2dd55e1ce"
|
|
86
86
|
}
|