diff --git a/backend/libs/database/payment.entity.ts b/backend/libs/database/payment.entity.ts new file mode 100644 index 0000000..71f68a0 --- /dev/null +++ b/backend/libs/database/payment.entity.ts @@ -0,0 +1,22 @@ +import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { ProxyUser } from './proxy_user.entity'; + +@Entity() +export class Payment { + constructor(props?: Partial) { + Object.assign(this, props); + } + + @PrimaryGeneratedColumn('increment') + public id!: number; + + @Column() + public user_uuid!: string; + + @Column({ type: 'timestamptz' }) + public payTime!: Date; + + @ManyToOne(() => ProxyUser, { onDelete: 'CASCADE' }) + @JoinColumn({ name: 'user_uuid' }) + user: ProxyUser; +} diff --git a/backend/libs/database/proxy_user.entity.ts b/backend/libs/database/proxy_user.entity.ts new file mode 100644 index 0000000..d89415a --- /dev/null +++ b/backend/libs/database/proxy_user.entity.ts @@ -0,0 +1,31 @@ +import { Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { User } from './user.entity'; + +@Entity() +export class ProxyUser { + constructor(props?: Partial) { + Object.assign(this, props); + } + + @PrimaryGeneratedColumn('uuid') + public uuid!: string; + + @Column({ nullable: true }) + public userName: string; + + @Column({ nullable: true }) + public description: string; + + @Column({ nullable: false }) + public link!: string; + + @Column({ nullable: false, type: 'timestamptz' }) + public connectDate!: Date; + + @Column({ nullable: true }) + public user_id!: string; + + @OneToOne(() => User, (user) => user.id, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: true }) + @JoinColumn({ name: 'user_id' }) + public user: User; +} diff --git a/backend/libs/libs.module.ts b/backend/libs/libs.module.ts index ef53738..f369309 100644 --- a/backend/libs/libs.module.ts +++ b/backend/libs/libs.module.ts @@ -4,8 +4,10 @@ import { User } from './database/user.entity'; import { Admin } from './database/admin.entity'; import { Post } from './database/post.entity'; import { Image } from './database/image.entity'; +import { Payment } from './database/payment.entity'; +import { ProxyUser } from './database/proxy_user.entity'; @Module({ - imports: [TypeOrmModule.forFeature([User, Admin, Post, Image])], + imports: [TypeOrmModule.forFeature([User, Admin, Post, Image, Payment, ProxyUser])], exports: [TypeOrmModule], }) export class LibsModule {}