import { IsNotEmpty, ValidateIf, IsIn } from 'class-validator';
import { validationMessages } from '../../../messages/validation-messages';
import { ApiProperty } from '@nestjs/swagger';


export class SocialLoginDto {
    @ApiProperty({ example: 'Test', required: true, type: 'string' })
    @IsNotEmpty({ message: validationMessages.user.first_name_required })
    first_name: string;

    @ApiProperty({ example: 'User', required: true, type: 'string' })
    last_name: string;

    @ApiProperty({ example: 'test@yopmail.com', required: true })
    @IsNotEmpty({ message: validationMessages.user.email_required })
    email: string;

    @ApiProperty({ example: '123456789', required: true })
    @IsNotEmpty({ message: validationMessages.user.social_id_required })
    social_id: string;

    @ApiProperty({ example: 'google', enum: ['google'], required: true })
    @IsIn(['google'], { message: validationMessages.user.type_invalid })
    @IsNotEmpty({ message: validationMessages.user.type_required })
    social_type: string;

    @ApiProperty({ example: 'en', required: false, type: 'string' })
    language_code: string;

    is_link: boolean;
}
