"""
Managementul catalogului de metadate (catalog.json).
"""
import json
import os
from typing import Any


def load_catalog(path: str = "../data/catalog.json") -> dict[str, Any]:
    """Încarcă catalogul din fișierul JSON."""
    if not os.path.exists(path):
        return {"datasets": []}

    with open(path, "r", encoding="utf-8") as f:
        return json.load(f)


def save_catalog(catalog: dict[str, Any], path: str = "../data/catalog.json"):
    """Salvează catalogul în fișierul JSON."""
    os.makedirs(os.path.dirname(path), exist_ok=True)

    with open(path, "w", encoding="utf-8") as f:
        json.dump(catalog, f, indent=2, ensure_ascii=False)
