From 05b2bddc26035da49a3c99573ebcfa93a6e98ad0 Mon Sep 17 00:00:00 2001 From: hannathkadher Date: Fri, 13 Dec 2024 15:39:13 +0400 Subject: [PATCH] added subspace product item --- libs/common/src/database/database.module.ts | 2 ++ .../modules/space/entities/subspace/index.ts | 1 + .../subspace/subspace-product-item.entity.ts | 21 +++++++++++++++++++ .../subspace/subspace-product.entity.ts | 8 ++++++- 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/libs/common/src/database/database.module.ts b/libs/common/src/database/database.module.ts index 2f87d05..3da6ed6 100644 --- a/libs/common/src/database/database.module.ts +++ b/libs/common/src/database/database.module.ts @@ -14,6 +14,7 @@ import { SpaceProductItemEntity, SubspaceEntity, SubspaceProductEntity, + SubspaceProductItemEntity, } from '../modules/space/entities'; import { UserSpaceEntity } from '../modules/user/entities'; import { DeviceUserPermissionEntity } from '../modules/device/entities'; @@ -87,6 +88,7 @@ import { SubspaceProductModelEntity, SubspaceProductItemModelEntity, SubspaceProductEntity, + SubspaceProductItemEntity, ], namingStrategy: new SnakeNamingStrategy(), synchronize: Boolean(JSON.parse(configService.get('DB_SYNC'))), diff --git a/libs/common/src/modules/space/entities/subspace/index.ts b/libs/common/src/modules/space/entities/subspace/index.ts index bd9d689..471b7b1 100644 --- a/libs/common/src/modules/space/entities/subspace/index.ts +++ b/libs/common/src/modules/space/entities/subspace/index.ts @@ -1,2 +1,3 @@ export * from './subspace.entity'; export * from './subspace-product.entity'; +export * from './subspace-product-item.entity'; diff --git a/libs/common/src/modules/space/entities/subspace/subspace-product-item.entity.ts b/libs/common/src/modules/space/entities/subspace/subspace-product-item.entity.ts index e69de29..671b046 100644 --- a/libs/common/src/modules/space/entities/subspace/subspace-product-item.entity.ts +++ b/libs/common/src/modules/space/entities/subspace/subspace-product-item.entity.ts @@ -0,0 +1,21 @@ +import { AbstractEntity } from '@app/common/modules/abstract/entities/abstract.entity'; +import { SpaceProductItemDto } from '../../dtos'; +import { Column, Entity, ManyToOne } from 'typeorm'; +import { SubspaceProductEntity } from './subspace-product.entity'; + +@Entity({ name: 'subspace-product-item' }) +export class SubspaceProductItemEntity extends AbstractEntity { + @Column({ + nullable: false, + }) + public tag: string; + + @ManyToOne( + () => SubspaceProductEntity, + (subspaceProduct) => subspaceProduct.items, + { + nullable: false, + }, + ) + public subspaceProduct: SubspaceProductEntity; +} diff --git a/libs/common/src/modules/space/entities/subspace/subspace-product.entity.ts b/libs/common/src/modules/space/entities/subspace/subspace-product.entity.ts index f9308ae..f5d0eda 100644 --- a/libs/common/src/modules/space/entities/subspace/subspace-product.entity.ts +++ b/libs/common/src/modules/space/entities/subspace/subspace-product.entity.ts @@ -1,8 +1,9 @@ import { ProductEntity } from '@app/common/modules/product/entities'; -import { Column, Entity, ManyToOne } from 'typeorm'; +import { Column, Entity, ManyToOne, OneToMany } from 'typeorm'; import { SubspaceEntity } from './subspace.entity'; import { AbstractEntity } from '@app/common/modules/abstract/entities/abstract.entity'; import { SubspaceProductDto } from '../../dtos/subspace/subspace-product.dto'; +import { SubspaceProductItemEntity } from './subspace-product-item.entity'; @Entity({ name: 'subspace-product' }) export class SubspaceProductEntity extends AbstractEntity { @@ -28,4 +29,9 @@ export class SubspaceProductEntity extends AbstractEntity { nullable: false, }) public product: ProductEntity; + + @OneToMany(() => SubspaceProductItemEntity, (item) => item.subspaceProduct, { + nullable: true, + }) + public items: SubspaceProductItemEntity[]; }