diff --git a/manage-tenant.sh b/manage-tenant.sh index c3f3469..e131a70 100755 --- a/manage-tenant.sh +++ b/manage-tenant.sh @@ -430,6 +430,7 @@ PY initialize_tenant_database() { local tenant_id="$1" local mode="$2" + local admin_password="${3:-admin123}" APP_CONTAINER=$(docker ps -qf "name=app" | head -n 1) if [ -z "$APP_CONTAINER" ]; then @@ -438,7 +439,7 @@ initialize_tenant_database() { return 0 fi - docker exec -i "$APP_CONTAINER" python3 - "$tenant_id" "$mode" <<'PY' + docker exec -i "$APP_CONTAINER" python3 - "$tenant_id" "$mode" "$admin_password" <<'PY' import sys, os, re, datetime, hashlib sys.path.insert(0, "/app") sys.path.insert(0, "/app/Web") @@ -449,6 +450,8 @@ import Web.modules.database.user as us tenant_id = sys.argv[1].lower() mode = sys.argv[2] +admin_password = sys.argv[3] if len(sys.argv) > 3 else "admin123" + sanitized = "".join(c for c in tenant_id if c.isalnum() or c == "_") db_name = f"inventar_{sanitized}" if sanitized else settings.MONGODB_DB @@ -458,7 +461,7 @@ users = db["users"] permission_defaults = us.build_default_permission_payload("full_access") admin_doc = { "Username": "admin", - "Password": us.hashing("admin123"), + "Password": us.hashing(admin_password), "Admin": True, "active_ausleihung": None, "name": dp.encrypt_text("admin"), @@ -488,7 +491,7 @@ if mode == "trial": client.close() -print(f"Tenant {sys.argv[1]} database initialized. Default admin: admin / admin123") +print(f"Tenant {sys.argv[1]} database initialized. Default admin: admin / {admin_password}") PY } @@ -813,6 +816,8 @@ case "$COMMAND" in fi PORT_ARG="${3:-}" + PASSWORD_ARG="${4:-admin123}" # Optional 4th parameter; defaults to 'admin123' if omitted + if [ -n "$PORT_ARG" ]; then if ! printf '%s\n' "$PORT_ARG" | grep -qE '^[0-9]+$'; then echo "Error: Port must be a numeric value." @@ -829,11 +834,9 @@ case "$COMMAND" in fi fi - - echo "Adding new tenant '$TENANT_ID'..." echo "Initializing database for $TENANT_ID..." - initialize_tenant_database "$TENANT_ID" "standard" + initialize_tenant_database "$TENANT_ID" "standard" "$PASSWORD_ARG" echo "Tenant '$TENANT_ID' successfully added. Ready to use." ;;