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

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

    @ApiProperty({ example: 'User', required: false, type: 'string' })
    // @IsNotEmpty({ message: validationMessages.user.last_name_required  })
    last_name: string;

    @ApiProperty({ example: '+91', required: false, type: 'string' })
    // @IsNotEmpty({ message: validationMessages.user.country_code_required  })
    country_code: string;

    @ApiProperty({ example: '1234567890', required: false, type: 'string' })
    // @IsNotEmpty({ message: validationMessages.user.phone_number_required  })
    phone_number: string;

    @ApiProperty({ example: 'company name', required: false, type: 'string' })
    // @ValidateIf(o => o.role == 'brand')
    // @IsNotEmpty({ message: validationMessages.user.company_name_required })
    company_name: string;

    @ApiProperty({ example: 'Agency', required: false, type: 'string' })
    // @IsNotEmpty({ message: validationMessages.user.business_type_required  })
    business_type: string;

    @ApiProperty({ example: '11-50', required: false, type: 'string' })
    // @IsNotEmpty({ message: validationMessages.user.working_people_required  })
    working_people: string;

    @ApiProperty({ example: [], required: false, type: 'array' })
    // @ArrayUnique({ message : validationMessages.user.industries_notsame })
    // @IsArrayWithAtLeastOneNonNullElement({ message: validationMessages.user.selected_industries_required_atleastone })
    // @ArrayMinSize(1, { message: validationMessages.user.selected_industries_required_atleastone })
    // @IsArray()
    industries: string[];

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

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

    @ApiProperty({ example: 'IM developer', required: false, type: 'string' })
    about_me: string;

    @ApiProperty({ example: true, required: true, type: 'boolean' })
    is_offline_payment_allowed: boolean;

    offline_payment_allowed: string;

    currency: string;

    language_code: string;
}
