#!/bin/bash
# 测试门店农场号段：只有农场的容器测试店能用（它设 AADEN_FARM=1）。真机装机、改号拿到这些号就停下——
# 同一个号装两台机器，上报、备份、ngrok 会互相覆盖。
# ⚠ 要和云端的 TEST_STORE_RANGES（aaden.test-stores.ranges，默认 9020-9099）保持一致，改号段两边一起改。
# 用法：source 本文件，然后 farm_range_guard <设备号> || exit 1
FARM_RANGE_MIN=9020
FARM_RANGE_MAX=9099

# 号在号段里且没有 AADEN_FARM=1 → 打提示、返回 1；不是数字的交给后面的检查去拦
farm_range_guard() {
  local id
  id=$(printf '%s' "$1" | tr -d '[:space:]')
  [[ "$id" =~ ^[0-9]+$ ]] || return 0
  id=$((10#$id))
  if [ "$id" -ge "$FARM_RANGE_MIN" ] && [ "$id" -le "$FARM_RANGE_MAX" ] && [ "${AADEN_FARM:-}" != "1" ]; then
    echo "✗ $id 在测试门店号段（$FARM_RANGE_MIN–$FARM_RANGE_MAX）里，只能给测试门店农场用。真门店请用 ERP 里建档的设备号。"
    return 1
  fi
  return 0
}
