import { IsNotEmpty, IsIn, MaxLength, Matches, IsNumber, IsDecimal, IsEnum, IsOptional, IsArray } from 'class-validator';
import { validationMessages } from '../../../messages/validation-messages';
import { ApiProperty } from '@nestjs/swagger';
import { SocialType } from 'src/entities/social-media-posts.entity';
import { CampaignStatus } from 'src/entities/campaign.entity';

export class ReportDto
{
  @ApiProperty({ example: 15, required: true })
  @IsNotEmpty()
  days: number;
 
  @ApiProperty({ example: "MONTH|YEAR", required: true })
  @IsEnum(["MONTH","YEAR"],{each: true})
  type: string;

  @ApiProperty({ example: ["UUID"], required: true })
  @IsArray()
  campaign_ids: string[];

  @ApiProperty({ enum: SocialType, required: true })
  @IsArray()
  @IsEnum(SocialType,{each: true})
  platforms: string[];
  
  @ApiProperty({ enum: CampaignStatus, required: true })
  status: string;
}
