调整user实体位置

This commit is contained in:
2025-05-07 13:36:06 +08:00
parent ca5a070656
commit 0792046547

View File

@@ -0,0 +1,55 @@
import { BeforeInsert, Column, CreateDateColumn, DeleteDateColumn, Entity, In, Index, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { v4 as uuidv4 } from 'uuid';
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column('uuid', { unique: true, default: () => 'gen_random_uuid()' })
@Index({ unique: true })
userId: string;
@Column({ length: 32 })
@Index({ unique: true })
username: string;
@Column({ length: 30 })
nickname: string;
@BeforeInsert()
generateDefaults() {
if (!this.username) {
this.username = `user_${uuidv4().replace(/-/g, '').slice(0, 27)}`;
}
if (!this.nickname) {
this.nickname = `用户_${uuidv4().replace(/-/g, '').slice(0, 8)}`;
}
}
@Column({ nullable: true, type: 'char', length: 32 })
salt: string;
@Column({ nullable: true, type: 'char', length: 64 })
password_hash: string;
@Column({ nullable: true, length: 254 })// RFC 5321
@Index({ unique: true })
email: string;
@Column({ nullable: true, length: 20 })// China Mainland
@Index({ unique: true })
phone: string;
@Column({ nullable: true })
avatar: string;
@CreateDateColumn({ precision: 3 })
createdAt: Date;
@UpdateDateColumn({ precision: 3 })
updatedAt: Date;
@DeleteDateColumn({ nullable: true, precision: 3 })
deletedAt: Date;
}