33 lines
946 B
TypeScript
33 lines
946 B
TypeScript
import { Transform, Type } from 'class-transformer';
|
|
import { IsDate, IsEmpty, IsOptional, IsString, IsUUID, MaxLength, MinLength } from 'class-validator';
|
|
|
|
export class ChangeAssetContextDto {
|
|
@IsOptional()
|
|
@IsUUID('4')
|
|
parentId?: string | null;
|
|
|
|
@IsOptional()
|
|
@IsUUID('4')
|
|
operationalAreaId?: string | null;
|
|
|
|
/**
|
|
* Compatibilidad de contrato únicamente. F5/F6 separa la ubicación física
|
|
* del Inventario de la Operadora temporal del Área, por lo que este valor no
|
|
* puede modificarse desde un cambio de contexto del Inventario.
|
|
*/
|
|
@IsOptional()
|
|
@IsEmpty({ message: 'La Operadora se administra en la relación temporal del Área, no en el Inventario' })
|
|
operatorCompanyId?: string | null;
|
|
|
|
@IsOptional()
|
|
@Type(() => Date)
|
|
@IsDate()
|
|
effectiveAt?: Date;
|
|
|
|
@Transform(({ value }) => typeof value === 'string' ? value.trim() : value)
|
|
@IsString()
|
|
@MinLength(5)
|
|
@MaxLength(2000)
|
|
reason!: string;
|
|
}
|