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

export class CreateProgramTemplateDto {
  @ApiProperty({ description: 'Program type ID', example: 1 })
  @IsInt()
  @IsNotEmpty()
  programTypeId: number;

  @ApiProperty({ description: 'Template name', example: 'HDB MSD 2025 Template' })
  @IsString()
  @IsNotEmpty()
  @MaxLength(255)
  name: string;

  @ApiProperty({ description: 'Template description', required: false })
  @IsOptional()
  @IsString()
  description?: string;

  @ApiProperty({ description: 'User ID who created this template', required: false })
  @IsOptional()
  @IsInt()
  createdBy?: number;
}
