import { ApiProperty } from '@nestjs/swagger';
import { IsIn, IsNotEmpty, IsOptional } from 'class-validator';
import { AnnouncementSections } from '../entities/announcement.entity';

export class CreateAnnouncementDto {
  @ApiProperty({ required: true })
  @IsNotEmpty()
  content: string;

  @ApiProperty({ required: true })
  @IsNotEmpty()
  isPublished: boolean;

  @ApiProperty({ enum: AnnouncementSections, required: false })
  @IsOptional()
  @IsIn(Object.values(AnnouncementSections))
  section?: AnnouncementSections;

  @ApiProperty({ required: false })
  @IsOptional()
  link?: string;

  @ApiProperty({ required: false })
  @IsOptional()
  startDate?: string | null;

  @ApiProperty({ required: false })
  @IsOptional()
  endDate?: string | null;
}
