update of an outadet approach of the user adding in the current version

This commit is contained in:
2026-08-05 00:16:19 +02:00
parent 8eb240440b
commit 39c9666c0f
+22 -26
View File
@@ -626,38 +626,34 @@ case "$COMMAND" in
port_to_remove="" port_to_remove=""
if [ -n "$APP_CONTAINER" ]; then if [ -n "$APP_CONTAINER" ]; then
# Zuerst die Datenbank via PyMongo hart droppen (Erzwungenes Löschen) # Zuerst die MongoDB-Datenbank via PyMongo hart droppen (Erzwungenes Löschen)
port_to_remove="$(docker exec "$APP_CONTAINER" python3 - "$TENANT_ID" <<'PY' docker exec -i "$APP_CONTAINER" python3 - "$TENANT_ID" << 'EOF' > /dev/null 2>&1
import sys, re import sys
sys.path.insert(0, '/app') import os
sys.path.insert(0, '/app/Web')
from tenant import delete_tenant, get_tenant_config
from Web.modules.database import settings
from pymongo import MongoClient
tenant_id = sys.argv[1]
tenant_cfg = get_tenant_config(tenant_id)
port = tenant_cfg.get('port')
# Datenbanknamen exakt rekonstruieren
sanitized = "".join(c for c in tenant_id if c.isalnum() or c == "_")
db_name = f"inventar_{sanitized}"
try: try:
client = MongoClient(settings.MONGODB_HOST, int(settings.MONGODB_PORT)) import pymongo
tenant_id = sys.argv[1]
# MongoDB-URI aus der Umgebung holen oder Standard verwenden
mongo_uri = os.environ.get('MONGO_URI', 'mongodb://localhost:27017/')
client = pymongo.MongoClient(mongo_uri, serverSelectionTimeoutMS=2000)
db_name = f"inventar_{tenant_id}"
if db_name in client.list_database_names():
client.drop_database(db_name) client.drop_database(db_name)
print(f"MongoDB database '{db_name}' dropped successfully.", file=sys.stderr) print(f"Dropped database: {db_name}")
except Exception as e: except Exception as e:
print(f"Warning: Could not drop database '{db_name}': {e}", file=sys.stderr) print(f"Error dropping database: {e}", file=sys.stderr)
EOF
if not delete_tenant(tenant_id): # Konfiguration und Port via Host-Funktion bereinigen und Port ermitteln
print(f'Error: failed to delete tenant {tenant_id}', file=sys.stderr) if port_to_remove="$(remove_tenant_port "$TENANT_ID" 2>/dev/null)"; then
sys.exit(1) :
else
port_to_remove=""
fi
if port is not None:
print(port)
PY
)"
echo "Tenant '$TENANT_ID' database and config removed." echo "Tenant '$TENANT_ID' database and config removed."
else else
echo "Warning: Application container not running. Tenant database may still exist in MongoDB." echo "Warning: Application container not running. Tenant database may still exist in MongoDB."