调整user实体位置
This commit is contained in:
55
tone-page-server/src/user/entities/user.entity.ts
Normal file
55
tone-page-server/src/user/entities/user.entity.ts
Normal 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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user