#!/usr/bin/env bash
set -euo pipefail

# Uso:
#   ./deploy_mysqlsh_hardened.sh <usuario@servidor> [remote_dir]
# Ejemplo:
#   ./deploy_mysqlsh_hardened.sh ubuntu@10.0.0.50 /opt/scripts

REMOTE_HOST="${1:-}"
REMOTE_DIR="${2:-/opt/scripts}"

if [[ -z "$REMOTE_HOST" ]]; then
  echo "Uso: $0 <usuario@servidor> [remote_dir]"
  echo "Ej:  $0 ubuntu@10.0.0.50 /opt/scripts"
  exit 1
fi

LOCAL_BACKUP_SCRIPT="scripts_local/mysqlsh_backup_hardened.sh"
LOCAL_RESTORE_SCRIPT="scripts_local/mysqlsh_restore_hardened.sh"

if [[ ! -f "$LOCAL_BACKUP_SCRIPT" || ! -f "$LOCAL_RESTORE_SCRIPT" ]]; then
  echo "Error: no se encuentran scripts locales en scripts_local/"
  exit 1
fi

echo "Creando directorio remoto: $REMOTE_DIR"
ssh "$REMOTE_HOST" "mkdir -p '$REMOTE_DIR'"

echo "Copiando scripts..."
scp "$LOCAL_BACKUP_SCRIPT" "$LOCAL_RESTORE_SCRIPT" "$REMOTE_HOST:$REMOTE_DIR/"

echo "Asignando permisos de ejecucion..."
ssh "$REMOTE_HOST" "chmod +x '$REMOTE_DIR/mysqlsh_backup_hardened.sh' '$REMOTE_DIR/mysqlsh_restore_hardened.sh' && ls -l '$REMOTE_DIR'/mysqlsh_*_hardened.sh"

echo "Listo. Scripts desplegados en $REMOTE_HOST:$REMOTE_DIR"
