diff --git a/src/pg/carnet-application/carnet-application.service.ts b/src/pg/carnet-application/carnet-application.service.ts index 56f2cc7..9a592cb 100644 --- a/src/pg/carnet-application/carnet-application.service.ts +++ b/src/pg/carnet-application/carnet-application.service.ts @@ -208,7 +208,7 @@ export class CarnetApplicationService { function escapePostgresString(str: string): string { if (str == null) return ''; - return `"${str.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`; + return `"${str.replace(/\\/g, '\\\\').replace(/"/g, '""')}"`; } function escapePostgresValue(val: any): string { @@ -219,16 +219,16 @@ export class CarnetApplicationService { const contactLiterals = body.P_GLTABLE.map(c => { const fields = [ - escapePostgresValue(c.ITEMNO), // integer - escapePostgresValue(c.ITEMDESCRIPTION), // varchar - escapePostgresValue(c.ITEMVALUE), // numeric - escapePostgresValue(c.NOOFPIECES), // integer - escapePostgresValue(c.ITEMWEIGHT), // numeric - escapePostgresValue(c.ITEMWEIGHTUOM), // varchar - escapePostgresValue(c.GOODSORIGINCOUNTRY), // varchar + escapePostgresValue(c.ITEMNO), + escapePostgresValue(c.ITEMDESCRIPTION), + escapePostgresValue(c.ITEMVALUE), + escapePostgresValue(c.NOOFPIECES), + escapePostgresValue(c.ITEMWEIGHT), + escapePostgresValue(c.ITEMWEIGHTUOM), + escapePostgresValue(c.GOODSORIGINCOUNTRY), ]; - return `(${fields.join(',')})`; // composite literal without outer double quotes + return `"(${fields.join(',')})"`; // ✅ double quotes for composite }); const pgArrayLiteral = `{${contactLiterals.join(',')}}`;