feat: Add Markdown export service for DOCX and PDF formats
- Implemented MarkdownExportService to convert Markdown text into DOCX and PDF formats. - Supported Markdown elements include headings, bold, italic, blockquotes, tables, and specific emojis. - Added methods for generating DOCX and PDF documents with proper formatting and rendering. - Enhanced application properties to enable logging for production environment. - Introduced a test-run script to reset project state and trigger processing via API. Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
66
dc-backend/test-run.sh
Normal file
66
dc-backend/test-run.sh
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env bash
|
||||
# Setzt Projekt auf Ausgangszustand (status=NULL) und triggert POST /check/{id}
|
||||
# Verwendung: bash test-run.sh [projectId]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_ID="${1:-1}"
|
||||
BACKEND="http://localhost:8090"
|
||||
DB_USER="wksp_ai"
|
||||
DB_PASS='s!)löyx209aasgtrasdasiudkash5235FDSXljLJ'
|
||||
DB_HOST="10.75.10.171"
|
||||
DB_PORT="32710"
|
||||
DB_SID="freepdb1"
|
||||
KUBECONFIG_FILE="$(cd "$(dirname "$0")/.." && pwd)/env/frigo-dev.yaml"
|
||||
|
||||
echo "=== Test-Run: Projekt $PROJECT_ID ==="
|
||||
|
||||
# 1. Projekt zurücksetzen (status=NULL, progress=0, completed_at=NULL)
|
||||
# Ergebnisse löschen, aber original_text/translated_text BLEIBEN erhalten
|
||||
# → Phase A (OCR) wird beim nächsten Lauf automatisch übersprungen
|
||||
echo ""
|
||||
echo "→ DB-Reset: status=NULL, Ergebnisse löschen (Texte bleiben) ..."
|
||||
sql -S "$DB_USER/$DB_PASS@$DB_HOST:$DB_PORT/$DB_SID" <<SQL
|
||||
DELETE FROM dc_results WHERE project_id = $PROJECT_ID;
|
||||
UPDATE dc_projects
|
||||
SET status = NULL,
|
||||
progress = 0,
|
||||
completed_at = NULL
|
||||
WHERE id = $PROJECT_ID;
|
||||
COMMIT;
|
||||
SELECT id, name, status, catalog_id, progress FROM dc_projects WHERE id = $PROJECT_ID;
|
||||
SQL
|
||||
|
||||
# 2. Port-Forward sicherstellen (im Hintergrund, falls noch nicht aktiv)
|
||||
if ! curl -sf "$BACKEND/check/health" > /dev/null 2>&1; then
|
||||
echo ""
|
||||
echo "→ Starte Port-Forward localhost:8090 → dc-backend:8090 ..."
|
||||
KUBECONFIG="$KUBECONFIG_FILE" kubectl port-forward \
|
||||
-n ai-env svc/dc-backend 8090:8090 &
|
||||
PF_PID=$!
|
||||
echo " Port-Forward PID: $PF_PID"
|
||||
sleep 3
|
||||
else
|
||||
PF_PID=""
|
||||
echo "→ Port-Forward bereits aktiv."
|
||||
fi
|
||||
|
||||
# 3. Trigger
|
||||
echo ""
|
||||
echo "→ POST $BACKEND/check/$PROJECT_ID ..."
|
||||
RESPONSE=$(curl -sf -X POST "$BACKEND/check/$PROJECT_ID" \
|
||||
-H "Content-Type: application/json" || echo "FEHLER: curl fehlgeschlagen")
|
||||
echo " Response: $RESPONSE"
|
||||
|
||||
# 4. Logs streamen
|
||||
echo ""
|
||||
echo "→ Logs (Ctrl+C zum Beenden):"
|
||||
POD=$(KUBECONFIG="$KUBECONFIG_FILE" kubectl get pod -n ai-env -l app=dc-backend \
|
||||
--field-selector=status.phase=Running \
|
||||
-o jsonpath='{.items[0].metadata.name}' 2>/dev/null)
|
||||
KUBECONFIG="$KUBECONFIG_FILE" kubectl logs -f "$POD" -n ai-env --since=10s
|
||||
|
||||
# Cleanup Port-Forward
|
||||
if [ -n "${PF_PID:-}" ]; then
|
||||
kill "$PF_PID" 2>/dev/null || true
|
||||
fi
|
||||
Reference in New Issue
Block a user