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