问题描述
在阅读指南和谷歌搜索一段时间后,我在 CASL 中找不到解决我的用例的方法。
预期
(status
字段可能具有以下值之一:'created','cancelled','kept','broken'...但某些值如 'kept,broken' 只能由用户更新具有特殊角色,例如“主管”,而不是普通用户。)
我的代码
// define rules
async function defineAbilitiesFor(user) {
if(user) {
can('patch','appointments',{ user_id: user.id,status: 'created' });
// No where to define rule for limit status to be patched
}
}
// test rules
const appointment = {...,user_id:1,status:'created' };
const toPatch = { status: 'cancelled' };
ability.can('patch',appointment); // No where to check `toPatch` data
$in
不适合我的情况
can('patch',status: {$in: ['created','cancelled'] });
不能解决两个问题:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)