url
This commit is contained in:
@@ -174,7 +174,8 @@ export async function POST(req: NextRequest) {
|
|||||||
console.log("🔍 Appel à Presidio Analyzer...");
|
console.log("🔍 Appel à Presidio Analyzer...");
|
||||||
|
|
||||||
// ✅ Définir l'URL AVANT de l'utiliser
|
// ✅ 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 {
|
try {
|
||||||
const analyzeResponse = await fetch(presidioAnalyzerUrl, {
|
const analyzeResponse = await fetch(presidioAnalyzerUrl, {
|
||||||
@@ -211,7 +212,8 @@ export async function POST(req: NextRequest) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
console.log("🔍 Appel à Presidio Anonymizer...");
|
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, {
|
const anonymizeResponse = await fetch(presidioAnonymizerUrl, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -241,58 +243,74 @@ export async function POST(req: NextRequest) {
|
|||||||
end: number;
|
end: number;
|
||||||
score: number;
|
score: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Puis modifier la fonction
|
// Puis modifier la fonction
|
||||||
const extractReplacementValues = (originalText: string, anonymizedText: string, analyzerResults: AnalyzerResult[]) => {
|
const extractReplacementValues = (
|
||||||
|
originalText: string,
|
||||||
|
anonymizedText: string,
|
||||||
|
analyzerResults: AnalyzerResult[]
|
||||||
|
) => {
|
||||||
const replacementMap: Record<string, string> = {};
|
const replacementMap: Record<string, string> = {};
|
||||||
|
|
||||||
// Créer une copie du texte anonymisé pour le traitement
|
// Créer une copie du texte anonymisé pour le traitement
|
||||||
const workingText = anonymizedText; // ✅ Changé de 'let' à 'const'
|
const workingText = anonymizedText; // ✅ Changé de 'let' à 'const'
|
||||||
// Supprimer workingOriginal car elle n'est jamais utilisée
|
// 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)
|
// 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) {
|
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
|
// Extraire les parties avant et après l'entité dans le texte original
|
||||||
const beforeOriginal = originalText.substring(0, result.start);
|
const beforeOriginal = originalText.substring(0, result.start);
|
||||||
const afterOriginal = originalText.substring(result.end);
|
const afterOriginal = originalText.substring(result.end);
|
||||||
|
|
||||||
// Trouver les mêmes parties dans le texte anonymisé
|
// Trouver les mêmes parties dans le texte anonymisé
|
||||||
const beforeIndex = workingText.indexOf(beforeOriginal);
|
const beforeIndex = workingText.indexOf(beforeOriginal);
|
||||||
const afterIndex = workingText.lastIndexOf(afterOriginal);
|
const afterIndex = workingText.lastIndexOf(afterOriginal);
|
||||||
|
|
||||||
if (beforeIndex !== -1 && afterIndex !== -1) {
|
if (beforeIndex !== -1 && afterIndex !== -1) {
|
||||||
// Extraire la valeur de remplacement entre ces deux parties
|
// Extraire la valeur de remplacement entre ces deux parties
|
||||||
const startPos = beforeIndex + beforeOriginal.length;
|
const startPos = beforeIndex + beforeOriginal.length;
|
||||||
const endPos = afterIndex;
|
const endPos = afterIndex;
|
||||||
const replacementValue = workingText.substring(startPos, endPos);
|
const replacementValue = workingText.substring(startPos, endPos);
|
||||||
|
|
||||||
// Vérifier que c'est bien un remplacement (commence par [ et finit par ])
|
// 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;
|
replacementMap[originalValue] = replacementValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return replacementMap;
|
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
|
// 🔍 AJOUT D'UN LOG POUR DÉBOGUER
|
||||||
console.log("🔧 Valeurs de remplacement extraites:", replacementValues);
|
console.log("🔧 Valeurs de remplacement extraites:", replacementValues);
|
||||||
|
|
||||||
const result = {
|
const result = {
|
||||||
text: fileContent,
|
text: fileContent,
|
||||||
anonymizedText: anonymizerResult.anonymized_text,
|
anonymizedText: anonymizerResult.anonymized_text,
|
||||||
piiCount: analyzerResults.length,
|
piiCount: analyzerResults.length,
|
||||||
analyzerResults: analyzerResults,
|
analyzerResults: analyzerResults,
|
||||||
replacementValues: replacementValues // Utiliser les nouvelles valeurs
|
replacementValues: replacementValues, // Utiliser les nouvelles valeurs
|
||||||
};
|
};
|
||||||
|
|
||||||
return NextResponse.json(result, { status: 200 });
|
return NextResponse.json(result, { status: 200 });
|
||||||
} catch (presidioError) {
|
} catch (presidioError) {
|
||||||
console.error("❌ Erreur Presidio:", presidioError);
|
console.error("❌ Erreur Presidio:", presidioError);
|
||||||
|
|||||||
Reference in New Issue
Block a user