我需要在两个(或多个(插件之间共享一个支付服务类,我想知道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权限是基于白名单的,因此外部用户将无法调用您的操作,除非您在他们的角色中明确指定它。