import {
  IsEnum,
  IsInt,
  IsOptional,
  IsString,
  Max,
  Min,
} from 'class-validator';
import { Type } from 'class-transformer';
import {
  CUSTOMER_STATUSES,
  CustomerStatus,
} from '../../common/constants/statuses';

export class CustomerFilterDto {
  @IsOptional()
  @IsEnum(CUSTOMER_STATUSES)
  status?: CustomerStatus;

  @IsOptional()
  @Type(() => Number)
  @IsInt()
  @Min(1)
  @Max(100)
  limit?: number;

  @IsOptional()
  @IsString()
  cursor?: string;
}
