# Generated by Django 5.1.3 on 2025-12-24 05:15

from django.db import migrations


def forward(apps, schema_editor):
    """Create onboarding records for existing users with completed status."""
    User = apps.get_model("auth", "User")
    OnboardingProgress = apps.get_model("accounts", "OnboardingProgress")
    MarketingProfile = apps.get_model("accounts", "MarketingProfile")

    for user in User.objects.all():
        # Create completed onboarding progress (existing users skip onboarding)
        OnboardingProgress.objects.get_or_create(
            user=user,
            defaults={
                "has_completed_onboarding": True,
                "completed_welcome": True,
                "completed_role": True,
                "completed_company": True,
                "completed_channels": True,
            },
        )
        # Create empty marketing profile
        MarketingProfile.objects.get_or_create(user=user)


def reverse(apps, schema_editor):
    """Remove onboarding records for all users."""
    OnboardingProgress = apps.get_model("accounts", "OnboardingProgress")
    MarketingProfile = apps.get_model("accounts", "MarketingProfile")

    OnboardingProgress.objects.all().delete()
    MarketingProfile.objects.all().delete()


class Migration(migrations.Migration):

    dependencies = [
        ("accounts", "0003_add_onboarding_models"),
    ]

    operations = [
        migrations.RunPython(forward, reverse),
    ]
