from revive_db import get_campaign_performance
from gemini_analyzer import analyze_campaign
from scoring_engine import calculate_health_score
from rules_engine import evaluate_rules
from recommendation_engine import generate_recommendations
def generate_campaign_report(campaign_id):

    campaign_data = get_campaign_performance(campaign_id)

    if not campaign_data:
        return {
            "status": "error",
            "message": "Campaign not found"
        }
    ai_analysis = analyze_campaign(campaign_data)
    health = calculate_health_score(campaign_data)
    campaign_data["health_score"] = health["health_score"]
    rules = evaluate_rules(campaign_data)
    recommendations = generate_recommendations(rules)
    return {
        "campaign_data": campaign_data,
        "health": health,
        "rules": rules,
        "recommendations": recommendations,
        "ai_analysis": ai_analysis
    }