32 lines
846 B
TypeScript
32 lines
846 B
TypeScript
// backend/src/modules/auth/dto/login.dto.ts
|
|
import { IsBoolean, IsEmail, IsOptional, IsString, MinLength } from 'class-validator';
|
|
import { ApiProperty } from '@nestjs/swagger';
|
|
|
|
export class LoginDto {
|
|
@ApiProperty({
|
|
description: 'User email address',
|
|
example: 'user@example.com',
|
|
required: true,
|
|
})
|
|
@IsEmail({}, { message: 'Please provide a valid email address' })
|
|
email: string;
|
|
|
|
@ApiProperty({
|
|
description: 'User password (min 6 characters)',
|
|
example: 'password123',
|
|
required: true,
|
|
minLength: 6,
|
|
})
|
|
@IsString()
|
|
@MinLength(6, { message: 'Password must be at least 6 characters long' })
|
|
password: string;
|
|
|
|
@ApiProperty({
|
|
description: 'Keep the user signed in for 30 days on this device',
|
|
required: false,
|
|
default: false,
|
|
})
|
|
@IsOptional()
|
|
@IsBoolean()
|
|
rememberMe?: boolean;
|
|
} |