#!/bin/bash

cd "$(dirname "$0")/../.." || exit 1

CUIT="$1"
IP="$2"
DB="$CUIT"

# En caso que CUIT sea uno predefinido, cambiar por nombre base real
case "$CUIT" in
  dbtaxes)
    DB="dbtaxes"
    IP="127.0.0.1"
    ;;
  psp)
    DB="psp"
    IP="127.0.0.1"
    ;;
  db20-28468190-9)
    DB="db20-28468190-9"
    IP="68.183.22.193"
    ;;
  db30-68967475-1)
    DB="db30-68967475-1"
    IP="143.198.173.183"
    ;;
  db30-71726980-9)
    DB="db30-71726980-9"
    IP="159.223.162.47"
    ;;
esac

SQL="storage/backups_DBs/$IP/$DB.sql"
TAR="storage/backups_DBs/$IP/$DB.tar.gz"

mkdir -p "storage/backups_DBs/$IP"
[ -f "$SQL" ] && rm "$SQL"
[ -f "$TAR" ] && rm "$TAR"

if [ "$DB" == "dbtaxes" ]; then
  echo "📦 Ejecutando backup para DBTAXES..."
  php artisan db:backup_dbtaxes || { echo "❌ Falló artisan"; exit 1; }
elif [ "$DB" == "psp" ]; then
  echo "📦 Ejecutando backup para PSP..."
  php artisan db:backup_psp || { echo "❌ Falló artisan"; exit 1; }
else
  echo "📦 Ejecutando backup para $DB..."
  php artisan db:backup_una_db "$DB" "$IP" 33060 || { echo "❌ Falló artisan"; exit 1; }
fi

if [ -f "$SQL" ]; then
  tar -czvf "$TAR" "$SQL" || { echo "❌ Falló compresión TAR"; exit 1; }
  rm "$SQL"
  echo "✅ Backup y compresión completados para $DB"
else
  echo "❌ No se generó el archivo SQL esperado: $SQL"
  exit 1
fi