import json
from pathlib import Path

SESSION_DIR = Path("session")
SESSION_DIR.mkdir(exist_ok=True)

SESSION_FILE = SESSION_DIR / "current_session.json"


def save_session(data: dict):
    with open(SESSION_FILE, "w") as f:
        json.dump(data, f, indent=2)


def load_session() -> dict:
    if not SESSION_FILE.exists():
        return {}
    with open(SESSION_FILE, "r") as f:
        return json.load(f)


def update_session(key: str, value):
    session = load_session()
    session[key] = value
    save_session(session)


def clear_session():
    if SESSION_FILE.exists():
        SESSION_FILE.unlink()


def session_has(key: str) -> bool:
    session = load_session()
    return key in session and session[key] is not None