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

export class CreateAiReportDto {
    @ApiProperty({ example: 'Find lifestyle influencers who match our brand tone and can drive conversions.', required: true })
    @IsNotEmpty({ message: validationMessages.campaign.ai_report_objective_required })
    @IsString()
    @MaxLength(5000)
    objective: string;

    @ApiPropertyOptional({ example: 'Prefer English-speaking creators with strong engagement.' })
    @IsOptional()
    @IsString()
    @MaxLength(5000)
    remark?: string;
}

export class AiReportIdParamDto {
    @ApiProperty({ example: 'uuid' })
    @IsNotEmpty({ message: validationMessages.campaign.campaign_required })
    @IsString()
    campaign_id: string;

    @ApiProperty({ example: 'uuid' })
    @IsNotEmpty({ message: validationMessages.campaign.ai_report_id_required })
    @IsString()
    report_id: string;
}
