import { IsNotEmpty, IsEnum } from 'class-validator';
import { validationMessages } from '../../../messages/validation-messages';
import { ApiProperty } from '@nestjs/swagger';
import { SocialType } from 'src/entities/social-medias.entity';

export class SocialMediasDto {

    @ApiProperty({ example: 'youtube', required: true, enum: SocialType, enumName: 'SocialType' })
    @IsNotEmpty({ message: validationMessages.influencer.social_medias.social_type_required })
    @IsEnum(SocialType, { message: validationMessages.influencer.social_medias.invalid_social_type })
    social_media_type: SocialType;

    @ApiProperty({ example: 'askjdlaskdjaoidjw9unlkamslksidl', required: true, type: 'string' })
    @IsNotEmpty({ message: validationMessages.influencer.social_medias.access_token_required })
    access_token: string;

    @ApiProperty({ example: 'askjdlaskdjaoidjw9unlkamslksidl', required: true, type: 'string' })
    @IsNotEmpty({ message: validationMessages.influencer.social_medias.regresh_token_required })
    refresh_token: string;

    @ApiProperty({ example: '4542314858428', required: true, type: 'string' })
    @IsNotEmpty({ message: validationMessages.influencer.social_medias.social_id_required })
    social_id: string;

    @ApiProperty({ example: 'social user name', required: true, type: 'string' })
    @IsNotEmpty({ message: validationMessages.influencer.social_medias.social_user_name_required })
    social_user_name: string;

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

    missing_permissions?: string[];

    id?: string;

    user_switch_account?: boolean;

}
