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

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT/docker"

: "${VTPASS_API_KEY:?Set VTPASS_API_KEY}"
: "${VTPASS_PUBLIC_KEY:?Set VTPASS_PUBLIC_KEY}"
: "${VTPASS_SECRET_KEY:?Set VTPASS_SECRET_KEY}"
: "${PAYSTACK_SECRET_KEY:?Set PAYSTACK_SECRET_KEY}"

docker compose run --rm \
  -e VTPASS_API_KEY \
  -e VTPASS_PUBLIC_KEY \
  -e VTPASS_SECRET_KEY \
  -e PAYSTACK_SECRET_KEY \
  app sh -lc '
    php artisan tinker --execute="
      \App\Models\ProviderSetting::where(\"provider_key\",\"vtpass\")->update([
        \"mode\"=>\"test\",
        \"base_url\"=>\"https://sandbox.vtpass.com\",
        \"credentials\"=>[
          \"api_key\"=>getenv(\"VTPASS_API_KEY\"),
          \"public_key\"=>getenv(\"VTPASS_PUBLIC_KEY\"),
          \"secret_key\"=>getenv(\"VTPASS_SECRET_KEY\")
        ],
        \"is_active\"=>true
      ]);
      \App\Models\ProviderSetting::where(\"provider_key\",\"paystack\")->update([
        \"mode\"=>\"test\",
        \"credentials\"=>[
          \"secret_key\"=>getenv(\"PAYSTACK_SECRET_KEY\")
        ],
        \"is_active\"=>true
      ]);
    "
    php artisan vtu:health
  '

echo "Credentials loaded into the disposable test database."
echo "Now run sandbox purchases only with documented provider test values."
