feat: Package 4 Rechtliche Texte — DB-Persistenz fuer Legal Documents, Einwilligungen und Cookie Banner
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 46s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 17s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 46s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 17s
- Migration 007: compliance_legal_documents, _versions, _approvals (Approval-Workflow) - Migration 008: compliance_einwilligungen_catalog, _company, _cookies, _consents - Backend: legal_document_routes.py (11 Endpoints + draft→review→approved→published Workflow) - Backend: einwilligungen_routes.py (10 Endpoints inkl. Stats, Pagination, Revoke) - Frontend: /api/admin/consent/[[...path]] Catch-All-Proxy fuer Legal Documents - Frontend: catalog/consent/cookie-banner routes von In-Memory auf DB-Proxy umgestellt - Frontend: einwilligungen/page.tsx + cookie-banner/page.tsx laden jetzt via API (kein Mock) - Tests: 44/44 pass (test_legal_document_routes.py + test_einwilligungen_routes.py) - Deploy-Scripts: apply_legal_docs_migration.sh + apply_einwilligungen_migration.sh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
53
scripts/apply_legal_docs_migration.sh
Executable file
53
scripts/apply_legal_docs_migration.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
# Apply Legal Documents migration and rebuild backend-compliance on Mac Mini
|
||||
# Usage: bash scripts/apply_legal_docs_migration.sh
|
||||
|
||||
set -e
|
||||
|
||||
DOCKER="/usr/local/bin/docker"
|
||||
BACKEND_CONTAINER="bp-compliance-backend"
|
||||
PROJECT_DIR="/Users/benjaminadmin/Projekte/breakpilot-compliance"
|
||||
|
||||
echo "==> Pushing code to Mac Mini..."
|
||||
git push origin main && git push gitea main
|
||||
|
||||
echo "==> Pulling code on Mac Mini..."
|
||||
ssh macmini "cd ${PROJECT_DIR} && git pull --no-rebase origin main"
|
||||
|
||||
echo "==> Applying Legal Documents migration (007_legal_documents.sql)..."
|
||||
ssh macmini "cd ${PROJECT_DIR} && \
|
||||
${DOCKER} exec ${BACKEND_CONTAINER} \
|
||||
psql \"\${DATABASE_URL}\" -f /app/migrations/007_legal_documents.sql \
|
||||
&& echo 'Legal Documents migration applied' \
|
||||
|| echo 'psql failed, trying python...'"
|
||||
|
||||
ssh macmini "cd ${PROJECT_DIR} && \
|
||||
${DOCKER} exec ${BACKEND_CONTAINER} \
|
||||
python3 -c \"
|
||||
import psycopg2, os
|
||||
conn = psycopg2.connect(os.environ['DATABASE_URL'])
|
||||
conn.autocommit = True
|
||||
cur = conn.cursor()
|
||||
with open('/app/migrations/007_legal_documents.sql', 'r') as f:
|
||||
sql = f.read()
|
||||
cur.execute(sql)
|
||||
cur.close()
|
||||
conn.close()
|
||||
print('Legal Documents migration (python) applied')
|
||||
\"" 2>/dev/null || echo "Note: Migration already applied or use manual SQL."
|
||||
|
||||
echo ""
|
||||
echo "==> Rebuilding backend-compliance..."
|
||||
ssh macmini "cd ${PROJECT_DIR} && \
|
||||
${DOCKER} compose build --no-cache backend-compliance && \
|
||||
${DOCKER} compose up -d backend-compliance"
|
||||
|
||||
echo ""
|
||||
echo "==> Verifying Legal Documents endpoint..."
|
||||
sleep 5
|
||||
curl -sk "https://macmini:8002/api/compliance/legal-documents/documents" \
|
||||
| python3 -c "import sys,json; d=json.load(sys.stdin); print(f'Legal docs: count={len(d.get(\"documents\",[]))}')" \
|
||||
|| echo "Endpoint check needs backend restart"
|
||||
|
||||
echo ""
|
||||
echo "Done. Check logs: ssh macmini '${DOCKER} logs -f ${BACKEND_CONTAINER}'"
|
||||
Reference in New Issue
Block a user