from .api_client import get, post
from .campaigns import map_campaigns


META_ADS_PERFORMANCE_URL = "/api/getMetaAdsCampaignsPerformancefunell"


def get_meta_ads_performance(payload):
    print("[META ADS PERFORMANCE] payload:", payload, flush=True)
    data = post(META_ADS_PERFORMANCE_URL, payload)
    print(
        "[META ADS PERFORMANCE] response summary:",
        {
            "type": type(data).__name__,
            "keys": list(data.keys()) if isinstance(data, dict) else None,
            "campaigns_count": len(data.get("campaigns", [])) if isinstance(data, dict) else None,
            "has_totals": bool(data.get("totals")) if isinstance(data, dict) else None,
            "error": data.get("error") if isinstance(data, dict) else None,
        },
        flush=True,
    )
    return data


def get_campaign_names_meta_ads(client_id):
    data = get(
        "/api/metadashboard/getAdAccountsOrCampaignsOrAdSets",
        params={"client_id": client_id},
    )

    return map_campaigns(data)
