소스 검색

✨ feat(crud): add data permission support for client routes
- 添加客户路由的数据权限配置,关联Client实体和salesPersonId字段

♻️ refactor(crud): optimize data permission query building
- 修改数据权限查询构建逻辑,使用查询构建器别名替代实体名

yourname 7 달 전
부모
커밋
9fe95293fc
2개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 1
      src/server/api/clients/index.ts
  2. 1 1
      src/server/utils/generic-crud.service.ts

+ 5 - 1
src/server/api/clients/index.ts

@@ -17,7 +17,11 @@ const clientRoutes = createCrudRoutes({
     'salesPerson',
     'operator'
   ],
-  middleware: [authMiddleware]
+  middleware: [authMiddleware],
+  dataPermission: {
+    entity: 'Client',
+    userIdField: 'salesPersonId'
+  }
 });
 
 // 使用OpenAPIHono聚合路由,自定义路由会覆盖通用CRUD的对应路由

+ 1 - 1
src/server/utils/generic-crud.service.ts

@@ -50,7 +50,7 @@ export abstract class GenericCrudService<T extends ObjectLiteral> {
     if (user && this.dataPermissionService && this.dataPermissionConfig) {
       await this.dataPermissionService.applyDataScope(
         query,
-        this.entity.name,
+        'entity',  // 使用查询构建器的别名而不是实体名
         user,
         'view',
         this.dataPermissionConfig