import {
  IsString, IsEnum, IsOptional,
  IsBoolean, IsInt, MinLength
} from 'class-validator';
import { AnnouncementTarget } from '../entities/announcement.entity';

export class CreateAnnouncementDto {
  @IsString()
  @MinLength(3, { message: 'Le titre doit contenir au moins 3 caractères' })
  title: string;

  @IsString()
  @MinLength(10, { message: 'Le contenu doit contenir au moins 10 caractères' })
  content: string;

  @IsEnum(AnnouncementTarget)
  target: AnnouncementTarget;

  @IsOptional()
  @IsInt()
  target_id?: number;

  @IsOptional()
  @IsBoolean()
  is_published?: boolean;

  @IsOptional()
  @IsString()
  published_at?: string;
}