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


echo "> start db server"
DBAAS_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cd "${DBAAS_ROOT}"

SUDO_DOCKER=${SUDO_DOCKER:-""}
go=("go")
if [[ -n $SUDO_DOCKER ]] ; then
  sudo ls >/dev/null
  go=(sudo "$(which go)")
fi

"${go[@]}" run test/dbserver/main.go&
sleep 1

function shutdown() {
  kills=(kill)
  if [[ -n $SUDO_DOCKER ]] ; then
    kills=(sudo kill)
  fi
  "${kills[@]}" "$(jobs -p)"; ./hack/stop-db-server.sh
}

declare MYSQL_TEST_CONFIG
curl_opts=(-4 --retry 3 --retry-connrefused --retry-delay 3 --fail)
url=http://localhost:11234/borrow
MYSQL_TEST_CONFIG=$(curl "${curl_opts[@]}" "$url" || curl "$url")
export MYSQL_TEST_CONFIG=$MYSQL_TEST_CONFIG
echo "MYSQL_TEST_CONFIG=$MYSQL_TEST_CONFIG"

if [[ -n "$*" ]] ; then
	trap 'shutdown' EXIT
	"$@"
else
	echo "> start db server done"
fi
