#!/usr/bin/env bash # Load the approved UTF-8 HTML template into Oracle without SQLcl literal mojibake. set -Eeuo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" ENV_FILE="${HMM_REPORT_ENV_FILE:-$ROOT/.env}" TEMPLATE_FILE="${HMM_REPORT_TEMPLATE_FILE:-$ROOT/ai-web-agent-console/assets/hmm-carrier-performance-report.html}" WALLET_DIR="${HMM_REPORT_WALLET_DIR:-/Users/joungminko/devkit/db_conn/Wallet_HMMAIPOC}" [[ -f "$ENV_FILE" ]] && { set -a; . "$ENV_FILE"; set +a; } SQLCL_BIN="${SQLCL_BIN:-$(command -v sql || true)}" DB_USER="${BACKOFFICE_DB_USERNAME:-${ADB_USER:-}}" DB_PASSWORD="${BACKOFFICE_DB_PASSWORD:-${ADB_PASSWORD:-}}" DB_TNS="${ADB_TNS:-}" DB_URL="${BACKOFFICE_DB_URL:-}" if [[ -z "$DB_TNS" && "$DB_URL" =~ ^jdbc:oracle:thin:@([^?]+) ]]; then DB_TNS="${BASH_REMATCH[1]}" fi [[ -x "$SQLCL_BIN" && -f "$TEMPLATE_FILE" && -d "$WALLET_DIR" && -n "$DB_USER" && -n "$DB_PASSWORD" && -n "$DB_TNS" ]] || { echo "SQLCL_BIN, DB credentials, ADB_TNS, and template file are required." >&2; exit 1; } REPORT_B64="$(base64 < "$TEMPLATE_FILE" | tr -d '\n')" [[ ${#REPORT_B64} -le 30000 ]] || { echo "Template is too large for the single-chunk loader." >&2; exit 1; } "$SQLCL_BIN" -thin -tnsadmin "$WALLET_DIR" -s "$DB_USER/$DB_PASSWORD@$DB_TNS" <