我正在尝试弄清楚如何获取“前”“补丁”挂钩中存在的记录,或者如何将记录保存在“后”“补丁”挂钩中,无论哪种解决方案都对我有用找不到解决方法。有人有任何解决方法吗?
我正在考虑采用这种方法->
module.exports = function() {
return async function (context) {
let why = await context.app.service('transactions').get(context.id);
console.log(why);
return context;
};
};
但是,此解决方案返回此->无法读取未定义的属性'_id'
自昨晚以来,我一直在不停地玩这个游戏,而此时我的想法不高。
此时,我能看到的唯一方法是在钩子之后从补丁中调用UPDATE钩子,但是我正在寻找一个更干净的解决方案。
答案 0 :(得分:1)
该问题与我调用已具有权限的GET挂钩有关,因此没有找到它。 //解决方案是将其包装在commonHooks.isProvider('external')周围。
get: [
commonHooks.iff(
commonHooks.isProvider('external'),
checkPermissions({
roles: ['admin'],
field: 'permissions',
entity: 'accounts',
error: false
}),
context => {
if(!context.params.permitted){
context.params.query = {
$or: [
{
bidAccountId: context.params.accounts['_id']
},
{
offerAccountId: context.params.accounts['_id']
}
]
};
}
}
),
],