#!/bin/sh
# ============================================================
# PandaX pre-commit hook (L3 防御) — Phase 4.6+ 强化版
# ============================================================
# 安装方式: pandax install-hook
# 作用: 调用 pre-commit-check.py 拒绝绕过审计的提交
# ============================================================

# 找 python
if command -v python3 >/dev/null 2>&1; then
    PY=python3
elif command -v python >/dev/null 2>&1; then
    PY=python
else
    echo "[PandaX] 需要 python 但未找到"
    exit 1
fi

# 找 pre-commit-check.py（与 hook 同目录的 templates/ 下，或 .pandax/ 下）
SCRIPT_DIR="$(dirname "$0")"
CHECK_PY=""

for cand in \
    "$SCRIPT_DIR/../templates/pre-commit-check.py" \
    "$SCRIPT_DIR/pre-commit-check.py" \
    "$(git rev-parse --show-toplevel)/.pandax/pre-commit-check.py"
do
    if [ -f "$cand" ]; then
        CHECK_PY="$cand"
        break
    fi
done

if [ -z "$CHECK_PY" ]; then
    echo "[PandaX] 找不到 pre-commit-check.py"
    echo "尝试: git rev-parse --show-toplevel/.pandax/pre-commit-check.py"
    exit 1
fi

# 调用 Python 校验
exec "$PY" "$CHECK_PY"