抓住Waterline / sails.js中的每个更新/创build
我试图创build一个“工作stream”表,它注册每个表上的每个事件,并附加一些额外的信息(IP,会话ID)。
我有很多模型,不想在每个模型中都写afterUpdate / afterCreate,这是很难维护的,再加上模型中没有req来存储会话id。
我真的不知道该如何开始,这就是为什么我要问Waterline是否会抛出任何事件或类似的事情?
提前致谢 !
您正在寻找生命周期callback :
Sails在特定操作之前或之后自动调用的模型中暴露了一些生命周期callback。 例如,我们有时使用生命周期callback在创build或更新帐户模型之前自动encryption密码。 另一个用例是在Project的name属性更新时自动重新生成一个URL slug。
callback创build
- beforeValidate:fn(values,cb)
- afterValidate:fn(values,cb)
- beforeCreate:fn(values,cb)
- afterCreate:fn(newlyInsertedRecord,cb)
callback更新
- beforeValidate:fn(valuesToUpdate,cb)
- afterValidate:fn(valuesToUpdate,cb)
- beforeUpdate:fn(valuesToUpdate,cb)
- afterUpdate:fn(updatedRecord,cb)
callback破坏
- beforeDestroy:fn(criteria,cb)
- afterDestroy:fn(destroyedRecords,cb)