Преглед изворни кода

✨ feat(role): add create and update timestamps to role entity
- add createdAt and updatedAt fields to Role entity with typeorm decorators
- update RoleSchema to include timestamp fields in API documentation
- update UserSchema example to include role timestamps

♻️ refactor(role): temporarily disable auth middleware for role routes
- comment out authMiddleware and checkPermission middleware in role routes
- allow unauthenticated access to role API endpoints for development testing

yourname пре 5 месеци
родитељ
комит
1a5fb60657

+ 4 - 1
src/server/api/roles/index.ts

@@ -13,7 +13,10 @@ const roleRoutes = createCrudRoutes({
   getSchema: RoleSchema,
   listSchema: RoleSchema,
   searchFields: ['name', 'description'],
-  middleware: [authMiddleware, checkPermission(['role:manage'])]
+  middleware: [
+    // authMiddleware, 
+    // checkPermission(['role:manage'])
+]
 })
 const app = new OpenAPIHono()
   .route('/', roleRoutes)

+ 10 - 2
src/server/modules/users/role.entity.ts

@@ -1,4 +1,4 @@
-import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
+import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';
 import { z } from '@hono/zod-openapi';
 
 export type Permission = string;
@@ -19,7 +19,9 @@ export const RoleSchema = z.object({
   permissions: z.array(z.string()).min(1).openapi({
     description: '角色权限列表',
     example: ['user:create', 'user:delete']
-  })
+  }),
+  createdAt: z.date().openapi({ description: '创建时间' }),
+  updatedAt: z.date().openapi({ description: '更新时间' })
 });
 
 export const CreateRoleDto = RoleSchema.omit({ id: true });
@@ -39,6 +41,12 @@ export class Role {
   @Column({ type: 'simple-array', nullable: false })
   permissions: Permission[] = [];
 
+  @CreateDateColumn({ name: 'created_at', type: 'timestamp' })
+  createdAt!: Date;
+
+  @UpdateDateColumn({ name: 'updated_at', type: 'timestamp' })
+  updatedAt!: Date;
+
   constructor(partial?: Partial<Role>) {
     Object.assign(this, partial);
     if (!this.permissions) {

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

@@ -89,7 +89,9 @@ export const UserSchema = z.object({
     description: '是否删除(0:未删除,1:已删除)'
   }),
   roles: z.array(RoleSchema).optional().openapi({
-    example: [{ id: 1, name: 'admin',description:'管理员', permissions: ['user:create'] }],
+    example: [
+      { id: 1, name: 'admin',description:'管理员', permissions: ['user:create'] ,createdAt: new Date(), updatedAt: new Date() }
+    ],
     description: '用户角色列表'
   }),
   createdAt: z.date().openapi({ description: '创建时间' }),