This repository has been archived on 2026-04-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Inventory_backend/src/shared/dto/composant.dto.ts
2025-09-23 15:05:33 +02:00

75 lines
1.4 KiB
TypeScript

import { IsString, IsOptional, IsNumber, ValidateIf } from 'class-validator';
import { Transform } from 'class-transformer';
export class CreateComposantDto {
@IsString()
name: string;
@ValidateIf((dto) => !dto.parentComposantId)
@IsString()
machineId?: string;
@ValidateIf((dto) => !dto.machineId)
@IsString()
parentComposantId?: string;
@IsOptional()
@IsString()
reference?: string;
@IsOptional()
@IsString()
constructeurId?: string;
@IsOptional()
@Transform(({ value }) => (value === '' ? null : value))
@IsNumber({}, { message: 'prix must be a valid number' })
prix?: number | null;
@IsOptional()
@IsString()
emplacement?: string;
@IsOptional()
@IsString()
typeComposantId?: string;
@IsString()
typeMachineComponentRequirementId: string;
@IsOptional()
@IsString()
composantModelId?: string;
}
export class UpdateComposantDto {
@IsOptional()
@IsString()
name?: string;
@IsOptional()
@IsString()
reference?: string;
@IsOptional()
@IsString()
constructeurId?: string;
@IsOptional()
@Transform(({ value }) => (value === '' ? null : value))
@IsNumber({}, { message: 'prix must be a valid number' })
prix?: number | null;
@IsOptional()
@IsString()
emplacement?: string;
@IsOptional()
@IsString()
typeComposantId?: string;
@IsOptional()
@IsString()
composantModelId?: string;
}