在CASL中定义功能,出现嵌套检查问题

时间:2019-01-30 09:18:35

标签: express casl

我的问题是我正在尝试为消息设置delete子句,即,仅当用户创建了消息时,才能删除该消息。

消息/帖子类看起来像这样

Message { id: int, text: string, createdBy: int, belongsToPost: int (belongsToPost foreign key to post) }

Post { id: int, createdBy: int, content: string, (createdBy foreign key to users) }

现在,我想添加一项功能,即只有用户创建了一条消息后,才能删除该消息。

can('delete', 'Message', { belongsToPost : {createdBy: user.id}})

这是行不通的,因为belongsToPost只是外键,并且会引发错误,即未为此类型定义语句{createdBy: user.id}

我也可以通过在消息中添加字段createdBy来解决问题,但是有没有一种方法可以在没有重复数据的情况下实现呢?

感谢您的帮助!

0 个答案:

没有答案