penisularhr / src / modules / activity-record / dtos / create-activity-record-setting.dto.ts
create-activity-record-setting.dto.ts
Raw
import { IncentiveName } from '../../../constants';
import {
  BooleanField,
  DateFieldOptional,
  EnumFieldOptional,
  NumberField,
  StringField,
  StringFieldOptional,
} from '../../../decorators/field.decorators';

export class CreateActivityRecordSettingDto {
  @StringField()
  name!: string;

  @StringField()
  activityGroup!: string;

  @StringField()
  sector!: string;

  @StringFieldOptional({ nullable: true })
  unit?: string;

  @NumberField()
  rate!: number;

  @BooleanField()
  isActive!: boolean;

  @BooleanField()
  shouldShowInOtfilter!: boolean;

  @DateFieldOptional({ nullable: true })
  activateUntil?: Date;

  @EnumFieldOptional(() => IncentiveName, { nullable: true })
  incentiveName?: IncentiveName;
}