目前,我将他加入了我的控制器:
@Crud({
model: {
type: Broker
},
query: {
join: {
user: {
eager: true,
exclude: ['password']
}
}
}
})
@Controller('broker')
@UseGuards(AuthGuard('jwt'))
export class BrokerController {
constructor(public service: BrokerService) {}
}
用户和代理之间存在 one to many
关系。我正在通过jwt令牌对用户进行身份验证,并且需要根据用户ID过滤数据。有什么办法可以通过Crud配置做到这一点?
答案 0 :(得分:0)
您可以创建一个中间件,该中间件会将用户ID添加到会话中的req.params。 这是一个把戏,但是到目前为止我还没有看到其他解决方案
答案 1 :(得分:0)
@CrudAuth({
property: 'user',
filter: (user) => ({
userid: user.userid,
})
})
答案 2 :(得分:0)
正如@ilker 之前的回应:
@CrudAuth({
property: 'user',
filter: (user) => ({
userid: user.userid,
})
})
这将从 JWT 令牌中获取“用户”,您可以使用它来过滤实体。
@nestsjx/crud 是一个非常棒的库。
问候