# .envrc
# --- Load environment variables from .env ---
# Manually load .env file
set -a
[ -f .env ] && source .env
set +a

# --- Load secrets from Infisical ---
# Safety first
set -euo pipefail

: "${CODACY_API_TOKEN:=$(infisical secrets get CODACY_API_KEY --path="/API-keys" --plain 2>/dev/null || true)}"
: "${GITHUB_PERSONAL_ACCESS_TOKEN:=$(infisical secrets get GITHUB_PERSONAL_ACCESS_TOKEN --path="/API-keys" --plain 2>/dev/null || true)}"
: "${ZAMMAD_HTTP_TOKEN:=$(infisical secrets get ZAMMAD_ADMIN_API_TOKEN --path="/API-keys" --plain 2>/dev/null || true)}"
: "${GITHUB_PAT:=$(infisical secrets get GITHUB_PERSONAL_ACCESS_TOKEN --path="/API-keys" --plain 2>/dev/null || true)}"

# Abort early in CI; in local shells fall back to a warning
if [ -z "$CODACY_API_TOKEN" ]; then
  if [ -n "$CI" ]; then
    echo "❌ CODACY_API_TOKEN not available – failing early." >&2
    exit 1
  else
    echo "⚠️  CODACY_API_TOKEN could not be retrieved – Codacy steps will be skipped." >&2
  fi
else
  export CODACY_API_TOKEN
fi

export CODACY_ORGANIZATION_PROVIDER=gh
export CODACY_USERNAME=basher83
export CODACY_PROJECT_NAME=Zammad-MCP

# GitHub Personal Access Token handling
if [ -z "$GITHUB_PERSONAL_ACCESS_TOKEN" ]; then
  if [ -n "$CI" ]; then
    echo "❌ GITHUB_PERSONAL_ACCESS_TOKEN not available – failing early." >&2
    exit 1
  else
    echo "⚠️  GITHUB_PERSONAL_ACCESS_TOKEN could not be retrieved – GitHub API operations may fail." >&2
  fi
else
  export GITHUB_PERSONAL_ACCESS_TOKEN
fi

# GitHub Personal Access Token handling
if [ -z "$GITHUB_PAT" ]; then
  if [ -n "$CI" ]; then
    echo "❌ GITHUB_PAT not available – failing early." >&2
    exit 1
  else
    echo "⚠️  GITHUB_PAT could not be retrieved – GitHub API operations may fail." >&2
  fi
else
  export GITHUB_PAT
fi

# Zammad HTTP Token handling
if [ -z "$ZAMMAD_HTTP_TOKEN" ]; then
  if [ -n "$CI" ]; then
    echo "❌ ZAMMAD_HTTP_TOKEN not available – failing early." >&2
    exit 1
  else
    echo "⚠️  ZAMMAD_HTTP_TOKEN could not be retrieved – Zammad MCP operations will fail." >&2
  fi
else
  export ZAMMAD_HTTP_TOKEN
fi

# Zammad URL configuration
export ZAMMAD_URL=http://100.99.119.61:8880/api/v1