From 88a94c46fec887fc7274f0d85ca4bc4c2004eac2 Mon Sep 17 00:00:00 2001 From: nBiqoz Date: Sun, 7 Sep 2025 12:47:06 +0200 Subject: [PATCH] url --- app/api/process-document/route.ts | 60 ++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/app/api/process-document/route.ts b/app/api/process-document/route.ts index 9f58da9..fbf5756 100644 --- a/app/api/process-document/route.ts +++ b/app/api/process-document/route.ts @@ -174,7 +174,8 @@ export async function POST(req: NextRequest) { console.log("🔍 Appel Ă  Presidio Analyzer..."); // ✅ DĂ©finir l'URL AVANT de l'utiliser - const presidioAnalyzerUrl = "http://localhost:5001/analyze"; + const presidioAnalyzerUrl = + "http://analyzer.151.80.20.211.sslip.io/analyze"; try { const analyzeResponse = await fetch(presidioAnalyzerUrl, { @@ -211,7 +212,8 @@ export async function POST(req: NextRequest) { }; console.log("🔍 Appel Ă  Presidio Anonymizer..."); - const presidioAnonymizerUrl = "http://localhost:5001/anonymize"; + const presidioAnonymizerUrl = + "http://analyzer.151.80.20.211.sslip.io/anonymize"; const anonymizeResponse = await fetch(presidioAnonymizerUrl, { method: "POST", @@ -241,58 +243,74 @@ export async function POST(req: NextRequest) { end: number; score: number; } - + // Puis modifier la fonction - const extractReplacementValues = (originalText: string, anonymizedText: string, analyzerResults: AnalyzerResult[]) => { + const extractReplacementValues = ( + originalText: string, + anonymizedText: string, + analyzerResults: AnalyzerResult[] + ) => { const replacementMap: Record = {}; - + // CrĂ©er une copie du texte anonymisĂ© pour le traitement const workingText = anonymizedText; // ✅ ChangĂ© de 'let' Ă  'const' // Supprimer workingOriginal car elle n'est jamais utilisĂ©e - + // Trier les rĂ©sultats par position (du plus grand au plus petit pour Ă©viter les dĂ©calages) - const sortedResults = [...analyzerResults].sort((a, b) => b.start - a.start); - + const sortedResults = [...analyzerResults].sort( + (a, b) => b.start - a.start + ); + for (const result of sortedResults) { - const originalValue = originalText.substring(result.start, result.end); - + const originalValue = originalText.substring( + result.start, + result.end + ); + // Extraire les parties avant et aprĂšs l'entitĂ© dans le texte original const beforeOriginal = originalText.substring(0, result.start); const afterOriginal = originalText.substring(result.end); - + // Trouver les mĂȘmes parties dans le texte anonymisĂ© const beforeIndex = workingText.indexOf(beforeOriginal); const afterIndex = workingText.lastIndexOf(afterOriginal); - + if (beforeIndex !== -1 && afterIndex !== -1) { // Extraire la valeur de remplacement entre ces deux parties const startPos = beforeIndex + beforeOriginal.length; const endPos = afterIndex; const replacementValue = workingText.substring(startPos, endPos); - + // VĂ©rifier que c'est bien un remplacement (commence par [ et finit par ]) - if (replacementValue.startsWith('[') && replacementValue.endsWith(']')) { + if ( + replacementValue.startsWith("[") && + replacementValue.endsWith("]") + ) { replacementMap[originalValue] = replacementValue; } } } - + return replacementMap; }; - - const replacementValues = extractReplacementValues(fileContent, anonymizerResult.anonymized_text, analyzerResults); - + + const replacementValues = extractReplacementValues( + fileContent, + anonymizerResult.anonymized_text, + analyzerResults + ); + // 🔍 AJOUT D'UN LOG POUR DÉBOGUER console.log("🔧 Valeurs de remplacement extraites:", replacementValues); - + const result = { text: fileContent, anonymizedText: anonymizerResult.anonymized_text, piiCount: analyzerResults.length, analyzerResults: analyzerResults, - replacementValues: replacementValues // Utiliser les nouvelles valeurs + replacementValues: replacementValues, // Utiliser les nouvelles valeurs }; - + return NextResponse.json(result, { status: 200 }); } catch (presidioError) { console.error("❌ Erreur Presidio:", presidioError);