#!/bin/bash
# cards-card-repo-hook
# Post-commit hook for Cards

# Skip if CARDS_SKIP_HOOK is set
if [ "$CARDS_SKIP_HOOK" = "1" ]; then
  exit 0
fi

# Log file path baked at installation time; env var takes precedence at runtime
export CARDS_GIT_CARD_REPO_HOOKS_LOG_FILE="${CARDS_GIT_CARD_REPO_HOOKS_LOG_FILE:-/home/node/.cards/edh/1b66cb99/workspace/.cards/logs/git-card-repo-hooks.log}"

# Discovery path baked at installation time so commits from any shell reach the correct server
export CARDS_DISCOVERY_PATH="${CARDS_DISCOVERY_PATH:-/home/node/.cards/edh/1b66cb99/storage/cards-api.json}"

SCRIPT_DIR="$(dirname "$0")"

# Delegate to compiled post-commit.mjs when present
if [ -f "$SCRIPT_DIR/post-commit.mjs" ]; then
  NODE_BIN=$(cat "$HOME/.cards/VSCODE_NODE" 2>/dev/null)
  if [ -n "$NODE_BIN" ] && [ -x "$NODE_BIN" ]; then
    "$NODE_BIN" "$SCRIPT_DIR/post-commit.mjs"
    SCRIPT_EXIT=$?
  elif command -v node >/dev/null 2>&1; then
    node "$SCRIPT_DIR/post-commit.mjs"
    SCRIPT_EXIT=$?
  else
    echo "cards-hook: post-commit.mjs exists but Node.js is unavailable" >&2
    exit 1
  fi
  if [ $SCRIPT_EXIT -ne 0 ]; then
    exit $SCRIPT_EXIT
  fi
fi

exit 0
