penisularhr / src / modules / block / block.entity.ts
block.entity.ts
Raw
import { Column, Entity, OneToMany } from 'typeorm';

import { AbstractEntity } from '../../common/abstract.entity';
import { UseDto } from '../../decorators';
import { ActivityRecordEntity } from '../activity-record/activity-record.entity';
import { VehicleRecordEntity } from '../vehicle/vehicle-record.entity';
import { BlockDto } from './dtos/block.dto';

@Entity({ name: 'blocks' })
@UseDto(BlockDto)
export class BlockEntity extends AbstractEntity<BlockDto> {
  @Column({ unique: true })
  name!: string;

  @Column({ type: 'boolean', default: true })
  isActive!: boolean;

  @OneToMany(
    () => ActivityRecordEntity,
    (activityRecordEntity) => activityRecordEntity.block,
  )
  activityRecord!: ActivityRecordEntity[];

  @OneToMany(
    () => VehicleRecordEntity,
    (vehicleRecordEntity) => vehicleRecordEntity.block,
  )
  vehicleRecord!: VehicleRecordEntity[];
}