"""Run from the API working directory using its Python environment; prints no secrets."""

import os
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))

from dotenv import dotenv_values  # noqa: E402
from src.config import get_settings  # noqa: E402


def main() -> int:
    env_path = Path.cwd() / ".env"
    values = dotenv_values(env_path) if env_path.is_file() else {}
    settings = get_settings()
    print(f"Working directory: {Path.cwd()}")
    print(f"Dotenv path: {env_path} (exists={env_path.is_file()})")
    print(f"Environment: {settings.environment.value}")
    ready = True
    for name in ("TURNSTILE_SECRET", "TURNSTILE_EXPECTED_HOSTNAMES"):
        file_value = next((v for k, v in values.items() if k.upper() == name), None)
        override = any(k.upper() == name for k in os.environ)
        effective = bool(getattr(settings, name.lower()).strip())
        ready &= effective
        print(
            f"{name}: file_present={bool(file_value and file_value.strip())}, "
            f"process_override={override}, effective_present={effective}"
        )
    print(f"Expected frontend hostnames: {settings.turnstile_expected_hostnames or '(empty)'}")
    print(
        "This checks a NEW process, not the already-running API. Restart the API after env changes."
    )
    return 0 if ready else 1


if __name__ == "__main__":
    raise SystemExit(main())
