forked from yoone/API
40 lines
934 B
TypeScript
40 lines
934 B
TypeScript
// src/entity/user.entity.ts
|
|
import { Exclude } from 'class-transformer';
|
|
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
|
|
|
|
@Entity('user')
|
|
export class User {
|
|
@PrimaryGeneratedColumn()
|
|
id: number;
|
|
|
|
@Column({ unique: true })
|
|
username: string;
|
|
|
|
@Column()
|
|
@Exclude()
|
|
password: string;
|
|
|
|
// @Column() // 默认角色为管理员
|
|
// roleId: number; // 角色 (如:admin, editor, viewer)
|
|
|
|
@Column({ type: 'simple-array', nullable: true })
|
|
permissions: string[]; // 自定义权限 (如:['user:add', 'user:edit'])
|
|
|
|
// 新增邮箱字段,可选且唯一
|
|
@Column({ unique: true, nullable: true })
|
|
email?: string;
|
|
|
|
@Column({ default: false })
|
|
isSuper: boolean; // 超级管理员
|
|
|
|
@Column({ default: false })
|
|
isAdmin: boolean; // 管理员
|
|
|
|
@Column({ default: true })
|
|
isActive: boolean; // 用户是否启用
|
|
|
|
// 备注字段(可选)
|
|
@Column({ nullable: true })
|
|
remark?: string;
|
|
}
|