import { Column, Entity, JoinColumn, ManyToOne } from 'typeorm'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; import { SpaceEntity } from './space.entity'; import { Direction } from '@app/common/constants/direction.enum'; @Entity({ name: 'space-link' }) export class SpaceLinkEntity extends AbstractEntity { @ManyToOne(() => SpaceEntity, { nullable: false, onDelete: 'CASCADE' }) @JoinColumn({ name: 'start_space_id' }) public startSpace: SpaceEntity; @ManyToOne(() => SpaceEntity, { nullable: false, onDelete: 'CASCADE' }) @JoinColumn({ name: 'end_space_id' }) public endSpace: SpaceEntity; @Column({ nullable: false, default: false, }) public disabled: boolean; @Column({ nullable: false, enum: Object.values(Direction), }) direction: string; constructor(partial: Partial) { super(); Object.assign(this, partial); } }