first commit
This commit is contained in:
25
apps/api-gateway/src/dto/security.dto.ts
Normal file
25
apps/api-gateway/src/dto/security.dto.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { IsOptional, IsString, Length, Matches } from 'class-validator';
|
||||
|
||||
export class PinDto {
|
||||
@ApiProperty({ description: 'PIN-код из 4-6 цифр', example: '1234' })
|
||||
@IsString({ message: 'PIN-код должен быть строкой' })
|
||||
@Length(4, 6, { message: 'PIN-код должен содержать от 4 до 6 символов' })
|
||||
@Matches(/^\d+$/, { message: 'PIN-код должен содержать только цифры' })
|
||||
pin!: string;
|
||||
}
|
||||
|
||||
export class OptionalPinDto {
|
||||
@ApiPropertyOptional({ description: 'PIN-код для подтверждения действия' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'PIN-код должен быть строкой' })
|
||||
@Length(4, 6, { message: 'PIN-код должен содержать от 4 до 6 символов' })
|
||||
@Matches(/^\d+$/, { message: 'PIN-код должен содержать только цифры' })
|
||||
pin?: string;
|
||||
}
|
||||
|
||||
export class VerifySecurityPinDto extends PinDto {
|
||||
@ApiProperty({ description: 'ID сессии, которую нужно разблокировать PIN-кодом' })
|
||||
@IsString({ message: 'ID сессии должен быть строкой' })
|
||||
sessionId!: string;
|
||||
}
|
||||
Reference in New Issue
Block a user