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

DEPLOY_HOST="${DEPLOY_HOST:-amat-sp-dev.whours.com}"
DEPLOY_USER="${DEPLOY_USER:-}"
DEPLOY_PATH="${DEPLOY_PATH:-/var/www/html/amat-sp-dev}"
SSH_PORT="${SSH_PORT:-22}"
LOCAL_ENV_FILE="${LOCAL_ENV_FILE:-.env.dev.example}"

if [ -z "${DEPLOY_USER}" ]; then
  echo "缺少 DEPLOY_USER，無法執行 dev 部署。" >&2
  exit 1
fi

if ! command -v rsync >/dev/null 2>&1; then
  echo "缺少 rsync，無法執行 dev 部署。" >&2
  exit 1
fi

rsync -az --delete \
  --exclude ".git/" \
  --exclude "build/" \
  --exclude "writable/cache/*" \
  --exclude "writable/debugbar/*" \
  --exclude "writable/logs/*" \
  --exclude "writable/session/*" \
  --exclude ".env" \
  ./ "${DEPLOY_USER}@${DEPLOY_HOST}:${DEPLOY_PATH}/"

ssh -p "${SSH_PORT}" "${DEPLOY_USER}@${DEPLOY_HOST}" \
  "cd ${DEPLOY_PATH} && chmod +x scripts/remote_post_deploy.sh && APP_ENV_FILE='${LOCAL_ENV_FILE}' DEPLOY_PATH='${DEPLOY_PATH}' ./scripts/remote_post_deploy.sh"
