From 44e4d5b0d1cbd3aa5fc66359ea4863928f7d2e60 Mon Sep 17 00:00:00 2001 From: Dong Wook Kim Date: Fri, 6 Nov 2020 16:23:03 +0900 Subject: [PATCH] v0.3.2 --- Dockerfile | 1 + dist/broker/broker.d.ts | 2 - dist/broker/broker.js | 16 +- dist/broker/broker.js.map | 2 +- dist/broker/delegator/delegator.d.ts | 5 +- dist/broker/delegator/delegator.js.map | 2 +- .../broker/delegator/moleculer/delegator.d.ts | 6 +- dist/broker/delegator/moleculer/delegator.js | 43 ++- .../delegator/moleculer/delegator.js.map | 2 +- dist/broker/name.d.ts | 2 - dist/broker/name.js | 26 -- dist/broker/name.js.map | 1 - dist/broker/pubsub/discovery.d.ts | 2 +- dist/broker/pubsub/discovery.js | 2 +- dist/broker/pubsub/discovery.js.map | 2 +- dist/broker/pubsub/pubsub.d.ts | 1 - dist/broker/pubsub/pubsub.js | 8 +- dist/broker/pubsub/pubsub.js.map | 2 +- .../__test__/schema.policy.scope.spec.js | 331 ++++++++++++------ .../__test__/schema.policy.scope.spec.js.map | 2 +- dist/schema/plugin/connector/compiler.js.map | 1 - .../{compiler.d.ts => connector.d.ts} | 1 + .../connector/{compiler.js => connector.js} | 27 +- dist/schema/plugin/connector/connector.js.map | 1 + dist/schema/plugin/connector/index.d.ts | 3 +- dist/schema/plugin/connector/index.js | 3 +- dist/schema/plugin/connector/index.js.map | 2 +- dist/schema/plugin/connector/policy.d.ts | 19 +- dist/schema/plugin/connector/policy.js | 88 +++-- dist/schema/plugin/connector/policy.js.map | 2 +- dist/schema/plugin/connector/schema.d.ts | 9 +- dist/schema/plugin/policy/filter/plugin.d.ts | 15 +- dist/schema/plugin/policy/filter/plugin.js | 62 +++- .../schema/plugin/policy/filter/plugin.js.map | 2 +- .../plugin/policy/filter/plugin.spec.d.ts | 1 + .../plugin/policy/filter/plugin.spec.js | 20 ++ .../plugin/policy/filter/plugin.spec.js.map | 1 + dist/schema/plugin/policy/plugin.d.ts | 10 +- dist/schema/plugin/policy/plugin.js.map | 2 +- dist/schema/plugin/policy/scope/plugin.d.ts | 17 +- dist/schema/plugin/policy/scope/plugin.js | 64 +++- dist/schema/plugin/policy/scope/plugin.js.map | 2 +- .../plugin/policy/scope/plugin.spec.d.ts | 1 + .../schema/plugin/policy/scope/plugin.spec.js | 20 ++ .../plugin/policy/scope/plugin.spec.js.map | 1 + dist/schema/registry.js | 2 +- dist/schema/registry.js.map | 2 +- dist/server/middleware/body-parser.js | 1 + dist/server/middleware/body-parser.js.map | 2 +- package.json | 2 +- 50 files changed, 551 insertions(+), 290 deletions(-) delete mode 100644 dist/broker/name.d.ts delete mode 100644 dist/broker/name.js delete mode 100644 dist/broker/name.js.map delete mode 100644 dist/schema/plugin/connector/compiler.js.map rename dist/schema/plugin/connector/{compiler.d.ts => connector.d.ts} (98%) rename dist/schema/plugin/connector/{compiler.js => connector.js} (88%) create mode 100644 dist/schema/plugin/connector/connector.js.map create mode 100644 dist/schema/plugin/policy/filter/plugin.spec.d.ts create mode 100644 dist/schema/plugin/policy/filter/plugin.spec.js create mode 100644 dist/schema/plugin/policy/filter/plugin.spec.js.map create mode 100644 dist/schema/plugin/policy/scope/plugin.spec.d.ts create mode 100644 dist/schema/plugin/policy/scope/plugin.spec.js create mode 100644 dist/schema/plugin/policy/scope/plugin.spec.js.map diff --git a/Dockerfile b/Dockerfile index 136b023d..4979194f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,5 +7,6 @@ ENV PATH="${PATH}:./node_modules/.bin" COPY package.json yarn.lock ./ RUN NODE_ENV=development yarn COPY . . +RUN yarn build CMD [ "node", "dist/examples/qmit/" ] diff --git a/dist/broker/broker.d.ts b/dist/broker/broker.d.ts index 511b3a30..32abe29d 100644 --- a/dist/broker/broker.d.ts +++ b/dist/broker/broker.d.ts @@ -71,9 +71,7 @@ export declare class ServiceBroker { createInlineFunction(props: InlineFunctionProps): (args: MappableArgs) => Return; createReporter(service: Readonly): Reporter; matchActionName(name: string, namePattern: string): boolean; - resolveActionName(name: string): string[]; matchEventName(name: string, namePattern: string): boolean; - resolveEventName(name: string): string[]; healthCheckService(service: Readonly): Promise; healthCheckCall(action: Readonly): Promise; healthCheckPublish(args: Omit): Promise; diff --git a/dist/broker/broker.js b/dist/broker/broker.js index c1cd2614..f0eecc97 100644 --- a/dist/broker/broker.js +++ b/dist/broker/broker.js @@ -41,7 +41,7 @@ class ServiceBroker { // create event buses this.eventPubSub = new pubsub_1.EventPubSub({ onError: error => this.props.logger.error(error), - eventNamePatternResolver: this.delegator.eventNameResolver, + // eventNamePatternResolver: this.delegator.eventNameResolver, maxListeners: Infinity, }); this.discoveryPubSub = new pubsub_1.DiscoveryPubSub({ @@ -84,7 +84,7 @@ class ServiceBroker { } // publish and store yield this.eventPubSub.publish(packet.event, packet); - this.registry.addEventExample(this.resolveEventName(packet.event), packet); + this.registry.addEventExample([packet.event], packet); // log this.props.logger[this.opts.log.event ? "info" : "debug"](`received ${kleur.green(packet.event)} ${packet.broadcast ? "broadcast " : ""}event from ${kleur.yellow(packet.from || "unknown")}`); }); @@ -260,7 +260,7 @@ class ServiceBroker { // add from information to original packet and store as example const packet = args; packet.from = `${context.id || "unknown"}@${context.ip || "unknown"}`; - this.registry.addEventExample(this.resolveEventName(args.event), packet); + this.registry.addEventExample([args.event], packet); // log this.props.logger[this.opts.log.event ? "info" : "debug"](`published ${kleur.green(packet.event)} ${packet.broadcast ? "broadcast " : ""}event from ${kleur.yellow(packet.from)}`); }); @@ -284,16 +284,10 @@ class ServiceBroker { } /* pattern matching for action and event names */ matchActionName(name, namePattern) { - return this.delegator.actionNameResolver(name).includes(namePattern); - } - resolveActionName(name) { - return this.delegator.actionNameResolver(name); + return this.delegator.matchActionName(name, namePattern); } matchEventName(name, namePattern) { - return this.delegator.eventNameResolver(name).includes(namePattern); - } - resolveEventName(name) { - return this.delegator.eventNameResolver(name); + return this.delegator.matchEventName(name, namePattern); } /* health check */ healthCheckService(service) { diff --git a/dist/broker/broker.js.map b/dist/broker/broker.js.map index 11e4e1e7..7950d614 100644 --- a/dist/broker/broker.js.map +++ b/dist/broker/broker.js.map @@ -1 +1 @@ -{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/broker/broker.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/broker/broker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/broker/delegator/delegator.d.ts b/dist/broker/delegator/delegator.d.ts index 134dc04b..4d4afffe 100644 --- a/dist/broker/delegator/delegator.d.ts +++ b/dist/broker/delegator/delegator.d.ts @@ -4,7 +4,6 @@ import { Logger } from "../../logger"; import { Service, ServiceAction, ServiceNode, ServiceStatus } from "../registry"; import { Report } from "../reporter"; import { EventPacket } from "../pubsub"; -import { NamePatternResolver } from "../name"; import { DelegatedCallArgs, DelegatedEventPublishArgs } from "../broker"; export { DelegatedCallArgs, DelegatedEventPublishArgs }; export declare type ServiceBrokerDelegatorProps = { @@ -17,8 +16,8 @@ export declare abstract class ServiceBrokerDelegator extends HasStaticK protected readonly props: ServiceBrokerDelegatorProps; constructor(props: ServiceBrokerDelegatorProps, opts?: any); abstract readonly broker: any; - abstract readonly actionNameResolver: NamePatternResolver; - abstract readonly eventNameResolver: NamePatternResolver; + abstract matchActionName(name: string, namePattern: string): boolean; + abstract matchEventName(name: string, namePattern: string): boolean; abstract start(): Promise; abstract stop(): Promise; abstract createContext(base: APIRequestContext): Context; diff --git a/dist/broker/delegator/delegator.js.map b/dist/broker/delegator/delegator.js.map index 3ca227a6..b71c6b84 100644 --- a/dist/broker/delegator/delegator.js.map +++ b/dist/broker/delegator/delegator.js.map @@ -1 +1 @@ -{"version":3,"file":"delegator.js","sourceRoot":"","sources":["../../../src/broker/delegator/delegator.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAgB/C,MAAsB,sBAAgC,SAAQ,wBAAY;IACxE,YAA+B,KAAkC,EAAE,IAAU;QAC3E,KAAK,EAAE,CAAC;QADqB,UAAK,GAAL,KAAK,CAA6B;IAEjE,CAAC;CA4CF;AA/CD,wDA+CC"} \ No newline at end of file +{"version":3,"file":"delegator.js","sourceRoot":"","sources":["../../../src/broker/delegator/delegator.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAe/C,MAAsB,sBAAgC,SAAQ,wBAAY;IACxE,YAA+B,KAAkC,EAAE,IAAU;QAC3E,KAAK,EAAE,CAAC;QADqB,UAAK,GAAL,KAAK,CAA6B;IAEjE,CAAC;CA4CF;AA/CD,wDA+CC"} \ No newline at end of file diff --git a/dist/broker/delegator/moleculer/delegator.d.ts b/dist/broker/delegator/moleculer/delegator.d.ts index f625ff4f..531a5c95 100644 --- a/dist/broker/delegator/moleculer/delegator.d.ts +++ b/dist/broker/delegator/moleculer/delegator.d.ts @@ -3,7 +3,6 @@ import { ServiceMetaDataSchema } from "../../../schema"; import { APIRequestContext } from "../../../server"; import { Service, ServiceAction, ServiceNode, ServiceStatus } from "../../registry"; import { Report } from "../../reporter"; -import { NamePatternResolver } from "../../name"; import { ServiceBrokerDelegator, ServiceBrokerDelegatorProps, DelegatedCallArgs, DelegatedEventPublishArgs } from "../delegator"; export declare type MoleculerServiceBrokerDelegatorOwnOptions = { batchedCallTimeout: (itemCount: number) => number; @@ -23,8 +22,9 @@ export declare class MoleculerServiceBrokerDelegator extends ServiceBrokerDelega private readonly service; private readonly opts; constructor(props: ServiceBrokerDelegatorProps, opts?: MoleculerServiceBrokerDelegatorOptions); - readonly actionNameResolver: NamePatternResolver; - readonly eventNameResolver: NamePatternResolver; + matchActionName(name: string, namePattern: string): boolean; + matchEventName(name: string, namePattern: string): boolean; + private matchName; start(): Promise; stop(): Promise; createContext(base: APIRequestContext): Context; diff --git a/dist/broker/delegator/moleculer/delegator.js b/dist/broker/delegator/moleculer/delegator.js index 579c3b6b..ffc6b84e 100644 --- a/dist/broker/delegator/moleculer/delegator.js +++ b/dist/broker/delegator/moleculer/delegator.js @@ -4,7 +4,7 @@ exports.MoleculerServiceBrokerDelegator = void 0; const tslib_1 = require("tslib"); const Moleculer = tslib_1.__importStar(require("moleculer")); const interface_1 = require("../../../interface"); -const name_1 = require("../../name"); +// import { defaultNamePatternResolver, NamePatternResolver } from "../../name"; const delegator_1 = require("../delegator"); const discover_1 = require("./discover"); const logger_1 = require("./logger"); @@ -13,9 +13,6 @@ class MoleculerServiceBrokerDelegator extends delegator_1.ServiceBrokerDelegator constructor(props, opts) { super(props); this.props = props; - /* action/event name matching for call, publish, subscribe, clear cache */ - this.actionNameResolver = name_1.defaultNamePatternResolver; - this.eventNameResolver = name_1.defaultNamePatternResolver; const _a = opts || {}, { services = [], batchedCallTimeout = (itemCount) => { return Math.max(5000, Math.min(1000 * 60, itemCount * 1000)); }, streamingCallTimeout = 1000 * 3600, streamingToStringEncoding = "base64" } = _a, moleculerBrokerOptions = tslib_1.__rest(_a, ["services", "batchedCallTimeout", "streamingCallTimeout", "streamingToStringEncoding"]); @@ -37,6 +34,44 @@ class MoleculerServiceBrokerDelegator extends delegator_1.ServiceBrokerDelegator // create a service which handles event and service discovery this.service = this.broker.createService(service_1.createMoleculerServiceSchema(props)); } + /* action/event name matching for call, publish, subscribe, clear cache */ + matchActionName(name, namePattern) { + return this.matchName(name, namePattern); + } + matchEventName(name, namePattern) { + return this.matchName(name, namePattern); + } + // ref: https://github.com/moleculerjs/moleculer/blob/5b94fa27b38a4134b14d0fbe50717167d6b80cf8/src/utils.js#L266 + matchName(text, pattern) { + // Exact match (eg. "prefix.event") + const firstStarPosition = pattern.indexOf("*"); + if (firstStarPosition === -1) { + return pattern === text; + } + // Eg. "prefix**" + const len = pattern.length; + if (len > 2 && pattern.endsWith("**") && firstStarPosition > len - 3) { + pattern = pattern.substring(0, len - 2); + return text.startsWith(pattern); + } + // Eg. "prefix*" + if (len > 1 && pattern.endsWith("*") && firstStarPosition > len - 2) { + pattern = pattern.substring(0, len - 1); + if (text.startsWith(pattern)) { + return text.indexOf(".", len) === -1; + } + return false; + } + // Accept simple text, without point character (*) + if (len === 1 && firstStarPosition == 0) { + return text.indexOf(".") === -1; + } + // Accept all inputs (**) + if (len === 2 && firstStarPosition === 0 && pattern.lastIndexOf("*") === 1) { + return true; + } + return false; + } /* lifecycle */ start() { return tslib_1.__awaiter(this, void 0, void 0, function* () { diff --git a/dist/broker/delegator/moleculer/delegator.js.map b/dist/broker/delegator/moleculer/delegator.js.map index 113d0cf0..76cf208a 100644 --- a/dist/broker/delegator/moleculer/delegator.js.map +++ b/dist/broker/delegator/moleculer/delegator.js.map @@ -1 +1 @@ -{"version":3,"file":"delegator.js","sourceRoot":"","sources":["../../../../src/broker/delegator/moleculer/delegator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"delegator.js","sourceRoot":"","sources":["../../../../src/broker/delegator/moleculer/delegator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/broker/name.d.ts b/dist/broker/name.d.ts deleted file mode 100644 index 6ce68e5c..00000000 --- a/dist/broker/name.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare type NamePatternResolver = (topic: string) => string[]; -export declare const defaultNamePatternResolver: NamePatternResolver; diff --git a/dist/broker/name.js b/dist/broker/name.js deleted file mode 100644 index 47fd9032..00000000 --- a/dist/broker/name.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.defaultNamePatternResolver = void 0; -const tslib_1 = require("tslib"); -const _ = tslib_1.__importStar(require("lodash")); -exports.defaultNamePatternResolver = _.memoize((name) => { - const topics = [name]; - const tokens = name.split(".").filter(t => t !== "."); - let isSuffix = true; - while (tokens.length > 0) { - tokens.pop(); - const topic = tokens.join(".") + (isSuffix ? ".*" : ".**"); - if (topic === ".*") { - topics.push("*", "**"); - } - else if (topic === ".**") { - topics.push("**"); - } - else if (!topics.includes(topic)) { - topics.push(topic); - } - isSuffix = false; - } - return topics; -}); -//# sourceMappingURL=name.js.map \ No newline at end of file diff --git a/dist/broker/name.js.map b/dist/broker/name.js.map deleted file mode 100644 index ea1b2687..00000000 --- a/dist/broker/name.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"name.js","sourceRoot":"","sources":["../../src/broker/name.ts"],"names":[],"mappings":";;;;AAAA,kDAA4B;AAYf,QAAA,0BAA0B,GAAwB,CAAC,CAAC,OAAO,CACtE,CAAC,IAAY,EAAY,EAAE;IACzB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACtD,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACxB;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QACD,QAAQ,GAAG,KAAK,CAAC;KAClB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC"} \ No newline at end of file diff --git a/dist/broker/pubsub/discovery.d.ts b/dist/broker/pubsub/discovery.d.ts index b6aebf9d..4c8bd239 100644 --- a/dist/broker/pubsub/discovery.d.ts +++ b/dist/broker/pubsub/discovery.d.ts @@ -1,6 +1,6 @@ import { Service } from "../registry"; import { PubSub, PubSubProps } from "./pubsub"; -export declare type DiscoveryPubSubProps = Omit; +export declare type DiscoveryPubSubProps = Omit; export declare class DiscoveryPubSub extends PubSub<{ connected: Readonly; disconnected: Readonly; diff --git a/dist/broker/pubsub/discovery.js b/dist/broker/pubsub/discovery.js index d0f5dd05..b7e1d212 100644 --- a/dist/broker/pubsub/discovery.js +++ b/dist/broker/pubsub/discovery.js @@ -5,7 +5,7 @@ const tslib_1 = require("tslib"); const pubsub_1 = require("./pubsub"); class DiscoveryPubSub extends pubsub_1.PubSub { constructor(props) { - super(Object.assign({ maxListeners: 1, eventNamePatternResolver: null }, props)); + super(Object.assign({ maxListeners: 1 }, props)); } subscribeAll(listeners) { return tslib_1.__awaiter(this, void 0, void 0, function* () { diff --git a/dist/broker/pubsub/discovery.js.map b/dist/broker/pubsub/discovery.js.map index 2a1f8eea..b762e458 100644 --- a/dist/broker/pubsub/discovery.js.map +++ b/dist/broker/pubsub/discovery.js.map @@ -1 +1 @@ -{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/broker/pubsub/discovery.ts"],"names":[],"mappings":";;;;AACA,qCAA+C;AAI/C,MAAa,eAAgB,SAAQ,eAInC;IACA,YAAmB,KAA2B;QAC5C,KAAK,iBAAG,YAAY,EAAE,CAAC,EAAE,wBAAwB,EAAE,IAAI,IAAK,KAAK,EAAG,CAAC;IACvE,CAAC;IAEY,YAAY,CAAC,SAIzB;;YACC,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,eAAe,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AApBD,0CAoBC"} \ No newline at end of file +{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/broker/pubsub/discovery.ts"],"names":[],"mappings":";;;;AACA,qCAA+C;AAI/C,MAAa,eAAgB,SAAQ,eAInC;IACA,YAAmB,KAA2B;QAC5C,KAAK,iBAAG,YAAY,EAAE,CAAC,IAAyC,KAAK,EAAG,CAAC;IAC3E,CAAC;IAEY,YAAY,CAAC,SAIzB;;YACC,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,eAAe,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AApBD,0CAoBC"} \ No newline at end of file diff --git a/dist/broker/pubsub/pubsub.d.ts b/dist/broker/pubsub/pubsub.d.ts index f907285d..57e7181e 100644 --- a/dist/broker/pubsub/pubsub.d.ts +++ b/dist/broker/pubsub/pubsub.d.ts @@ -1,7 +1,6 @@ export declare type PubSubProps = { maxListeners: number; onError: (error: Error) => void; - eventNamePatternResolver: ((eventNamePattern: string) => string[]) | null; }; export declare abstract class PubSub this.delegator.subscribe(eventName, listener))); + // const eventNames = this.props.eventNamePatternResolver ? this.props.eventNamePatternResolver(eventNamePattern) : [eventNamePattern]; + return Promise.all([eventNamePattern].map(eventName => this.delegator.subscribe(eventName, listener))); } unsubscribe(id) { this.delegator.unsubscribe(id); diff --git a/dist/broker/pubsub/pubsub.js.map b/dist/broker/pubsub/pubsub.js.map index 687a0b94..c4e36f10 100644 --- a/dist/broker/pubsub/pubsub.js.map +++ b/dist/broker/pubsub/pubsub.js.map @@ -1 +1 @@ -{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../../src/broker/pubsub/pubsub.ts"],"names":[],"mappings":";;;AAAA,iEAAkE;AAWlE,MAAsB,MAAM;IAG1B,YAAyC,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;QAF1C,cAAS,GAAG,IAAI,8BAAe,EAAE,CAAC;QAGjD,IAAI,CAAC,SAAS,GAAG,IAAI,8BAAe,EAAE,CAAC;QACvC,aAAa;QACb,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,aAAa;QACb,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEM,aAAa,CAA8C,gBAAuB;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACpI,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAgB,UAAU,CAAC,CAAC;IACjE,CAAC;IAEM,SAAS,CAA8C,gBAAuB,EAAE,QAA0C;QAC/H,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACpI,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAEM,WAAW,CAAC,EAAU;QAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,cAAc;QACnB,aAAa;QACb,MAAM,eAAe,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5E,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC;IAEM,OAAO,CAA8C,SAAgB,EAAE,MAAqB;QACjG,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF;AApCD,wBAoCC"} \ No newline at end of file +{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../../src/broker/pubsub/pubsub.ts"],"names":[],"mappings":";;;AAAA,iEAAkE;AAWlE,MAAsB,MAAM;IAG1B,YAAyC,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;QAF1C,cAAS,GAAG,IAAI,8BAAe,EAAE,CAAC;QAGjD,IAAI,CAAC,SAAS,GAAG,IAAI,8BAAe,EAAE,CAAC;QACvC,aAAa;QACb,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,aAAa;QACb,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEM,aAAa,CAA8C,gBAAuB;QACvF,uIAAuI;QACvI,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,SAAS,CAA8C,gBAAuB,EAAE,QAA0C;QAC/H,uIAAuI;QACvI,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;IAEM,WAAW,CAAC,EAAU;QAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,cAAc;QACnB,aAAa;QACb,MAAM,eAAe,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5E,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC;IAEM,OAAO,CAA8C,SAAgB,EAAE,MAAqB;QACjG,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF;AApCD,wBAoCC"} \ No newline at end of file diff --git a/dist/schema/__test__/schema.policy.scope.spec.js b/dist/schema/__test__/schema.policy.scope.spec.js index 2f75d456..90db56b9 100644 --- a/dist/schema/__test__/schema.policy.scope.spec.js +++ b/dist/schema/__test__/schema.policy.scope.spec.js @@ -1,9 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); +const jest_mock_req_res_1 = require("jest-mock-req-res"); const test_1 = require("../../test"); const moleculer = { - namespace: "test-schema-branch-update-2", + namespace: "test-schema-policy-scope", transporter: { type: "TCP", options: { @@ -15,138 +16,244 @@ const schema = test_1.getSchemaRegistry({ logger: { level: "error", label: "gateway", silent: false }, delegator: { moleculer: Object.assign(Object.assign({}, moleculer), { nodeID: "gateway" }) }, }); -const remote1 = test_1.getMoleculerServiceBroker({ - logger: { level: "error", label: "remote" }, - moleculer: Object.assign(Object.assign({}, moleculer), { nodeID: "remote" }), +const policy = { + call: [ + { + actions: ["echo.authorized.*"], + scope: ["echo-scope"], + description: "all echo.authorized.* action call mappings require 'echo-scope' scope in the auth context", + }, + { + actions: ["echo.authorized.foo"], + scope: ["echo-foo-scope"], + description: "echo.authorized.foo action call mappings require 'echo-foo-scope' scope in the auth context", + }, + { + actions: ["echo.authorized.bar"], + scope: ["echo-bar-scope"], + filter: `({ context, ...args }) => !!context.auth.identity`, + description: "echo.authorized.bar action call mappings require 'echo-bar-scope' and non-null identity in the auth context", + }, + ], +}; +const service1 = test_1.getMoleculerServiceBroker({ + logger: { level: "error", label: "service1" }, + moleculer: Object.assign(Object.assign({}, moleculer), { nodeID: "service1" }), services: [ - test_1.MoleculerServiceSchemaFactory.echo("master", "master-a"), - // @ts-ignore - test_1.MoleculerServiceSchemaFactory.echo("master", "conflict-a", { - protocol: { - REST: { - routes: [ - { - method: "GET", - path: "/echo", - call: { - action: `/conflict-a/echo`, - params: {}, - }, - }, - { - method: "GET", - path: "/echo2", - call: { - action: `/conflict-a/echo`, - params: {}, - }, + { + name: "echo", + metadata: { + api: { + branch: "master", + protocol: { + REST: { + basePath: `/echo`, + routes: [ + { + method: "GET", + path: "/foo", + call: { + action: `echo.authorized.foo`, + params: { + hello: "@query.hello", + }, + }, + }, + { + method: "GET", + path: "/bar", + call: { + action: `echo.authorized.bar`, + params: { + hello: "@query.hello", + }, + }, + }, + { + method: "GET", + path: "/foobar", + call: { + action: `echo.guest.fooBar`, + params: {}, + }, + }, + ], }, - { - method: "GET", - path: "/echo3", - call: { - action: `/conflict-a/echo`, - params: {}, - }, - }, - { - method: "GET", - path: "/echo4", - call: { - action: `/conflict-a/echo`, - params: {}, - }, - }, - { - method: "GET", - path: "/echo5", - call: { - action: `/conflict-a/echo`, - params: {}, - }, - }, - ], + }, + policy, }, }, - }), - ], -}); -const remote2 = test_1.getMoleculerServiceBroker({ - logger: { level: "error", label: "remote2" }, - moleculer: Object.assign(Object.assign({}, moleculer), { nodeID: "remote2" }), - services: [ - test_1.MoleculerServiceSchemaFactory.echo("dev", "conflict-a", { - protocol: { - REST: { - routes: [ - { - method: "GET", - path: "/echo", - call: { - action: `/conflict-a/echo`, - params: {}, - }, + actions: { + "authorized.foo": { + params: { + hello: { + type: "string", + default: "world", + }, + }, + handler(ctx) { + return tslib_1.__awaiter(this, void 0, void 0, function* () { + return ctx.params.hello; + }); + } + }, + "authorized.bar": { + params: { + hello: { + type: "string", + default: "world", }, - ], + }, + handler(ctx) { + return tslib_1.__awaiter(this, void 0, void 0, function* () { + return ctx.params.hello; + }); + } + }, + "guest.fooBar": () => { + return true; }, }, - }), + }, ], }); jest.setTimeout(1000 * 20); -const mocks = { - master: jest.fn().mockName("listeners.updated.master"), - dev: jest.fn().mockName("listeners.updated.dev"), -}; beforeAll(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { yield Promise.all([ - remote1.start(), - remote2.start(), + service1.start(), schema.start({ - updated: branch => mocks[branch.name](), + updated: jest.fn(), removed: jest.fn(), }), + test_1.sleepUntil(() => { var _a, _b; return !!((_b = (_a = schema.getBranch("master")) === null || _a === void 0 ? void 0 : _a.services) === null || _b === void 0 ? void 0 : _b.length); }, 1000), ]); - yield test_1.sleepUntil(() => { - const dev = schema.getBranch("dev"); - return dev && dev.services.length >= 2 || false; - }); - yield remote2.stop(); - yield test_1.sleepUntil(() => { - const dev = schema.getBranch("dev"); - return dev && dev.latestVersion.routes.length >= 10 || false; - }); })); -describe("Schema registry update", () => { - it("master branch should gathered master/non-branched services", () => { - const serviceIds = schema.getBranch("master").services.map(s => s.id); - expect(serviceIds).toEqual(expect.arrayContaining([ - "master-a", "conflict-a", - ])); - expect(serviceIds).toHaveLength(2); - }); - it("dev should gathered dev/master/non-branched services and fall back to master branched service when dev branched service removed", () => { - const serviceIds = schema.getBranch("dev").services.map(s => s.id); - expect(serviceIds).toEqual(expect.arrayContaining([ - "master-a", "conflict-a", - ])); - expect(serviceIds).toHaveLength(2); - }); - it("master branch should have 1+5+3 route by 4 updates", () => { - expect(mocks.master).toBeCalledTimes(4); // created + initial + master-a + conflict-a - expect(schema.getBranch("master").latestVersion.routes.length).toEqual(10); // +master-a + conflict-a/master + graphql(3) + introspection - }); - it("dev branch should have same routes by at least 3 updates", () => { - expect(mocks.dev.mock.calls.length).toBeGreaterThanOrEqual(3); // min: forked(+master-a +conflict-a/master) +conflict-a/dev -conflict-a/dev - expect(mocks.dev.mock.calls.length).toBeLessThanOrEqual(5); // max: forked() +conflict-a/master +conflict-a/dev +master-a/master -conflict-a/dev - expect(schema.getBranch("dev").latestVersion.routes.length).toEqual(10); // master-a + conflict-a/master + graphql(3) + introspection - }); +describe("schema policy should work", () => { + it("scope plugin works", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + const branch = schema.getBranch("master"); + const echoFooEndpoint = branch.latestVersion.routes.find(r => r.path === "/echo/foo"); + const ctx = { + get: jest.fn(), + set: jest.fn(), + }; + const req = jest_mock_req_res_1.mockRequest(); + const res = jest_mock_req_res_1.mockResponse(); + yield expect(new Promise((resolve, reject) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + try { + yield echoFooEndpoint.handler(ctx, req, res); + resolve(); + } + catch (err) { + reject(err); + } + }))).rejects.toThrow(expect.objectContaining({ + message: "permission denied", + actual: [], + expected: ["echo-scope", "echo-foo-scope"], + description: [policy.call[0].description], + })); + expect(res.send.mock.calls.length).toEqual(0); + const ctx2 = { + get: jest.fn(), + set: jest.fn(), + auth: { + scope: ["echo-scope", "echo-foo-scope"], + }, + }; + const req2 = jest_mock_req_res_1.mockRequest(); + req2.query.hello = "world!"; + const res2 = jest_mock_req_res_1.mockResponse(); + yield expect(new Promise((resolve, reject) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + try { + yield echoFooEndpoint.handler(ctx2, req2, res2); + resolve(); + } + catch (err) { + reject(err); + } + }))).resolves.not.toThrow(); + expect(res2.send.mock.calls[0]).toEqual(["world!"]); + })); + it("scope + filter plugin works", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + const branch = schema.getBranch("master"); + const echoFooEndpoint = branch.latestVersion.routes.find(r => r.path === "/echo/bar"); + const ctx = { + get: jest.fn(), + set: jest.fn(), + auth: { + scope: ["echo-scope"], + identity: { sub: "adcd" }, + }, + }; + const req = jest_mock_req_res_1.mockRequest(); + const res = jest_mock_req_res_1.mockResponse(); + yield expect(new Promise((resolve, reject) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + try { + yield echoFooEndpoint.handler(ctx, req, res); + resolve(); + } + catch (err) { + reject(err); + } + }))).rejects.toThrow(expect.objectContaining({ + message: "permission denied", + actual: ["echo-scope"], + expected: ["echo-scope", "echo-bar-scope"], + description: [ + policy.call[2].description, + ], + })); + expect(res.send.mock.calls.length).toEqual(0); + const ctx2 = { + get: jest.fn(), + set: jest.fn(), + auth: { + scope: ["echo-scope", "echo-bar-scope"], + }, + }; + const req2 = jest_mock_req_res_1.mockRequest(); + const res2 = jest_mock_req_res_1.mockResponse(); + yield expect(new Promise((resolve, reject) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + try { + yield echoFooEndpoint.handler(ctx2, req2, res2); + resolve(); + } + catch (err) { + reject(err); + } + }))).rejects.toThrow(expect.objectContaining({ + message: "permission denied", + description: [ + policy.call[2].description, + ], + })); + expect(res2.send.mock.calls.length).toEqual(0); + })); + it("(empty) plugin works", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + const branch = schema.getBranch("master"); + const echoFooBarEndpoint = branch.latestVersion.routes.find(r => r.path === "/echo/foobar"); + const ctx = { + get: jest.fn(), + set: jest.fn(), + }; + const req = jest_mock_req_res_1.mockRequest(); + const res = jest_mock_req_res_1.mockResponse(); + yield expect(new Promise((resolve, reject) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { + try { + yield echoFooBarEndpoint.handler(ctx, req, res); + resolve(); + } + catch (err) { + reject(err); + } + }))).resolves.not.toThrow(); + expect(res.send.mock.calls[0]).toEqual([true]); + })); }); afterAll(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { yield Promise.all([ schema.stop(), - remote1.stop(), - remote2.stop(), + service1.stop(), ]); })); //# sourceMappingURL=schema.policy.scope.spec.js.map \ No newline at end of file diff --git a/dist/schema/__test__/schema.policy.scope.spec.js.map b/dist/schema/__test__/schema.policy.scope.spec.js.map index 167c1ad5..185501a1 100644 --- a/dist/schema/__test__/schema.policy.scope.spec.js.map +++ b/dist/schema/__test__/schema.policy.scope.spec.js.map @@ -1 +1 @@ -{"version":3,"file":"schema.policy.scope.spec.js","sourceRoot":"","sources":["../../../src/schema/__test__/schema.policy.scope.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"schema.policy.scope.spec.js","sourceRoot":"","sources":["../../../src/schema/__test__/schema.policy.scope.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/schema/plugin/connector/compiler.js.map b/dist/schema/plugin/connector/compiler.js.map deleted file mode 100644 index 9225b0f3..00000000 --- a/dist/schema/plugin/connector/compiler.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../../src/schema/plugin/connector/compiler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/schema/plugin/connector/compiler.d.ts b/dist/schema/plugin/connector/connector.d.ts similarity index 98% rename from dist/schema/plugin/connector/compiler.d.ts rename to dist/schema/plugin/connector/connector.d.ts index fb3e0c3d..f4ab8e74 100644 --- a/dist/schema/plugin/connector/compiler.d.ts +++ b/dist/schema/plugin/connector/connector.d.ts @@ -7,6 +7,7 @@ export declare const ConnectorCompiler: { }): MapConnector; call(schema: Readonly, integration: Readonly, policyPlugins: ReadonlyArray>>, opts: { explicitMappableKeys: Extract[]; implicitMappableKeys: Extract[]; diff --git a/dist/schema/plugin/connector/compiler.js b/dist/schema/plugin/connector/connector.js similarity index 88% rename from dist/schema/plugin/connector/compiler.js rename to dist/schema/plugin/connector/connector.js index 0ece7f9e..52fcc756 100644 --- a/dist/schema/plugin/connector/compiler.js +++ b/dist/schema/plugin/connector/connector.js @@ -48,9 +48,11 @@ exports.ConnectorCompiler = { }), }) : null; // to apply access control policy plugin - const policies = integration.schema.policy && Array.isArray(integration.schema.policy.call) + const policySchemata = integration.schema.policy && Array.isArray(integration.schema.policy.call) ? integration.schema.policy.call.filter(policy => policy.actions.some(actionNamePattern => broker.matchActionName(actionId, actionNamePattern))) : []; + // to test permission + const policyTester = policySchemata.length ? policy_1.PolicyCompiler.call(policySchemata, policyPlugins, integration, {}) : null; const connector = (context, mappableArgs, injectedParams) => tslib_1.__awaiter(this, void 0, void 0, function* () { // dynamically load action before first call if (!action) { @@ -79,7 +81,7 @@ exports.ConnectorCompiler = { const { params, batchingParams } = paramsMapper.map(mappableArgs); // test policy const request = Object.assign(Object.assign({}, mappableArgs), { params: Object.assign(Object.assign({}, params), batchingParams) }); - if (policy_1.testCallPolicy(policyPlugins, policies, request) !== true) { + if (policyTester && !policyTester(request)) { throw new Error("forbidden call"); // TODO: normalize error } // call @@ -148,16 +150,17 @@ exports.ConnectorCompiler = { // for static event name if (typeof eventNameOrFn === "string") { const eventName = eventNameOrFn; - const policies = integration.schema.policy && Array.isArray(integration.schema.policy.publish) + const policySchemata = integration.schema.policy && Array.isArray(integration.schema.policy.publish) ? integration.schema.policy.publish.filter(policy => policy.events.some(eventNamePattern => broker.matchEventName(eventName, eventNamePattern))) : []; + const policyTester = policySchemata.length ? policy_1.PolicyCompiler.publish(policySchemata, policyPlugins, integration, {}) : null; const baseArgs = { event: eventName, groups: schema.groups || [], broadcast: schema.broadcast === true }; const connector = (context, mappableArgs) => tslib_1.__awaiter(this, void 0, void 0, function* () { // map params const { params } = paramsMapper.map(mappableArgs); // batching disabled // test policy const args = Object.assign(Object.assign({}, baseArgs), { context, params }); - if (policy_1.testPublishPolicy(policyPlugins, policies, args) !== true) { + if (policyTester && !policyTester(args)) { throw new Error("forbidden publish"); // TODO: normalize error } // publish @@ -171,7 +174,7 @@ exports.ConnectorCompiler = { else { // for dynamic event name const getEventName = eventNameOrFn; - const policies = integration.schema.policy && Array.isArray(integration.schema.policy.publish) + const policySchemata = integration.schema.policy && Array.isArray(integration.schema.policy.publish) ? integration.schema.policy.publish : []; const baseArgs = { groups: schema.groups || [], broadcast: schema.broadcast === true }; @@ -182,8 +185,9 @@ exports.ConnectorCompiler = { const eventName = getEventName(mappableArgs); // test policy const args = Object.assign(Object.assign({}, baseArgs), { context, event: eventName, params }); - const filteredPolicies = policies.filter(policy => policy.events.some(eventNamePattern => broker.matchEventName(eventName, eventNamePattern))); - if (policy_1.testPublishPolicy(policyPlugins, filteredPolicies, args) !== true) { + const filteredPolicySchemata = policySchemata.filter(policy => policy.events.some(eventNamePattern => broker.matchEventName(eventName, eventNamePattern))); + const policyTester = filteredPolicySchemata.length ? policy_1.PolicyCompiler.publish(filteredPolicySchemata, policyPlugins, integration, {}) : null; + if (policyTester && !policyTester(args)) { throw new Error("forbidden publish"); // TODO: normalize error } // publish @@ -233,15 +237,16 @@ exports.ConnectorCompiler = { else { eventNamesOrFn = schema.events; } - const policies = integration.schema.policy && Array.isArray(integration.schema.policy.subscribe) ? integration.schema.policy.subscribe : []; + const policySchemata = integration.schema.policy && Array.isArray(integration.schema.policy.subscribe) ? integration.schema.policy.subscribe : []; const connector = (context, mappableArgs, listener) => tslib_1.__awaiter(this, void 0, void 0, function* () { const eventNames = Array.isArray(eventNamesOrFn) ? eventNamesOrFn : eventNamesOrFn(mappableArgs); const asyncIteratorComposeItems = []; for (const event of eventNames) { // test policy - const filteredPolicies = policies.filter(policy => policy.events.some(eventNamePattern => broker.matchEventName(event, eventNamePattern))); + const filteredPolicySchemata = policySchemata.filter(policy => policy.events.some(eventNamePattern => broker.matchEventName(event, eventNamePattern))); + const policyTester = filteredPolicySchemata.length ? policy_1.PolicyCompiler.subscribe(filteredPolicySchemata, policyPlugins, integration, {}) : null; const args = { context, event }; - if (policy_1.testSubscribePolicy(policyPlugins, filteredPolicies, args) !== true) { + if (policyTester && !policyTester(args)) { throw new Error("forbidden subscribe"); // TODO: normalize error } if (opts.getAsyncIterator) { @@ -304,4 +309,4 @@ function recGetPathOfPartialSchema(partialSchema, schema, keys) { } return null; } -//# sourceMappingURL=compiler.js.map \ No newline at end of file +//# sourceMappingURL=connector.js.map \ No newline at end of file diff --git a/dist/schema/plugin/connector/connector.js.map b/dist/schema/plugin/connector/connector.js.map new file mode 100644 index 00000000..a673b79e --- /dev/null +++ b/dist/schema/plugin/connector/connector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../../src/schema/plugin/connector/connector.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/schema/plugin/connector/index.d.ts b/dist/schema/plugin/connector/index.d.ts index 656a3996..467fc277 100644 --- a/dist/schema/plugin/connector/index.d.ts +++ b/dist/schema/plugin/connector/index.d.ts @@ -1,4 +1,5 @@ export * from "./schema"; export * from "./validator"; -export * from "./compiler"; +export * from "./connector"; +export * from "./policy"; export * from "./describer"; diff --git a/dist/schema/plugin/connector/index.js b/dist/schema/plugin/connector/index.js index 087c33d8..b26f1374 100644 --- a/dist/schema/plugin/connector/index.js +++ b/dist/schema/plugin/connector/index.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); tslib_1.__exportStar(require("./schema"), exports); tslib_1.__exportStar(require("./validator"), exports); -tslib_1.__exportStar(require("./compiler"), exports); +tslib_1.__exportStar(require("./connector"), exports); +tslib_1.__exportStar(require("./policy"), exports); tslib_1.__exportStar(require("./describer"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/schema/plugin/connector/index.js.map b/dist/schema/plugin/connector/index.js.map index 18e89ec2..2371fe68 100644 --- a/dist/schema/plugin/connector/index.js.map +++ b/dist/schema/plugin/connector/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/plugin/connector/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,sDAA4B;AAC5B,qDAA2B;AAC3B,sDAA4B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/plugin/connector/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,sDAA4B;AAC5B,sDAA4B;AAC5B,mDAAyB;AACzB,sDAA4B"} \ No newline at end of file diff --git a/dist/schema/plugin/connector/policy.d.ts b/dist/schema/plugin/connector/policy.d.ts index 5cb0e3e0..dbc33bdc 100644 --- a/dist/schema/plugin/connector/policy.d.ts +++ b/dist/schema/plugin/connector/policy.d.ts @@ -1,5 +1,14 @@ -import { PolicyPlugin } from ".."; -import { CallPolicyArgs, CallPolicySchema, PublishPolicyArgs, PublishPolicySchema, SubscribePolicyArgs, SubscribePolicySchema } from "./schema"; -export declare function testCallPolicy(policyPlugins: ReadonlyArray>>, policies: ReadonlyArray>, args: Readonly): boolean | any; -export declare function testPublishPolicy(policyPlugins: ReadonlyArray>>, policies: ReadonlyArray>, args: Readonly): boolean | any; -export declare function testSubscribePolicy(policyPlugins: ReadonlyArray>>, policies: ReadonlyArray>, args: Readonly): boolean | any; +import { ServiceAPIIntegration } from "../../integration"; +import { CallPolicyTester, PolicyPlugin, PublishPolicyTester, SubscribePolicyTester } from "../policy"; +import { CallPolicySchema, PublishPolicySchema, SubscribePolicySchema } from "./schema"; +export declare const PolicyCompiler: { + call(policySchemata: ReadonlyArray>, policyPlugins: ReadonlyArray>>, integration: Readonly, opts: {}): CallPolicyTester; + publish(policySchemata: ReadonlyArray>, policyPlugins: ReadonlyArray>>, integration: Readonly, opts: {}): PublishPolicyTester; + subscribe(policySchemata: ReadonlyArray>, policyPlugins: ReadonlyArray>>, integration: Readonly, opts: {}): SubscribePolicyTester; +}; diff --git a/dist/schema/plugin/connector/policy.js b/dist/schema/plugin/connector/policy.js index ac783e8f..f6e6edde 100644 --- a/dist/schema/plugin/connector/policy.js +++ b/dist/schema/plugin/connector/policy.js @@ -1,52 +1,48 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.testSubscribePolicy = exports.testPublishPolicy = exports.testCallPolicy = void 0; -function testCallPolicy(policyPlugins, policies, args) { - for (const policy of policies) { - for (const plugin of policyPlugins) { - const pluginSchema = policy[plugin.key]; - if (!pluginSchema) { - continue; +exports.PolicyCompiler = void 0; +exports.PolicyCompiler = { + call(policySchemata, policyPlugins, integration, opts) { + const testers = policyPlugins + .map(plugin => { + const matchedList = policySchemata.filter(s => typeof s[plugin.key] !== "undefined").map(s => [s[plugin.key], s.description || null]); + if (!matchedList.length) { + return null; } - const result = plugin.testCallPolicy(pluginSchema, args); - if (result === false || result !== true) { - return result; + const schemata = matchedList.map(m => m[0]); + const descriptions = matchedList.map(m => m[1]); + return plugin.compileCallPolicySchemata(schemata, descriptions, integration); + }) + .filter(fn => !!fn); + return (args) => testers.every(tester => tester(args)); + }, + publish(policySchemata, policyPlugins, integration, opts) { + const testers = policyPlugins + .map(plugin => { + const matchedList = policySchemata.filter(s => typeof s[plugin.key] !== "undefined").map(s => [s[plugin.key], s.description || null]); + if (!matchedList.length) { + return null; } - } - } - return true; -} -exports.testCallPolicy = testCallPolicy; -function testPublishPolicy(policyPlugins, policies, args) { - for (const policy of policies) { - for (const plugin of policyPlugins) { - const pluginSchema = policy[plugin.key]; - if (!pluginSchema) { - continue; + const schemata = matchedList.map(m => m[0]); + const descriptions = matchedList.map(m => m[1]); + return plugin.compilePublishPolicySchemata(schemata, descriptions, integration); + }) + .filter(fn => !!fn); + return (args) => testers.every(tester => tester(args)); + }, + subscribe(policySchemata, policyPlugins, integration, opts) { + const testers = policyPlugins + .map(plugin => { + const matchedList = policySchemata.filter(s => typeof s[plugin.key] !== "undefined").map(s => [s[plugin.key], s.description || null]); + if (!matchedList.length) { + return null; } - const result = plugin.testPublishPolicy(pluginSchema, args); - if (result === false || result !== true) { - return result; - } - } - } - return true; -} -exports.testPublishPolicy = testPublishPolicy; -function testSubscribePolicy(policyPlugins, policies, args) { - for (const policy of policies) { - for (const plugin of policyPlugins) { - const pluginSchema = policy[plugin.key]; - if (!pluginSchema) { - continue; - } - const result = plugin.testSubscribePolicy(pluginSchema, args); - if (result === false || result !== true) { - return result; - } - } - } - return true; -} -exports.testSubscribePolicy = testSubscribePolicy; + const schemata = matchedList.map(m => m[0]); + const descriptions = matchedList.map(m => m[1]); + return plugin.compileSubscribePolicySchemata(schemata, descriptions, integration); + }) + .filter(fn => !!fn); + return (args) => testers.every(tester => tester(args)); + }, +}; //# sourceMappingURL=policy.js.map \ No newline at end of file diff --git a/dist/schema/plugin/connector/policy.js.map b/dist/schema/plugin/connector/policy.js.map index 6b2204c7..35208612 100644 --- a/dist/schema/plugin/connector/policy.js.map +++ b/dist/schema/plugin/connector/policy.js.map @@ -1 +1 @@ -{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/schema/plugin/connector/policy.ts"],"names":[],"mappings":";;;AAGA,SAAgB,cAAc,CAAC,aAA8D,EAAE,QAAmD,EAAE,IAA8B;IAChL,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,IAAI,EAAE;gBACvC,OAAO,MAAM,CAAC;aACf;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,wCAcC;AAED,SAAgB,iBAAiB,CAAC,aAA8D,EAAE,QAAsD,EAAE,IAAiC;IACzL,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,IAAI,EAAE;gBACvC,OAAO,MAAM,CAAC;aACf;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,8CAcC;AAED,SAAgB,mBAAmB,CAAC,aAA8D,EAAE,QAAwD,EAAE,IAAmC;IAC/L,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,IAAI,EAAE;gBACvC,OAAO,MAAM,CAAC;aACf;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,kDAcC"} \ No newline at end of file +{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/schema/plugin/connector/policy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/schema/plugin/connector/schema.d.ts b/dist/schema/plugin/connector/schema.d.ts index 47bbcf1e..ed0c2613 100644 --- a/dist/schema/plugin/connector/schema.d.ts +++ b/dist/schema/plugin/connector/schema.d.ts @@ -28,8 +28,11 @@ export declare type MapConnectorSchema any = ( }) => any> = string; export declare type CallConnectorResponseMappableArgs = { +} = { + [key: string]: any; +}> = { request: MappableArgs & { + context: any; params: any; }; response: any; @@ -104,7 +107,9 @@ export declare type MapConnectorCatalog = { export declare type ConnectorCatalog = CallConnectorCatalog | PublishConnectorCatalog | SubscribeConnectorCatalog | MapConnectorCatalog; export declare type CallPolicyArgs = CallConnectorResponseMappableArgs["request"]; +} = { + [key: string]: any; +}> = CallConnectorResponseMappableArgs["request"]; export declare type CallPolicySchema = { description: string; actions: string[]; diff --git a/dist/schema/plugin/policy/filter/plugin.d.ts b/dist/schema/plugin/policy/filter/plugin.d.ts index f4357ceb..33b2afff 100644 --- a/dist/schema/plugin/policy/filter/plugin.d.ts +++ b/dist/schema/plugin/policy/filter/plugin.d.ts @@ -1,8 +1,10 @@ import { RecursivePartial, ValidationError } from "../../../../interface"; -import { CallPolicyArgs, PublishPolicyArgs, SubscribePolicyArgs } from "../../connector"; -import { PolicyPlugin, PolicyPluginProps } from "../plugin"; +import { ServiceAPIIntegration } from "../../../integration"; +import { CallPolicyTester, PolicyPlugin, PolicyPluginProps, PublishPolicyTester, SubscribePolicyTester } from "../plugin"; import { FilterPolicyPluginSchema, FilterPolicyPluginCatalog } from "./schema"; -export declare type FilterPolicyPluginOptions = {}; +export declare type FilterPolicyPluginOptions = { + showOriginalError: boolean; +}; export declare class FilterPolicyPlugin extends PolicyPlugin { protected readonly props: PolicyPluginProps; static readonly key = "filter"; @@ -13,7 +15,8 @@ export declare class FilterPolicyPlugin extends PolicyPlugin; stop(): Promise; describeSchema(schema: Readonly): FilterPolicyPluginCatalog; - testCallPolicy(schema: Readonly, args: Readonly): boolean | any; - testPublishPolicy(schema: Readonly, args: Readonly): boolean | any; - testSubscribePolicy(schema: Readonly, args: Readonly): boolean; + compileCallPolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): CallPolicyTester; + compilePublishPolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): PublishPolicyTester; + compileSubscribePolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): SubscribePolicyTester; + private compilePolicySchemata; } diff --git a/dist/schema/plugin/policy/filter/plugin.js b/dist/schema/plugin/policy/filter/plugin.js index 86dda729..401481fd 100644 --- a/dist/schema/plugin/policy/filter/plugin.js +++ b/dist/schema/plugin/policy/filter/plugin.js @@ -36,18 +36,64 @@ class FilterPolicyPlugin extends plugin_1.PolicyPlugin { describeSchema(schema) { return {}; } - // TODO: filter policy plugin - testCallPolicy(schema, args) { - return true; + compileCallPolicySchemata(schemata, descriptions, integration) { + return this.compilePolicySchemata(schemata, descriptions, integration); } - testPublishPolicy(schema, args) { - return true; + compilePublishPolicySchemata(schemata, descriptions, integration) { + return this.compilePolicySchemata(schemata, descriptions, integration); } - testSubscribePolicy(schema, args) { - return true; + compileSubscribePolicySchemata(schemata, descriptions, integration) { + return this.compilePolicySchemata(schemata, descriptions, integration); + } + compilePolicySchemata(schemata, descriptions, integration) { + const fnStrings = Array.from(new Set(schemata)); + const descriptionsMap = new Map(); + const testers = fnStrings.map(fnString => { + const fn = integration.service.broker.createInlineFunction({ + function: fnString, + mappableKeys: ["context", "params"], + reporter: integration.reporter, + returnTypeCheck: v => typeof v === "boolean", + returnTypeNotation: "boolean", + }); + if (!descriptionsMap.has(fn)) { + descriptionsMap.set(fn, []); + } + const desc = descriptions[schemata.indexOf(fnString)]; + if (desc) { + const matchedDescriptions = descriptionsMap.get(fn); + matchedDescriptions.push(desc); + } + return fn; + }); + return (args) => { + for (const tester of testers) { + let authorized = false; + let originalError = null; + try { + authorized = tester(args); + } + catch (err) { + originalError = err; + } + if (!authorized) { + // TODO: normalize error + const error = new Error("permission denied"); + error.statusCode = 401; + error.description = descriptionsMap.get(tester); + if (this.opts.showOriginalError) { + error.originalError = originalError ? originalError.message : null; + } + throw error; + } + } + return true; + }; } } exports.FilterPolicyPlugin = FilterPolicyPlugin; FilterPolicyPlugin.key = "filter"; -FilterPolicyPlugin.autoLoadOptions = {}; +FilterPolicyPlugin.autoLoadOptions = { + showOriginalError: true, +}; //# sourceMappingURL=plugin.js.map \ No newline at end of file diff --git a/dist/schema/plugin/policy/filter/plugin.js.map b/dist/schema/plugin/policy/filter/plugin.js.map index 2638f0bb..3f23f971 100644 --- a/dist/schema/plugin/policy/filter/plugin.js.map +++ b/dist/schema/plugin/policy/filter/plugin.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../src/schema/plugin/policy/filter/plugin.ts"],"names":[],"mappings":";;;;AAAA,kDAA4B;AAC5B,qDAAkG;AAElG,sCAA4D;AAK5D,MAAa,kBAAmB,SAAQ,qBAAiE;IAKvG,YAA+B,KAAwB,EAAE,IAAkD;QACzG,KAAK,CAAC,KAAK,CAAC,CAAC;QADgB,UAAK,GAAL,KAAK,CAAmB;QAErD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC7E,CAAC;IAEM,cAAc,CAAC,MAA0C;QAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,CAAC,kCAAsB,CAAC,MAAgB,CAAC,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,0BAA0B;gBACpC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,iFAAiF;aAC3F,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEY,KAAK;;QAClB,CAAC;KAAA;IAEY,IAAI;;QACjB,CAAC;KAAA;IAED,qCAAqC;IAC9B,cAAc,CAAC,MAA0C;QAC9D,OAAO,EAA+B,CAAC;IACzC,CAAC;IAED,6BAA6B;IACtB,cAAc,CAAC,MAA0C,EAAE,IAA8B;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,MAA0C,EAAE,IAAiC;QACpG,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,mBAAmB,CAAC,MAA0C,EAAE,IAAmC;QACxG,OAAO,IAAI,CAAC;IACd,CAAC;;AA9CH,gDA+CC;AA9CwB,sBAAG,GAAG,QAAQ,CAAC;AACf,kCAAe,GAA8B,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../src/schema/plugin/policy/filter/plugin.ts"],"names":[],"mappings":";;;;AAAA,kDAA4B;AAC5B,qDAAkG;AAElG,sCAA0H;AAO1H,MAAa,kBAAmB,SAAQ,qBAAiE;IAOvG,YAA+B,KAAwB,EAAE,IAAkD;QACzG,KAAK,CAAC,KAAK,CAAC,CAAC;QADgB,UAAK,GAAL,KAAK,CAAmB;QAErD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC7E,CAAC;IAEM,cAAc,CAAC,MAA0C;QAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,CAAC,kCAAsB,CAAC,MAAgB,CAAC,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,0BAA0B;gBACpC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,iFAAiF;aAC3F,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEY,KAAK;;QAClB,CAAC;KAAA;IAEY,IAAI;;QACjB,CAAC;KAAA;IAED,qCAAqC;IAC9B,cAAc,CAAC,MAA0C;QAC9D,OAAO,EAA+B,CAAC;IACzC,CAAC;IAEM,yBAAyB,CAAC,QAAiD,EAAE,YAAwC,EAAE,WAA4C;QACxK,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAqB,CAAC;IAC7F,CAAC;IAEM,4BAA4B,CAAC,QAAiD,EAAE,YAAwC,EAAE,WAA4C;QAC3K,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAwB,CAAC;IAChG,CAAC;IAEM,8BAA8B,CAAC,QAAiD,EAAE,YAAwC,EAAE,WAA4C;QAC7K,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAA0B,CAAC;IAClG,CAAC;IAEO,qBAAqB,CAAC,QAAiD,EAAE,YAAwC,EAAE,WAA4C;QACrK,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;QACvE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvC,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAO,CAAC,oBAAoB,CAA6D;gBACtH,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACnC,QAAQ,EAAE,WAAW,CAAC,QAAe;gBACrC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS;gBAC5C,kBAAkB,EAAE,SAAS;aAC9B,CAAC,CAAC;YAEH,IAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3B,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAC7B;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE;gBACR,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBACrD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAA8C,EAAE,EAAE;YACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,aAAa,GAAiB,IAAI,CAAC;gBACvC,IAAI;oBACF,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBAAC,OAAO,GAAG,EAAE;oBACZ,aAAa,GAAG,GAAG,CAAC;iBACrB;gBACD,IAAI,CAAC,UAAU,EAAE;oBACf,wBAAwB;oBACxB,MAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBAClD,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;oBACvB,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBAC/B,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;qBACpE;oBACD,MAAM,KAAK,CAAC;iBACb;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;;AA/FH,gDAgGC;AA/FwB,sBAAG,GAAG,QAAQ,CAAC;AACf,kCAAe,GAA8B;IAClE,iBAAiB,EAAE,IAAI;CACxB,CAAC"} \ No newline at end of file diff --git a/dist/schema/plugin/policy/filter/plugin.spec.d.ts b/dist/schema/plugin/policy/filter/plugin.spec.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/dist/schema/plugin/policy/filter/plugin.spec.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/dist/schema/plugin/policy/filter/plugin.spec.js b/dist/schema/plugin/policy/filter/plugin.spec.js new file mode 100644 index 00000000..7bc75c3d --- /dev/null +++ b/dist/schema/plugin/policy/filter/plugin.spec.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const test_1 = require("../../../../test"); +const plugin_1 = require("./plugin"); +describe("Filter policy schema validation test", () => { + const plugin = new plugin_1.FilterPolicyPlugin({ + logger: test_1.getLogger(), + }); + it("valid schema should be return true", () => { + return expect(plugin.validateSchema("({ params, response }) => ({ response, params})")).toMatchObject([]); + }); + it("invalid schema should be return errors", () => { + return expect(plugin.validateSchema("12345")).toMatchObject(expect.arrayContaining([ + expect.objectContaining({ + expected: "JavaScriptFunctionString", + }), + ])); + }); +}); +//# sourceMappingURL=plugin.spec.js.map \ No newline at end of file diff --git a/dist/schema/plugin/policy/filter/plugin.spec.js.map b/dist/schema/plugin/policy/filter/plugin.spec.js.map new file mode 100644 index 00000000..fa768d98 --- /dev/null +++ b/dist/schema/plugin/policy/filter/plugin.spec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"plugin.spec.js","sourceRoot":"","sources":["../../../../../src/schema/plugin/policy/filter/plugin.spec.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAC7C,qCAA8C;AAE9C,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,2BAAkB,CAAC;QACpC,MAAM,EAAE,gBAAS,EAAE;KACpB,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,iDAAiD,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC;YACjF,MAAM,CAAC,gBAAgB,CAAC;gBACtB,QAAQ,EAAE,0BAA0B;aACrC,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/schema/plugin/policy/plugin.d.ts b/dist/schema/plugin/policy/plugin.d.ts index 17bad08e..f5073fc9 100644 --- a/dist/schema/plugin/policy/plugin.d.ts +++ b/dist/schema/plugin/policy/plugin.d.ts @@ -1,3 +1,4 @@ +import { ServiceAPIIntegration } from "../../integration"; import { Plugin, PluginProps } from "../plugin"; import { CallPolicyArgs, PublishPolicyArgs, SubscribePolicyArgs } from "../connector"; export interface IPolicyPluginCatalog { @@ -7,8 +8,11 @@ export interface IPolicyPluginCatalog { export interface IPolicyPluginSchema { } export declare type PolicyPluginProps = PluginProps; +export declare type CallPolicyTester = (args: Readonly) => boolean; +export declare type PublishPolicyTester = (args: Readonly) => boolean; +export declare type SubscribePolicyTester = (args: Readonly) => boolean; export declare abstract class PolicyPlugin extends Plugin { - abstract testCallPolicy(schema: Readonly, args: Readonly): boolean | any; - abstract testPublishPolicy(schema: Readonly, args: Readonly): boolean | any; - abstract testSubscribePolicy(schema: Readonly, args: Readonly): boolean | any; + abstract compileCallPolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): CallPolicyTester; + abstract compilePublishPolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): PublishPolicyTester; + abstract compileSubscribePolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): SubscribePolicyTester; } diff --git a/dist/schema/plugin/policy/plugin.js.map b/dist/schema/plugin/policy/plugin.js.map index 5bfff84b..0ed99adb 100644 --- a/dist/schema/plugin/policy/plugin.js.map +++ b/dist/schema/plugin/policy/plugin.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/schema/plugin/policy/plugin.ts"],"names":[],"mappings":";;;AAAA,sCAAgD;AAahD,MAAsB,YAAmG,SAAQ,eAAmC;CAMnK;AAND,oCAMC"} \ No newline at end of file +{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/schema/plugin/policy/plugin.ts"],"names":[],"mappings":";;;AACA,sCAAgD;AAiBhD,MAAsB,YAAmG,SAAQ,eAAmC;CAInK;AAJD,oCAIC"} \ No newline at end of file diff --git a/dist/schema/plugin/policy/scope/plugin.d.ts b/dist/schema/plugin/policy/scope/plugin.d.ts index e2fd296d..8050f6c7 100644 --- a/dist/schema/plugin/policy/scope/plugin.d.ts +++ b/dist/schema/plugin/policy/scope/plugin.d.ts @@ -1,19 +1,22 @@ import { RecursivePartial, ValidationError } from "../../../../interface"; -import { CallPolicyArgs, PublishPolicyArgs, SubscribePolicyArgs } from "../../connector"; -import { PolicyPlugin, PolicyPluginProps } from "../plugin"; +import { ServiceAPIIntegration } from "../../../integration"; +import { CallPolicyTester, PolicyPlugin, PolicyPluginProps, PublishPolicyTester, SubscribePolicyTester } from "../plugin"; import { ScopePolicyPluginCatalog, ScopePolicyPluginSchema } from "./schema"; -export declare type ScopePolicyPluginOptions = {}; +export declare type ScopePolicyPluginOptions = { + getScopesFromContext: (context: any) => string[]; +}; export declare class ScopePolicyPlugin extends PolicyPlugin { protected readonly props: PolicyPluginProps; static readonly key = "scope"; - static readonly autoLoadOptions = false; + static readonly autoLoadOptions: ScopePolicyPluginOptions; private opts; constructor(props: PolicyPluginProps, opts?: RecursivePartial); validateSchema(schema: Readonly): ValidationError[]; start(): Promise; stop(): Promise; describeSchema(schema: Readonly): ScopePolicyPluginCatalog; - testCallPolicy(schema: ScopePolicyPluginSchema, args: Readonly): true | any; - testPublishPolicy(schema: ScopePolicyPluginSchema, args: Readonly): true | any; - testSubscribePolicy(schema: ScopePolicyPluginSchema, args: Readonly): true | any; + compileCallPolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): CallPolicyTester; + compilePublishPolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): PublishPolicyTester; + compileSubscribePolicySchemata(schemata: ReadonlyArray, descriptions: ReadonlyArray, integration: Readonly): SubscribePolicyTester; + private compilePolicySchemata; } diff --git a/dist/schema/plugin/policy/scope/plugin.js b/dist/schema/plugin/policy/scope/plugin.js index 91db8a86..9aa1c64b 100644 --- a/dist/schema/plugin/policy/scope/plugin.js +++ b/dist/schema/plugin/policy/scope/plugin.js @@ -9,9 +9,7 @@ class ScopePolicyPlugin extends plugin_1.PolicyPlugin { constructor(props, opts) { super(props); this.props = props; - this.opts = _.defaultsDeep(opts || {}, { - // default options - }); + this.opts = _.defaultsDeep(opts || {}, ScopePolicyPlugin.autoLoadOptions); } validateSchema(schema) { return interface_1.validateValue(schema, { @@ -24,29 +22,69 @@ class ScopePolicyPlugin extends plugin_1.PolicyPlugin { } start() { return tslib_1.__awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); }); } stop() { return tslib_1.__awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); }); } describeSchema(schema) { return {}; } - // TODO: OIDC Scope plugin - testCallPolicy(schema, args) { - return true; + compileCallPolicySchemata(schemata, descriptions, integration) { + return this.compilePolicySchemata(schemata, descriptions, integration); + } + compilePublishPolicySchemata(schemata, descriptions, integration) { + return this.compilePolicySchemata(schemata, descriptions, integration); } - testPublishPolicy(schema, args) { - return true; + compileSubscribePolicySchemata(schemata, descriptions, integration) { + return this.compilePolicySchemata(schemata, descriptions, integration); } - testSubscribePolicy(schema, args) { - return true; + compilePolicySchemata(requiredScopesList, descriptions, integration) { + const requiredScopes = []; + for (const requiredScopesEntry of requiredScopesList) { + for (const scope of requiredScopesEntry) { + if (!requiredScopes.includes(scope)) { + requiredScopes.push(scope); + } + } + } + const descriptionsMap = requiredScopes.reduce((map, scope) => { + const matchedDescriptions = requiredScopesList.reduce((arr, requiredScopesEntry, index) => { + const desc = descriptions[index]; + if (desc && requiredScopesEntry.includes(scope)) { + if (!arr.includes(desc)) { + arr.push(desc); + } + } + return arr; + }, []); + map[scope] = matchedDescriptions; + return map; + }, {}); + return (args) => { + const contextScopes = this.opts.getScopesFromContext(args.context); + for (const requiredScope of requiredScopes) { + if (!contextScopes.includes(requiredScope)) { + // TODO: normalize error + const error = new Error("permission denied"); + error.statusCode = 401; + error.expected = requiredScopes; + error.actual = contextScopes; + error.description = descriptionsMap[requiredScope]; + throw error; + } + } + return true; + }; } } exports.ScopePolicyPlugin = ScopePolicyPlugin; ScopePolicyPlugin.key = "scope"; -ScopePolicyPlugin.autoLoadOptions = false; // plugin is disabled in default +ScopePolicyPlugin.autoLoadOptions = { + getScopesFromContext: (ctx) => { + var _a; + return Array.isArray((_a = ctx === null || ctx === void 0 ? void 0 : ctx.auth) === null || _a === void 0 ? void 0 : _a.scope) ? ctx.auth.scope : []; + }, +}; //# sourceMappingURL=plugin.js.map \ No newline at end of file diff --git a/dist/schema/plugin/policy/scope/plugin.js.map b/dist/schema/plugin/policy/scope/plugin.js.map index 7ab883f3..709aaa75 100644 --- a/dist/schema/plugin/policy/scope/plugin.js.map +++ b/dist/schema/plugin/policy/scope/plugin.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../src/schema/plugin/policy/scope/plugin.ts"],"names":[],"mappings":";;;;AAAA,kDAA4B;AAC5B,qDAAyF;AAEzF,sCAA4D;AAK5D,MAAa,iBAAkB,SAAQ,qBAA+D;IAKpG,YAA+B,KAAwB,EAAE,IAAiD;QACxG,KAAK,CAAC,KAAK,CAAC,CAAC;QADgB,UAAK,GAAL,KAAK,CAAmB;QAErD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE;QACrC,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,MAAyC;QAC7D,OAAO,yBAAa,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,KAAK;SACb,EAAE;YACD,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC;IAEY,KAAK;;YAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;KAAA;IAEY,IAAI;;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;KAAA;IAEM,cAAc,CAAC,MAAyC;QAC7D,OAAO,EAA8B,CAAC;IACxC,CAAC;IAED,0BAA0B;IACnB,cAAc,CAAC,MAA+B,EAAE,IAA8B;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,MAA+B,EAAE,IAAiC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,mBAAmB,CAAC,MAA+B,EAAE,IAAmC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;;AA7CH,8CA8CC;AA7CwB,qBAAG,GAAG,OAAO,CAAC;AACd,iCAAe,GAAG,KAAK,CAAC,CAAC,gCAAgC"} \ No newline at end of file +{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../src/schema/plugin/policy/scope/plugin.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/schema/plugin/policy/scope/plugin.spec.d.ts b/dist/schema/plugin/policy/scope/plugin.spec.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/dist/schema/plugin/policy/scope/plugin.spec.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/dist/schema/plugin/policy/scope/plugin.spec.js b/dist/schema/plugin/policy/scope/plugin.spec.js new file mode 100644 index 00000000..f5d4932f --- /dev/null +++ b/dist/schema/plugin/policy/scope/plugin.spec.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const test_1 = require("../../../../test"); +const plugin_1 = require("./plugin"); +describe("Filter policy schema validation test", () => { + const plugin = new plugin_1.ScopePolicyPlugin({ + logger: test_1.getLogger(), + }); + it("valid schema should be return true", () => { + return expect(plugin.validateSchema(["any", "scope", "here"])).toMatchObject([]); + }); + it("invalid schema should be return errors", () => { + return expect(plugin.validateSchema("12345")).toMatchObject(expect.arrayContaining([ + expect.objectContaining({ + type: "array", + }), + ])); + }); +}); +//# sourceMappingURL=plugin.spec.js.map \ No newline at end of file diff --git a/dist/schema/plugin/policy/scope/plugin.spec.js.map b/dist/schema/plugin/policy/scope/plugin.spec.js.map new file mode 100644 index 00000000..e615119d --- /dev/null +++ b/dist/schema/plugin/policy/scope/plugin.spec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"plugin.spec.js","sourceRoot":"","sources":["../../../../../src/schema/plugin/policy/scope/plugin.spec.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAC7C,qCAA6C;AAE7C,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,0BAAiB,CAAC;QACnC,MAAM,EAAE,gBAAS,EAAE;KACpB,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,OAAc,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC;YACxF,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,OAAO;aACd,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/schema/registry.js b/dist/schema/registry.js index 59ed383f..2d6a0f35 100644 --- a/dist/schema/registry.js +++ b/dist/schema/registry.js @@ -219,7 +219,7 @@ class SchemaRegistry { type: "custom", optional: true, check(value) { - const idx = schema.policy[connectorType].indexOf(value); + const idx = schema.policy[connectorType].findIndex(p => p[plugin.key] === value); const errs = plugin.validateSchema(value); if (errs.length) { return errs.map(err => { diff --git a/dist/schema/registry.js.map b/dist/schema/registry.js.map index c2ccda5c..ede05d2d 100644 --- a/dist/schema/registry.js.map +++ b/dist/schema/registry.js.map @@ -1 +1 @@ -{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/schema/registry.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/schema/registry.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/server/middleware/body-parser.js b/dist/server/middleware/body-parser.js index 7ce31745..d3c0ead5 100644 --- a/dist/server/middleware/body-parser.js +++ b/dist/server/middleware/body-parser.js @@ -25,6 +25,7 @@ BodyParserMiddleware.key = "bodyParser"; BodyParserMiddleware.autoLoadOptions = { json: { strict: false, + limit: "10mb", }, urlencoded: { extended: true, diff --git a/dist/server/middleware/body-parser.js.map b/dist/server/middleware/body-parser.js.map index f8976cd6..19915abb 100644 --- a/dist/server/middleware/body-parser.js.map +++ b/dist/server/middleware/body-parser.js.map @@ -1 +1 @@ -{"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../../src/server/middleware/body-parser.ts"],"names":[],"mappings":";;;;AAAA,kDAA4B;AAC5B,gEAA0C;AAG1C,6CAAuE;AAOvE;;;EAGE;AAEF,MAAa,oBAAqB,SAAQ,6BAAgB;IAYxD,YAA+B,KAA4B,EAAE,IAAoD;QAC/G,KAAK,CAAC,KAAK,CAAC,CAAC;QADgB,UAAK,GAAL,KAAK,CAAuB;QAEzD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,OAA0C;QACrD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;;AApBH,oDAqBC;AApBwB,wBAAG,GAAG,YAAY,CAAC;AACnB,oCAAe,GAAgC;IACpE,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"} \ No newline at end of file +{"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../../src/server/middleware/body-parser.ts"],"names":[],"mappings":";;;;AAAA,kDAA4B;AAC5B,gEAA0C;AAG1C,6CAAuE;AAOvE;;;EAGE;AAEF,MAAa,oBAAqB,SAAQ,6BAAgB;IAaxD,YAA+B,KAA4B,EAAE,IAAoD;QAC/G,KAAK,CAAC,KAAK,CAAC,CAAC;QADgB,UAAK,GAAL,KAAK,CAAuB;QAEzD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,OAA0C;QACrD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;;AArBH,oDAsBC;AArBwB,wBAAG,GAAG,YAAY,CAAC;AACnB,oCAAe,GAAgC;IACpE,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,KAAK,EAAG,MAAM;KACf;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"} \ No newline at end of file diff --git a/package.json b/package.json index 1d9a1532..2e053805 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moleculer-api", - "version": "0.3.1", + "version": "0.3.2", "description": "A dynamic API Gateway for MoleculerJS which updates REST endpoints and aggregated GraphQL schema, access control policy for each action calls from metadata of remote services schema without restart or deployment.", "main": "dist/index.js", "types": "dist/index.d.ts",