#!/bin/bash
# 应用设置里改端口后：写入配置并重启
set -u

ETC="${TRIM_PKGETC:-}"
CMD_DIR="$(cd "$(dirname "$0")" && pwd)"

normalize_port() {
  local p="${1:-}"
  case "$p" in
    ''|*[!0-9]*) echo "" ; return ;;
  esac
  if [ "$p" -lt 1 ] || [ "$p" -gt 65535 ]; then
    echo ""
    return
  fi
  echo "$p"
}

PORT_VAL="$(normalize_port "${wizard_port:-}")"
if [ -z "$PORT_VAL" ]; then
  if [ -n "${TRIM_TEMP_LOGFILE:-}" ]; then
    echo "无效端口: ${wizard_port:-}" >"$TRIM_TEMP_LOGFILE"
  fi
  exit 1
fi

mkdir -p "$ETC"
{
  echo "wizard_port=${PORT_VAL}"
  echo "PORT=${PORT_VAL}"
} >"$ETC/settings.conf"
chmod 600 "$ETC/settings.conf" || true

bash "$CMD_DIR/main" stop >/dev/null 2>&1 || true
sleep 1
bash "$CMD_DIR/main" start
exit $?
