Nestjs 在将数据库保存到嵌套中之前,执行角色层次结构的验证

Nestjs 在将数据库保存到嵌套中之前,执行角色层次结构的验证,nestjs,Nestjs,我有一个包含角色名称及其优先级的角色表 id role_name priority 1 SuperAdmin 1 2 User 2 ... so on 条件是,每当用户对任何实体执行任何创建或更新操作时,它都必须遵循层次结构,如SuperAdmin可以创建用户,但用户不能创建SuperAdmin 我已经创建了一个函数checkHierarchy,并在需要的地方将其导入到不同的模块中,并像这样显式地检查它 this.checkHierarchy(

我有一个包含角色名称及其优先级的角色表


id  role_name    priority
1   SuperAdmin     1
2   User           2


... so on
条件是,每当用户对任何实体执行任何创建或更新操作时,它都必须遵循层次结构,如SuperAdmin可以创建用户,但用户不能创建SuperAdmin

我已经创建了一个函数checkHierarchy,并在需要的地方将其导入到不同的模块中,并像这样显式地检查它

this.checkHierarchy().userRepository.create(User)

#if checkHierarchy method return false then entire operation fails.
commonfile.ts

function checkHierarchy(rolePriority1, rolePriority2) { 
  return true // if can create 
  return false // cannot create
}

另一个文件user.ts

import checkHierarchy from common


function createUser() {
 const status = checkHierarchy(rp1 , rp2)
 if(!status) throw err(Dont have permission to create)
 userRepository.create(user)
}

我想知道nest js中是否有任何技术可以让我执行这样的操作

this.checkHierarchy().userRepository.create(User)

#if checkHierarchy method return false then entire operation fails.

我认为这可以通过使用中间件来实现。如果您使用的是猫鼬,请查看挂钩/中间件。如果是TypeORM,那么检查侦听器和订阅者。谢谢,我想要完全相同的东西。我认为这可以通过使用中间件来实现。如果您使用的是猫鼬,请查看挂钩/中间件。如果是TypeORM,那么检查侦听器和订阅者。谢谢,我想要完全一样的东西