remove device-tag relation

This commit is contained in:
hannathkadher
2024-12-27 09:40:05 +04:00
parent 2e623d945e
commit cc5fd68adb
3 changed files with 23 additions and 3 deletions

View File

@ -6,10 +6,11 @@ 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, SubspaceEntity, TagEntity } from '../../space/entities';
import { ProductEntity } from '../../product/entities';
import { UserEntity } from '../../user/entities';
import { DeviceNotificationDto } from '../dtos';
@ -74,6 +75,11 @@ export class DeviceEntity extends AbstractEntity<DeviceDto> {
@OneToMany(() => SceneDeviceEntity, (sceneDevice) => sceneDevice.device, {})
sceneDevices: SceneDeviceEntity[];
@OneToOne(() => TagEntity, (tag) => tag.device, {
nullable: true,
})
tag: TagEntity;
constructor(partial: Partial<DeviceEntity>) {
super();
Object.assign(this, partial);
@ -102,6 +108,7 @@ export class DeviceNotificationEntity extends AbstractEntity<DeviceNotificationD
nullable: false,
})
user: UserEntity;
constructor(partial: Partial<DeviceNotificationEntity>) {
super();
Object.assign(this, partial);

View File

@ -1,10 +1,18 @@
import { Entity, Column, ManyToOne, JoinColumn, Unique } from 'typeorm';
import {
Entity,
Column,
ManyToOne,
JoinColumn,
Unique,
OneToOne,
} from 'typeorm';
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
import { ProductEntity } from '../../product/entities';
import { TagDto } from '../dtos';
import { TagModel } from '../../space-model/entities/tag-model.entity';
import { SpaceEntity } from './space.entity';
import { SubspaceEntity } from './subspace';
import { DeviceEntity } from '../../device/entities';
@Entity({ name: 'tag' })
@Unique(['tag', 'product', 'space', 'subspace'])
@ -36,4 +44,9 @@ export class TagEntity extends AbstractEntity<TagDto> {
default: false,
})
public disabled: boolean;
@OneToOne(() => DeviceEntity, (device) => device.tag, {
nullable: true,
})
device: DeviceEntity;
}

View File

@ -99,7 +99,7 @@ export class TagService {
queryRunner.manager.update(
this.tagRepository.target,
{ uuid: id },
{ disabled: true },
{ disabled: true, device: null },
),
),
);