From fcc6f8cc202418a99b65de264c3d02ffb8d17420 Mon Sep 17 00:00:00 2001 From: AI Assistant Date: Mon, 23 Mar 2026 03:51:10 +0200 Subject: [PATCH] fix(ancpi): strip diacritics from MinIO metadata headers (ASCII only) --- src/modules/parcel-sync/services/epay-storage.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/modules/parcel-sync/services/epay-storage.ts b/src/modules/parcel-sync/services/epay-storage.ts index 7c5a8b4..19159f6 100644 --- a/src/modules/parcel-sync/services/epay-storage.ts +++ b/src/modules/parcel-sync/services/epay-storage.ts @@ -89,10 +89,17 @@ export async function storeCfExtract( // Store in subfolder per cadastral number const path = `parcele/${nrCadastral}/${fileName}`; - await minioClient.putObject(BUCKET, path, pdfBuffer, pdfBuffer.length, { + // Strip diacritics from metadata values — MinIO headers only accept ASCII + const safeMetadata: Record = { "Content-Type": "application/pdf", - ...metadata, - }); + }; + for (const [key, value] of Object.entries(metadata)) { + safeMetadata[key] = value + .normalize("NFD") + .replace(/[\u0300-\u036f]/g, ""); + } + + await minioClient.putObject(BUCKET, path, pdfBuffer, pdfBuffer.length, safeMetadata); console.log( `[epay-storage] Stored: ${path} (${pdfBuffer.length} bytes)`,