import { IsEmail, IsString, MinLength, IsOptional, IsEnum } from 'class-validator'; import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { Role } from '@prisma/client'; export class RegistroDto { @ApiProperty({ example: 'usuario@duorigin.com', description: 'Email do usuário' }) @IsEmail({}, { message: 'Email inválido' }) email: string; @ApiProperty({ example: 'Senha123!', description: 'Senha do usuário' }) @IsString() @MinLength(6, { message: 'Senha deve ter no mínimo 6 caracteres' }) password: string; @ApiProperty({ example: 'João Silva', description: 'Nome completo do usuário' }) @IsString() @MinLength(2, { message: 'Nome deve ter no mínimo 2 caracteres' }) nome: string; @ApiPropertyOptional({ enum: Role, example: 'OPERADOR', description: 'Papel do usuário' }) @IsOptional() @IsEnum(Role) role?: Role; }