diff --git a/admin-compliance/app/api/sdk/v1/agent/consent-test/route.ts b/admin-compliance/app/api/sdk/v1/agent/consent-test/route.ts index 4440458..92b7ed7 100644 --- a/admin-compliance/app/api/sdk/v1/agent/consent-test/route.ts +++ b/admin-compliance/app/api/sdk/v1/agent/consent-test/route.ts @@ -1,21 +1,105 @@ /** * Consent Test API Proxy - * POST /api/sdk/v1/agent/consent-test → consent-tester:8094/scan + * POST /api/sdk/v1/agent/consent-test → consent-tester:8094/scan → email via backend */ import { NextRequest, NextResponse } from 'next/server' const CONSENT_TESTER_URL = process.env.CONSENT_TESTER_URL || 'http://bp-compliance-consent-tester:8094' +const BACKEND_URL = process.env.BACKEND_API_URL || 'http://backend-compliance:8002' + +interface Violation { service: string; severity: string; text: string; legal_ref: string } + +function buildEmailHtml(data: any): string { + const url = data.url || '' + const banner = data.banner_detected ? data.banner_provider : 'Nicht erkannt' + const phases = data.phases || {} + const summary = data.summary || {} + + const sev = (s: string) => s === 'CRITICAL' + ? 'KRITISCH' + : 'HOCH' + + const violationRows = (violations: Violation[]) => violations.length === 0 + ? '
${url}
+| Cookie-Banner | ${data.banner_detected ? '✓ ' + banner : '✗ Nicht erkannt'} |
| Kritische Verstoesse | ${summary.critical || 0} |
| Hohe Verstoesse | ${summary.high || 0} |
| Undokumentiert | ${summary.undocumented || 0} |
Was laedt OHNE dass der Nutzer etwas geklickt hat?
+Was laedt NACHDEM der Nutzer "Nur notwendige" geklickt hat?
+Was laedt NACHDEM der Nutzer "Alle akzeptieren" geklickt hat?
+✓ Alle Dienste dokumentiert
' : ''} + ` : ` ++ Automatisch erstellt vom BreakPilot Compliance Agent (Playwright + Chromium) +
+