import { IsString, IsOptional, IsInt, IsBoolean, MaxLength, Min, } from 'class-validator'; export class CreatePipelineStageDto { @IsString() @MaxLength(100) name: string; @IsInt() @Min(0) @IsOptional() position?: number; @IsString() @MaxLength(7) @IsOptional() color?: string; @IsBoolean() @IsOptional() isWon?: boolean; @IsBoolean() @IsOptional() isLost?: boolean; @IsBoolean() @IsOptional() isActive?: boolean; } export class UpdatePipelineStageDto { @IsString() @MaxLength(100) @IsOptional() name?: string; @IsInt() @Min(0) @IsOptional() position?: number; @IsString() @MaxLength(7) @IsOptional() color?: string; @IsBoolean() @IsOptional() isWon?: boolean; @IsBoolean() @IsOptional() isLost?: boolean; @IsBoolean() @IsOptional() isActive?: boolean; } export class ReorderStagesDto { @IsString({ each: true }) stageIds: string[]; } export class PipelineStageResponseDto { id: string; tenantId: string; name: string; position: number; color: string; isWon: boolean; isLost: boolean; isActive: boolean; createdAt: Date; updatedAt: Date; opportunityCount?: number; totalAmount?: number; }