【发布时间】:2021-08-08 01:25:28
【问题描述】:
我刚开始使用 Prisma。我不清楚的一个方面是检查用户是否对对象具有权限的正确方法。假设我们有 Book 和 Author 模型。每本书都有一个作者(一对多)。只有作者有权删除图书。
执行此操作的简单方法是:
prismaClient.book.deleteMany({
id: bookId, <-- id is known
author: {
id: userId <-- id is known
}
})
但是这种方式很难向用户显示UnauthorizedError。相反,响应将是 500 状态代码,因为我们无法知道查询失败的确切原因。
另一种方法是先查询图书并检查图书实例的作者,这会导致再查询一次。
在 Prisma 中有这方面的最佳实践吗?
【问题讨论】: