#!/usr/bin/env bash
# Tear down ScadaLink test infrastructure.
#
# Usage:
#   ./teardown.sh           Stop containers and delete the SQL data volume
#   ./teardown.sh --images  Also remove downloaded Docker images
#   ./teardown.sh --all     Remove volumes, images, and the Python venv

set -euo pipefail
cd "$(dirname "$0")"

REMOVE_IMAGES=false
REMOVE_VENV=false

for arg in "$@"; do
  case "$arg" in
    --images) REMOVE_IMAGES=true ;;
    --all)    REMOVE_IMAGES=true; REMOVE_VENV=true ;;
    -h|--help)
      echo "Usage: ./teardown.sh [--images] [--all]"
      echo "  (no flags)  Stop containers, delete SQL data volume"
      echo "  --images    Also remove downloaded Docker images"
      echo "  --all       Remove volumes, images, and Python venv"
      exit 0
      ;;
    *)
      echo "Unknown option: $arg" >&2
      exit 1
      ;;
  esac
done

echo "Stopping containers and removing SQL data volume..."
if $REMOVE_IMAGES; then
  docker compose down -v --rmi all
else
  docker compose down -v
fi

if $REMOVE_VENV && [ -d tools/.venv ]; then
  echo "Removing Python virtual environment..."
  rm -rf tools/.venv
fi

echo ""
echo "Teardown complete."
echo "To start fresh: docker compose up -d && python tools/mssql_tool.py setup --script mssql/setup.sql"
