diff --git a/libs/common/src/modules/device/entities/device.entity.ts b/libs/common/src/modules/device/entities/device.entity.ts index 9a75950..ade7d99 100644 --- a/libs/common/src/modules/device/entities/device.entity.ts +++ b/libs/common/src/modules/device/entities/device.entity.ts @@ -6,10 +6,15 @@ import { Unique, Index, JoinColumn, + OneToOne, } from 'typeorm'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; import { DeviceDto, DeviceUserPermissionDto } from '../dtos/device.dto'; -import { SpaceEntity, SubspaceEntity } from '../../space/entities'; +import { + SpaceEntity, + SpaceProductItemEntity, + SubspaceEntity, +} from '../../space/entities'; import { ProductEntity } from '../../product/entities'; import { UserEntity } from '../../user/entities'; import { DeviceNotificationDto } from '../dtos'; @@ -74,6 +79,11 @@ export class DeviceEntity extends AbstractEntity { @OneToMany(() => SceneDeviceEntity, (sceneDevice) => sceneDevice.device, {}) sceneDevices: SceneDeviceEntity[]; + @OneToOne(() => SpaceProductItemEntity, (tag) => tag.device, { + nullable: true, + }) + public tag?: SpaceProductItemEntity; + constructor(partial: Partial) { super(); Object.assign(this, partial); diff --git a/libs/common/src/modules/space/entities/space-product-item.entity.ts b/libs/common/src/modules/space/entities/space-product-item.entity.ts index ebbe572..d9add42 100644 --- a/libs/common/src/modules/space/entities/space-product-item.entity.ts +++ b/libs/common/src/modules/space/entities/space-product-item.entity.ts @@ -1,8 +1,9 @@ -import { Column, Entity, ManyToOne } from 'typeorm'; +import { Column, Entity, ManyToOne, OneToOne } from 'typeorm'; import { SpaceProductEntity } from './space-product.entity'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; import { SpaceProductItemDto } from '../dtos'; import { SpaceProductItemModelEntity } from '../../space-model'; +import { DeviceEntity } from '../../device/entities'; @Entity({ name: 'space-product-item' }) export class SpaceProductItemEntity extends AbstractEntity { @@ -30,4 +31,9 @@ export class SpaceProductItemEntity extends AbstractEntity }, ) public spaceProductItemModel?: SpaceProductItemModelEntity; + + @OneToOne(() => DeviceEntity, (device) => device.tag, { + nullable: true, + }) + public device?: DeviceEntity; }