import { IsString, IsOptional, MaxLength, IsObject } from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';

export class CreateProfileDto {
  @ApiProperty({ example: 'Standard Monthly Wipe', maxLength: 100 })
  @IsString()
  @MaxLength(100)
  profile_name: string;

  @ApiPropertyOptional({ example: 'Complete wipe with all plugins reset' })
  @IsOptional()
  @IsString()
  description?: string;

  @ApiPropertyOptional({ example: { backup: true, notify_players: true } })
  @IsOptional()
  @IsObject()
  pre_wipe_config?: Record<string, any>;

  @ApiPropertyOptional({ example: { start_server: true, send_discord_notification: true } })
  @IsOptional()
  @IsObject()
  post_wipe_config?: Record<string, any>;
}
