relations added

This commit is contained in:
VirajBrainvire
2024-04-18 12:03:33 +05:30
parent 2a4fe77b0b
commit 871544f007
2 changed files with 30 additions and 2 deletions

View File

@ -1,6 +1,8 @@
import { Column, Entity } from 'typeorm';
import { Column, Entity, JoinColumn, ManyToOne } from 'typeorm';
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
import { DeviceUserTypeDto } from '../dtos/device-user-type.dto';
import { DeviceEntity } from './device.entity';
import { PermissionTypeEntity } from '../../permission/entities';
@Entity({ name: 'device-user-permission' })
export class DeviceUserPermissionEntity extends AbstractEntity<DeviceUserTypeDto> {
@ -19,6 +21,20 @@ export class DeviceUserPermissionEntity extends AbstractEntity<DeviceUserTypeDto
})
public permissionTypeUuid: string;
@ManyToOne(() => DeviceEntity, {
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
})
@JoinColumn({ name: 'device_uuid', referencedColumnName: 'uuid' })
device: DeviceEntity;
@ManyToOne(() => PermissionTypeEntity, {
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
})
@JoinColumn({ name: 'permission_type_uuid', referencedColumnName: 'uuid' })
type: PermissionTypeEntity;
constructor(partial: Partial<DeviceUserPermissionEntity>) {
super();
Object.assign(this, partial);

View File

@ -1,6 +1,7 @@
import { Column, Entity } from 'typeorm';
import { Column, Entity, OneToMany } from 'typeorm';
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
import { DeviceDto } from '../dtos/device.dto';
import { DeviceUserPermissionEntity } from './device-user-type.entity';
@Entity({ name: 'device' })
export class DeviceEntity extends AbstractEntity<DeviceDto> {
@ -25,6 +26,17 @@ export class DeviceEntity extends AbstractEntity<DeviceDto> {
})
isActive: true;
@OneToMany(
() => DeviceUserPermissionEntity,
(permission) => permission.device,
{
nullable: true,
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
},
)
permission: DeviceUserPermissionEntity[];
constructor(partial: Partial<DeviceEntity>) {
super();
Object.assign(this, partial);