Sequelize.js 如何向Sequelize挂钩添加上下文?
我想使用钩子对一行执行访问控制,这样用户只能访问他们自己的行。钩子将添加一个额外的where子句,以确保用户是行的所有者(例如:where-ownerId=user.id) 问题是,我如何传递用户id进行续集,以便在钩子触发时钩子拥有它?我已经查阅了文档,我不清楚这是否可行 谢谢Sequelize.js 如何向Sequelize挂钩添加上下文?,sequelize.js,Sequelize.js,我想使用钩子对一行执行访问控制,这样用户只能访问他们自己的行。钩子将添加一个额外的where子句,以确保用户是行的所有者(例如:where-ownerId=user.id) 问题是,我如何传递用户id进行续集,以便在钩子触发时钩子拥有它?我已经查阅了文档,我不清楚这是否可行 谢谢 参考:要添加上下文,您可以在选项对象中包含任何您喜欢的内容。例如,假设您使用的是Model.findAll()。您可以设置如下选项: options = { attributes: ['id', 'column1'
参考:要添加上下文,您可以在选项对象中包含任何您喜欢的内容。例如,假设您使用的是
Model.findAll()
。您可以设置如下选项:
options = {
attributes: ['id', 'column1', 'column2'],
where: { someColumn: 'aValue' }
}
options.context = 'foo';
然后在钩子中,您将能够访问options.context并使用它。当然,您可能不应该使用Sequelize使用的任何“保留”字来过滤查询。
上下文在Sequelize文档中似乎不受支持:Sequelize typescript定义中也不支持它,这意味着使用此选项将不允许您的代码进行编译:对于如何使其工作还有其他建议吗?