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

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
FILE="${1:-}"

if [[ -z "$FILE" ]]; then
  echo "Uso: bin/restore <backup.sql.gz>"
  exit 1
fi

if [[ ! -f "$FILE" ]]; then
  echo "File non trovato: $FILE"
  exit 1
fi

echo "ATTENZIONE: il restore sovrascrive il database corrente."
read -r -p "Continuare? [y/N] " confirm
[[ "$confirm" == "y" || "$confirm" == "Y" ]] || exit 1

if docker compose -f "$ROOT/docker-compose.yml" ps postgres 2>/dev/null | grep -q "running\|Up"; then
  gunzip -c "$FILE" | docker compose -f "$ROOT/docker-compose.yml" exec -T postgres \
    psql -U "${POSTGRES_USER:-simplecrm}" -d "${POSTGRES_DB:-simplecrm_development}"
else
  gunzip -c "$FILE" | PGPASSWORD="${POSTGRES_PASSWORD:-simplecrm_dev}" psql \
    -h "${DATABASE_HOST:-localhost}" \
    -U "${POSTGRES_USER:-simplecrm}" \
    -d "${POSTGRES_DB:-simplecrm_development}"
fi

echo "Restore completato."
