将用户对象传递给Sails.js中的模型生命周期事件

时间:2017-11-19 08:32:20

标签: node.js sails.js waterline

我很感兴趣,如果有人设法将当前登录的用户传递给生命周期事件

我想将用户传递给生命周期事件功能,以跟踪进行更改的用户。

1 个答案:

答案 0 :(得分:0)

我认为没有一种干净的方法可以做到这一点。即使你不介意深入研究(和修改)框架代码,我认为你必须在几个地方做一些修改:

1 - 您必须覆盖Model.create以接受req参数(或其他可用于获取登录用户的内容)。

2 - 你必须确保Model.create的代码(你的和sails库)中的所有用法都传递了所需的参数。特别是......

3 - 您必须修改POST /create/[modelname]捕获的默认操作,以便将适当的参数传递给Model.create

鉴于这是很多步骤(我可能会错过一些),我建议采用另一种方法:

1 - 从/config/blueprints.js文件中禁用REST创建路由。

2 - 通过自定义方法为所有模型创建漏斗。 (可能是直接暴露的控制器方法,或/api/services中的某些内容,或模型本身中的内容)。确保该方法可以访问登录用户,将其作为数据附加到模型,然后从自定义方法中调用默认的Model.create。