F4: require explicit Act for every field finding

This commit is contained in:
2026-09-07 21:17:46 -03:00
parent a836c7535a
commit c3c798baed
@@ -18,12 +18,11 @@ const optionalText = ({ value }: { value: unknown }) =>
/** /**
* Hallazgo capturado desde la APK sobre un Inventario ya seleccionado. * Hallazgo capturado desde la APK sobre un Inventario ya seleccionado.
* El assetId se toma de la URL para evitar inconsistencias entre pantalla y payload. * El assetId se toma de la URL para evitar inconsistencias entre pantalla y payload.
* `actId` queda opcional sólo para compatibilidad con Android 0.11.0; F3.2 siempre lo envía. * El Acta es obligatoria: nunca se infiere ni se adivina en backend.
*/ */
export class CreateFieldFindingDto { export class CreateFieldFindingDto {
@IsOptional()
@IsUUID('4') @IsUUID('4')
actId?: string; actId!: string;
@IsOptional() @IsOptional()
@Transform(optionalText) @Transform(optionalText)
@@ -43,6 +42,7 @@ export class CreateFieldFindingDto {
@MaxLength(12000) @MaxLength(12000)
customLegalBasis?: string | null; customLegalBasis?: string | null;
/** Descripción libre escrita por el inspector. Nunca se reemplaza por el catálogo. */
@Transform(({ value }) => (typeof value === 'string' ? value.trim() : value)) @Transform(({ value }) => (typeof value === 'string' ? value.trim() : value))
@IsString() @IsString()
@MinLength(1) @MinLength(1)