import { ApiPropertyOptional } from '@nestjs/swagger'; import { IsDateString, IsEnum, IsOptional, IsString } from 'class-validator'; import { TaskPriority, TaskRelatedType, TaskStatus, } from '../../../generated/prisma'; import { IsOptionalNotNull } from '../../common/validation/is-optional-not-null'; export class UpdateTaskDto { @ApiPropertyOptional() @IsOptionalNotNull() @IsString() title?: string; @ApiPropertyOptional() @IsOptional() @IsString() description?: string; @ApiPropertyOptional({ enum: TaskPriority }) @IsOptionalNotNull() @IsEnum(TaskPriority) priority?: TaskPriority; @ApiPropertyOptional() @IsOptional() @IsDateString() dueDate?: string; @ApiPropertyOptional() @IsOptional() @IsString() assignedUserId?: string; @ApiPropertyOptional({ enum: TaskStatus }) @IsOptionalNotNull() @IsEnum(TaskStatus) status?: TaskStatus; @ApiPropertyOptional({ enum: TaskRelatedType }) @IsOptionalNotNull() @IsEnum(TaskRelatedType) relatedType?: TaskRelatedType; @ApiPropertyOptional() @IsOptional() @IsString() relatedId?: string; }