import { ApiProperty, PickType } from '@nestjs/swagger'; import { IsNumberString, MaxLength, MinLength } from 'class-validator'; import { i18nValidationMessage as i18n } from 'nestjs-i18n'; import { DEFAULT_OTP_LENGTH } from '~/common/modules/otp/constants'; import { ForgetPasswordRequestDto } from './forget-password.request.dto'; export class VerifyForgetPasswordOtpRequestDto extends PickType(ForgetPasswordRequestDto, [ 'countryCode', 'phoneNumber', ]) { @ApiProperty({ example: '111111' }) @IsNumberString( { no_symbols: true }, { message: i18n('validation.IsNumberString', { path: 'general', property: 'auth.otp' }) }, ) @MaxLength(DEFAULT_OTP_LENGTH, { message: i18n('validation.MaxLength', { path: 'general', property: 'auth.otp', length: DEFAULT_OTP_LENGTH }), }) @MinLength(DEFAULT_OTP_LENGTH, { message: i18n('validation.MinLength', { path: 'general', property: 'auth.otp', length: DEFAULT_OTP_LENGTH }), }) otp!: string; }