使 deepstream 服务器增强进入 RPC 的数据

Make deepstream server enhance data coming to RPC

我正在寻找一种方法让我的深层服务器增强发送到具有授权客户端数据的 RPC 端点的数据。我想知道这是否现实。如果是的话我怎么能实现呢?

我可以清楚地看到我在 canPerformAction 调用中有授权的用户数据。我不确定如何修改消息。

转换函数允许您这样做。

https://deepstream.io/tutorials/transforming-data.html

它为您提供了一个钩子,用于从来自 deepstream 的每个传入和传出消息中插入或删除数据,包括 RPC、事件和记录。

server.set( 'dataTransforms', [{
    topic: C.TOPIC.RPC,
    action: C.ACTIONS.REQUEST,
    transform: function( data, metaData ) {
        if( metaData.rpcName === 'do-something' ) {
            // Add user sensitive data to rpc
            data.userData = confidentialUserData[ metaData.sender ];
        }
        return data;
    }
}] );