#!/bin/bash

set -eu

trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT

GUEST_SYS=debian-1
MOUNT_POINT=/tmp/vdn-php

redirected=8000
for (( i=2; i <= "$#"; i++ )); do
  prev=$(( i - 1 ))
  if [[ ${!prev} == '-S' ]]; then
    redirected=$(awk -F ':' '{print $NF}' <<< ${!i})
  fi
done

vdn-set-network-dir ~vdn/vdn/networks/docker

if ! vdn-alive $GUEST_SYS; then
  vdn-start -b $GUEST_SYS
  until vdn-ssh root@$GUEST_SYS : &> /dev/null; do
    sleep 2
  done
fi

vdn-ssh root@$GUEST_SYS 'apt-get install -y php8.2-curl php8.2-mbstring php8.2-mysql php8.2-pgsql php8.2-sqlite3 php8.2-xdebug php8.2-xml php8.2-zip'

ncat -l -p 45678 -e /usr/lib/openssh/sftp-server &

vdn-ssh \
  -R 45679:127.0.0.1:45678 \
  -L $redirected:127.0.0.1:$redirected \
  test@$GUEST_SYS \
  "mkdir -p ${MOUNT_POINT}; sshfs localhost: ${MOUNT_POINT} -o directport=45679; cd ${MOUNT_POINT}; fuser -k $redirected/tcp; export XDEBUG_MODE=coverage; php $*"
