diff --git a/api-v3/src/administration/users/dto/create-user.dto.ts b/api-v3/src/administration/users/dto/create-user.dto.ts index dbc3917..fa5728f 100644 --- a/api-v3/src/administration/users/dto/create-user.dto.ts +++ b/api-v3/src/administration/users/dto/create-user.dto.ts @@ -12,6 +12,9 @@ import { MinLength, } from 'class-validator'; +const optionalText = ({ value }: { value: unknown }) => + typeof value === 'string' && value.trim() ? value.trim() : null; + export class CreateUserDto { @Transform(({ value }) => typeof value === 'string' ? value.trim().toLowerCase() : value, @@ -23,13 +26,38 @@ export class CreateUserDto { username!: string; @Transform(({ value }) => - typeof value === 'string' ? value.trim().toLowerCase() : value, + typeof value === 'string' && value.trim() ? value.trim().toLowerCase() : null, ) @IsOptional() @IsEmail() @MaxLength(320) email?: string | null; + @Transform(({ value }) => + typeof value === 'string' && value.trim() ? value.replace(/\D/g, '') : null, + ) + @IsOptional() + @Matches(/^\d{7,11}$/) + dni?: string | null; + + @Transform(optionalText) + @IsOptional() + @IsString() + @MaxLength(40) + phone?: string | null; + + @Transform(optionalText) + @IsOptional() + @IsString() + @MaxLength(160) + jobTitle?: string | null; + + @Transform(optionalText) + @IsOptional() + @IsString() + @MaxLength(80) + employeeNumber?: string | null; + @IsString() @MinLength(12) @MaxLength(128)