From f42741a481effdd4cf534953c35772034934af80 Mon Sep 17 00:00:00 2001 From: Errormacr Date: Fri, 24 Nov 2023 17:14:11 +0300 Subject: [PATCH] This commit adds the `Payment` and `ProxyUser` entities to the database. --- backend/libs/database/ProxyUser.entity.ts | 31 +++++++++++++++++++++++ backend/libs/database/payment.entity.ts | 22 ++++++++++++++++ backend/libs/database/post.entity.ts | 2 +- backend/libs/libs.module.ts | 4 ++- 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 backend/libs/database/ProxyUser.entity.ts create mode 100644 backend/libs/database/payment.entity.ts diff --git a/backend/libs/database/ProxyUser.entity.ts b/backend/libs/database/ProxyUser.entity.ts new file mode 100644 index 0000000..27a2d34 --- /dev/null +++ b/backend/libs/database/ProxyUser.entity.ts @@ -0,0 +1,31 @@ +import { Entity, OneToOne, JoinColumn, PrimaryGeneratedColumn, Column } from 'typeorm'; +import { User } from './user.entity'; + +@Entity() +export class ProxyUser { + constructor(props?: Partial) { + Object.assign(this, props); + } + + @PrimaryGeneratedColumn('uuid') + public id!: 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 }) + user_id: string; + + @OneToOne(() => User) + @JoinColumn({ name: 'user_id' }) + user: User; +} diff --git a/backend/libs/database/payment.entity.ts b/backend/libs/database/payment.entity.ts new file mode 100644 index 0000000..3e77782 --- /dev/null +++ b/backend/libs/database/payment.entity.ts @@ -0,0 +1,22 @@ +import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; +import { ProxyUser } from './ProxyUser.entity'; + +@Entity() +export class Payment { + @PrimaryGeneratedColumn('uuid') + public id!: string; + + @Column() + public uuidUser!: string; + + @Column({ type: 'timestamptz' }) + public payTime!: Date; + + @ManyToOne(() => ProxyUser, { onDelete: 'CASCADE' }) // Assuming you want to cascade delete when a user is deleted + @JoinColumn({ name: 'uuidUser' }) + user: ProxyUser; + + constructor(props?: Partial) { + Object.assign(this, props); + } +} diff --git a/backend/libs/database/post.entity.ts b/backend/libs/database/post.entity.ts index f58ce0b..4ff2e89 100644 --- a/backend/libs/database/post.entity.ts +++ b/backend/libs/database/post.entity.ts @@ -1,4 +1,4 @@ -import { Entity, PrimaryGeneratedColumn, Column, Timestamp, OneToOne, JoinColumn } from 'typeorm'; +import { Entity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn } from 'typeorm'; import { Admin } from './admin.entity'; @Entity() export class Post { diff --git a/backend/libs/libs.module.ts b/backend/libs/libs.module.ts index ef53738..57dc7e7 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/ProxyUser.entity'; @Module({ - imports: [TypeOrmModule.forFeature([User, Admin, Post, Image])], + imports: [TypeOrmModule.forFeature([User, Admin, Post, Image, Payment, ProxyUser])], exports: [TypeOrmModule], }) export class LibsModule {}