feat: Implement comprehensive user authentication with JWT, social login, and password management.
This commit is contained in:
28
src/auth/dto/reset-password.dto.ts
Normal file
28
src/auth/dto/reset-password.dto.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { IsString, MinLength, MaxLength, Matches } from 'class-validator';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
export class ResetPasswordDto {
|
||||
@ApiProperty({
|
||||
example: 'abc123token',
|
||||
description: 'Password reset token from email',
|
||||
})
|
||||
@IsString()
|
||||
token: string;
|
||||
|
||||
@ApiProperty({
|
||||
example: 'NewPassword@123',
|
||||
description: 'New password (min 8 chars, 1 uppercase, 1 lowercase, 1 number, 1 special char)',
|
||||
minLength: 8,
|
||||
})
|
||||
@IsString()
|
||||
@MinLength(8, { message: 'Password must be at least 8 characters long' })
|
||||
@MaxLength(50, { message: 'Password must not exceed 50 characters' })
|
||||
@Matches(
|
||||
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/,
|
||||
{
|
||||
message:
|
||||
'Password must contain at least 1 uppercase, 1 lowercase, 1 number, and 1 special character',
|
||||
},
|
||||
)
|
||||
password: string;
|
||||
}
|
||||
Reference in New Issue
Block a user