forgot password in login page and account info implemented, sms.ir service works fine with sandbox key.

This commit is contained in:
2026-07-04 00:01:58 +03:30
parent 2f95559087
commit 3f7364dbf0
26 changed files with 1000 additions and 38 deletions

View File

@@ -0,0 +1,11 @@
import { IsOptional, IsString, MinLength } from 'class-validator';
export class ChangePasswordDto {
@IsOptional()
@IsString()
currentPassword?: string;
@IsString()
@MinLength(8)
newPassword: string;
}

View File

@@ -0,0 +1,22 @@
import { IsString, Matches, Length } from 'class-validator';
import { isValidIranMobile } from '../../../common/utils/mobile.util';
export class ForgotPasswordSendCodeDto {
@IsString()
@Matches(/^[\d+\s()-]+$/, { message: 'Mobile number format is invalid' })
mobile: string;
static validateMobile(mobile: string): boolean {
return isValidIranMobile(mobile);
}
}
export class ForgotPasswordVerifyDto {
@IsString()
@Matches(/^[\d+\s()-]+$/, { message: 'Mobile number format is invalid' })
mobile: string;
@IsString()
@Length(5, 6)
code: string;
}

View File

@@ -1,9 +1,14 @@
import { IsEmail, IsString, MinLength, IsEnum } from 'class-validator';
import { IsEmail, IsString, MinLength, IsEnum, Matches } from 'class-validator';
import { isValidIranMobile } from '../../../common/utils/mobile.util';
export class RegisterDto {
@IsEmail()
email: string;
@IsString()
@Matches(/^[\d+\s()-]+$/, { message: 'Mobile number format is invalid' })
mobile: string;
@IsString()
@MinLength(8)
password: string;
@@ -19,4 +24,8 @@ export class RegisterDto {
@IsEnum(['CLINIC', 'LAB'])
organizationType: 'CLINIC' | 'LAB';
static isValidMobile(mobile: string): boolean {
return isValidIranMobile(mobile);
}
}