// ============================================================ // DTO fuer Custom Fields — Werte setzen (Bulk-Upsert) // ============================================================ import { IsArray, IsUUID, ValidateNested } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; import { Type } from 'class-transformer'; export class CustomFieldValueItemDto { @ApiProperty({ format: 'uuid', description: 'ID der Feld-Definition' }) @IsUUID() fieldDefId!: string; @ApiProperty({ description: 'Wert: string | number | boolean | string[] | null', oneOf: [ { type: 'string' }, { type: 'number' }, { type: 'boolean' }, { type: 'array', items: { type: 'string' } }, { nullable: true }, ], }) // HINWEIS: Keine class-validator Dekoration fuer value, da Union-Type. // Validierung gegen fieldType erfolgt im Service. value!: string | number | boolean | string[] | null; } export class SetCustomFieldValuesDto { @ApiProperty({ type: [CustomFieldValueItemDto], description: 'Alle Werte fuer eine Entity' }) @IsArray() @ValidateNested({ each: true }) @Type(() => CustomFieldValueItemDto) values!: CustomFieldValueItemDto[]; }