more fix and update
This commit is contained in:
@@ -150,6 +150,41 @@ export class VerifyPinDto {
|
||||
pin!: string;
|
||||
}
|
||||
|
||||
export class VerifyTotpLoginDto {
|
||||
@ApiProperty({ description: 'Временный токен после первичной аутентификации' })
|
||||
@IsString({ message: 'Токен подтверждения должен быть строкой' })
|
||||
@IsNotEmpty({ message: 'Передайте токен подтверждения' })
|
||||
totpChallengeToken!: string;
|
||||
|
||||
@ApiProperty({ description: '6-значный код из приложения-аутентификатора', example: '123456' })
|
||||
@IsString({ message: 'Код должен быть строкой' })
|
||||
@Length(6, 6, { message: 'Код должен содержать 6 цифр' })
|
||||
@Matches(/^\d+$/, { message: 'Код должен содержать только цифры' })
|
||||
code!: string;
|
||||
}
|
||||
|
||||
export class BeginTotpLoginDto {
|
||||
@ApiProperty({ description: 'Почта или телефон пользователя', example: 'user@example.com' })
|
||||
@IsString({ message: 'Получатель должен быть строкой' })
|
||||
@IsNotEmpty({ message: 'Укажите почту или телефон' })
|
||||
@Matches(EMAIL_OR_PHONE_PATTERN, { message: 'Укажите корректную почту или телефон в формате +79991234567' })
|
||||
recipient!: string;
|
||||
|
||||
@ApiProperty({ description: 'Уникальный отпечаток устройства' })
|
||||
@IsString({ message: 'Отпечаток устройства должен быть строкой' })
|
||||
fingerprint!: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Название устройства' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'Название устройства должно быть строкой' })
|
||||
deviceName?: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Тип устройства', example: 'WEB' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'Тип устройства должен быть строкой' })
|
||||
deviceType?: string;
|
||||
}
|
||||
|
||||
export class RefreshSessionDto {
|
||||
@ApiProperty({ description: 'Refresh token текущей сессии' })
|
||||
@IsString({ message: 'Refresh token должен быть строкой' })
|
||||
|
||||
@@ -97,6 +97,16 @@ export class QrSessionDto {
|
||||
@ApiProperty({ description: 'Название устройства', example: 'Chrome на Windows' })
|
||||
@IsString({ message: 'Название устройства должно быть строкой' })
|
||||
deviceName!: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Отпечаток устройства браузера' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'Отпечаток устройства должен быть строкой' })
|
||||
fingerprint?: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Тип устройства', example: 'WEB' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'Тип устройства должен быть строкой' })
|
||||
deviceType?: string;
|
||||
}
|
||||
|
||||
export class CreateFamilyGroupDto {
|
||||
@@ -127,10 +137,15 @@ export class AddFamilyMemberDto {
|
||||
}
|
||||
|
||||
export class SendFamilyInviteDto {
|
||||
@ApiProperty({ description: 'Email, телефон или логин приглашаемого' })
|
||||
@ApiPropertyOptional({ description: 'Email, телефон или логин (legacy)' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'Укажите контакт приглашаемого' })
|
||||
@IsNotEmpty({ message: 'Укажите контакт приглашаемого' })
|
||||
target!: string;
|
||||
target?: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'ID пользователя из результатов поиска' })
|
||||
@IsOptional()
|
||||
@IsString({ message: 'ID пользователя должен быть строкой' })
|
||||
inviteeUserId?: string;
|
||||
}
|
||||
|
||||
export class RespondFamilyInviteDto {
|
||||
|
||||
@@ -40,6 +40,11 @@ export class UpdateProfileDto {
|
||||
@IsOptional()
|
||||
@IsString({ message: 'Пол должен быть строкой' })
|
||||
gender?: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Дата рождения в формате YYYY-MM-DD', example: '1990-05-15' })
|
||||
@IsOptional()
|
||||
@Matches(/^\d{4}-\d{2}-\d{2}$/, { message: 'Укажите дату рождения в формате ГГГГ-ММ-ДД' })
|
||||
birthDate?: string;
|
||||
}
|
||||
|
||||
export class UpdateContactsDto {
|
||||
|
||||
@@ -23,3 +23,11 @@ export class VerifySecurityPinDto extends PinDto {
|
||||
@IsString({ message: 'ID сессии должен быть строкой' })
|
||||
sessionId!: string;
|
||||
}
|
||||
|
||||
export class TotpCodeDto {
|
||||
@ApiProperty({ description: '6-значный код из приложения-аутентификатора', example: '123456' })
|
||||
@IsString({ message: 'Код должен быть строкой' })
|
||||
@Length(6, 6, { message: 'Код должен содержать 6 цифр' })
|
||||
@Matches(/^\d+$/, { message: 'Код должен содержать только цифры' })
|
||||
code!: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user