penisularhr / src / modules / vehicle / dtos / vehicle-record.dto.ts
vehicle-record.dto.ts
Raw
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
import { AbstractDto } from '../../../common/dto/abstract.dto';
import { DateField, NumberField, StringField } from '../../../decorators';
import { type VehicleRecordEntity } from '../vehicle-record.entity';

export class VehicleRecordDto extends AbstractDto {
  @DateField()
  date!: Date;

  @NumberField()
  hour!: number;

  @StringField()
  blockName!: string;

  @StringField()
  vehicleName!: string;

  @StringField()
  activityName!: string;

  constructor(vehicleRecord: VehicleRecordEntity) {
    super(vehicleRecord);
    this.date = vehicleRecord.date;
    this.hour = vehicleRecord.hour;
    this.blockName = vehicleRecord.block && vehicleRecord.block.name;
    this.vehicleName =
      vehicleRecord.vehicleName && vehicleRecord.vehicleName.name;
    this.activityName =
      vehicleRecord.activitySetting && vehicleRecord.activitySetting.name;
  }
}