penisularhr / src / modules / report / dtos / get-report-by-employee.dto.ts
get-report-by-employee.dto.ts
Raw
import { IncentiveName, Order } from '../../../constants';
import {
  BooleanFieldOptional,
  EnumFieldOptional,
  NumberFieldOptional,
  StringFieldOptional,
} from '../../../decorators/field.decorators';

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

  @StringFieldOptional()
  origin?: string;

  @StringFieldOptional()
  referralBy?: string;

  @BooleanFieldOptional()
  referralFeePaid?: boolean;

  @BooleanFieldOptional()
  isActive?: boolean;

  @NumberFieldOptional()
  year?: number;

  @NumberFieldOptional({ min: 1, max: 12 })
  monthFrom?: number;

  @NumberFieldOptional({ min: 1, max: 12 })
  monthTo?: number;

  @StringFieldOptional()
  sectorName?: string;

  @EnumFieldOptional(() => IncentiveName)
  incentiveName?: IncentiveName;

  @EnumFieldOptional(() => Order)
  order?: Order = Order.ASC;
}