import { PartialType } from '@nestjs/mapped-types';
import { CreatePostDto } from './create-post.dto';
import { Transform } from 'class-transformer';
import { IsIn, IsOptional } from 'class-validator';

export class UpdatePostDto extends PartialType(CreatePostDto) {
  @IsOptional()
  @Transform(({ value }) => value.trim().replace(/\s+/g, ' '))
  @IsIn(['Achievements', 'News'], {
    message: 'Type should be either "Achievements" or "News".',
  })
  title: string;

  @IsOptional()
  @Transform(({ value }) => value.trim().replace(/\s+/g, ' '))
  description: string;

  @IsOptional()
  user_id: string;

  @IsOptional()
  status: number;
}
