import { IsString, IsEnum, IsOptional, IsBoolean, IsInt, MinLength } from 'class-validator';
import { AnnouncementTarget } from '../entities/announcement.entity';

export class UpdateAnnouncementDto {
  @IsOptional()
  @IsString()
  @MinLength(3)
  title?: string;

  @IsOptional()
  @IsString()
  @MinLength(10)
  content?: string;

  @IsOptional()
  @IsEnum(AnnouncementTarget)
  target?: AnnouncementTarget;

  @IsOptional()
  @IsInt()
  target_id?: number;

  @IsOptional()
  @IsBoolean()
  is_published?: boolean;

  @IsOptional()
  @IsString()
  published_at?: string;
}