在两个或多个插件之间共享服务



我需要在两个(或多个(插件之间共享一个支付服务类,我想知道Kuzzle的Pipes是否是最好的解决方案?

我做了一个poc,它似乎可以工作,然而,我在kuzzle的插件上没有发现任何类似的例子(比如kuzzle插件记录器的挂钩(

还有其他选择吗?

在插件之间共享功能的最佳方式是将它们声明为API操作。

例如,您可以通过创建一个名为payment的插件并在其中声明一个控制器来公开您的支付服务功能。

this.controllers = {
card: {
pay: request => ...,
fraudCheck: request => ...
}
};

然后,您可以使用嵌入式SDK从另一个插件调用这些操作。该请求将在不使用网络的情况下直接发送给Kuzzle。

this.context.accessors.sdk.query({
controller: 'payment/card',
action: pay,
number: '...',
ccv: 543,
...
});

由于Kuzzle权限是基于白名单的,因此外部用户将无法调用您的操作,除非您在他们的角色中明确指定它。

最新更新