#!/usr/bin/env bash
# Seed the database. Safe on fresh databases; dev/demo layers are idempotent.
#
#   ./scripts/seed.sh            # bootstrap schema seed (seed.sql)
#   ./scripts/seed.sh testdata   # + realistic API test data
#   ./scripts/seed.sh demo       # + location/tracking/fleet demo layer
#   ./scripts/seed.sh all        # testdata + demo
set -euo pipefail
cd "$(dirname "$0")/.."
if [ -f .env ]; then set -a; source .env; set +a; fi
: "${DATABASE_URL:?DATABASE_URL is required}"
DB_CMD=(podman exec -i keluargamart-postgres psql -U "${POSTGRES_USER:-erp}" -d "${POSTGRES_DB:-erp}" -v ON_ERROR_STOP=1)
if ! podman ps >/dev/null 2>&1; then DB_CMD=(psql "$DATABASE_URL" -v ON_ERROR_STOP=1); fi

case "${1:-bootstrap}" in
  bootstrap)
    "${DB_CMD[@]}" < seed.sql
    echo "Bootstrap seed applied."
    ;;
  testdata)
    "${DB_CMD[@]}" < seed_testdata.sql
    echo "Test-data seed applied."
    ;;
  demo)
    "${DB_CMD[@]}" < seed_location_demo.sql
    echo "Location demo seed applied."
    ;;
  all)
    "${DB_CMD[@]}" < seed_testdata.sql
    "${DB_CMD[@]}" < seed_location_demo.sql
    echo "Test-data + location demo seeds applied."
    ;;
  *)
    echo "Usage: $0 [bootstrap|testdata|demo|all]" >&2
    exit 1
    ;;
esac
