penisularhr / src / modules / activity-record / dtos / update-activity-record-setting.dto.ts
update-activity-record-setting.dto.ts
Raw
import { IncentiveName } from '../../../constants';
import {
  BooleanFieldOptional,
  DateFieldOptional,
  EnumFieldOptional,
  NumberFieldOptional,
  StringFieldOptional,
} from '../../../decorators/field.decorators';

export class UpdateActivityRecordSettingDto {
  @StringFieldOptional()
  name?: string;

  @StringFieldOptional()
  activityGroup?: string;

  @StringFieldOptional()
  sector?: string;

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

  @NumberFieldOptional()
  rate?: number;

  @BooleanFieldOptional()
  isActive?: boolean;

  @BooleanFieldOptional()
  shouldShowInOtfilter?: boolean;

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

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