Przeglądaj źródła

♻️ refactor(department): extract DataScopeType enum to separate file

- 创建department.enum.ts文件并将DataScopeType枚举移至该文件
- 调整相关文件导入路径以使用新的枚举文件

✨ refactor(client): use DataScopeType enum in permission configuration

- 将权限配置中的硬编码'dataScopeType'替换为DataScopeType.COMPANY枚举值

📝 docs(user): remove permissions field from UserSchema example

- 从用户角色示例中移除permissions字段,使示例更准确
yourname 8 miesięcy temu
rodzic
commit
95b117fd6f

+ 2 - 1
src/client/admin/components/PermissionConfigModal.tsx

@@ -3,6 +3,7 @@ import { Modal, Tree, Spin, message } from 'antd';
 import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
 import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
 import { permissionClient, rolePermissionClient } from '@/client/api';
 import { permissionClient, rolePermissionClient } from '@/client/api';
 import type { InferResponseType } from 'hono/client';
 import type { InferResponseType } from 'hono/client';
+import { DataScopeType } from '@/server/modules/departments/department.enum';
 
 
 type PermissionListResponse = InferResponseType<typeof permissionClient.$get, 200>;
 type PermissionListResponse = InferResponseType<typeof permissionClient.$get, 200>;
 type PermissionItem = PermissionListResponse['data'][0];
 type PermissionItem = PermissionListResponse['data'][0];
@@ -72,7 +73,7 @@ const PermissionConfigModal: React.FC<PermissionConfigModalProps> = ({
     mutationFn: async ({ roleId, permissionIds }: { roleId: number; permissionIds: number[] }) => {
     mutationFn: async ({ roleId, permissionIds }: { roleId: number; permissionIds: number[] }) => {
       const permissions = permissionIds.map(permissionId => ({
       const permissions = permissionIds.map(permissionId => ({
         permissionId,
         permissionId,
-        dataScopeType: 'COMPANY' as const,
+        dataScopeType: DataScopeType.COMPANY,
         customDepartments: [] as number[]
         customDepartments: [] as number[]
       }));
       }));
 
 

+ 3 - 6
src/server/modules/departments/department.entity.ts

@@ -1,13 +1,10 @@
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, OneToMany, JoinColumn, ManyToMany, JoinTable } from 'typeorm';
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, OneToMany, JoinColumn, ManyToMany, JoinTable } from 'typeorm';
 import { z } from '@hono/zod-openapi';
 import { z } from '@hono/zod-openapi';
 import { UserEntity } from '@/server/modules/users/user.entity';
 import { UserEntity } from '@/server/modules/users/user.entity';
+import { DataScopeType } from './department.enum';
 
 
-export enum DataScopeType {
-  PERSONAL = 'personal',
-  DEPARTMENT = 'department',
-  SUB_DEPARTMENT = 'sub_department',
-  COMPANY = 'company',
-  CUSTOM = 'custom'
+export {
+  DataScopeType
 }
 }
 
 
 @Entity('department')
 @Entity('department')

+ 7 - 0
src/server/modules/departments/department.enum.ts

@@ -0,0 +1,7 @@
+export enum DataScopeType {
+    PERSONAL = 'personal',
+    DEPARTMENT = 'department',
+    SUB_DEPARTMENT = 'sub_department',
+    COMPANY = 'company',
+    CUSTOM = 'custom'
+  }

+ 1 - 1
src/server/modules/users/user.entity.ts

@@ -101,7 +101,7 @@ export const UserSchema = z.object({
   }),
   }),
   roles: z.array(RoleSchema).optional().openapi({
   roles: z.array(RoleSchema).optional().openapi({
     example: [
     example: [
-      { id: 1, name: 'admin',description:'管理员', permissions: ['user:create'] ,createdAt: new Date(), updatedAt: new Date() }
+      { id: 1, name: 'admin',description:'管理员' ,createdAt: new Date(), updatedAt: new Date() }
     ],
     ],
     description: '用户角色列表'
     description: '用户角色列表'
   }),
   }),