import os

from django.db import migrations, models


def enable_job_efficiency_for_default_client(apps, schema_editor):
    Client = apps.get_model("integrations", "Client")
    slug = (os.getenv("DEFAULT_CLIENT_SLUG", "nixon") or "nixon").strip().lower()
    for c in Client.objects.filter(slug=slug):
        feats = dict(c.features or {})
        if "job_efficiency_csv" not in feats:
            feats["job_efficiency_csv"] = True
            c.features = feats
            c.save(update_fields=["features"])


class Migration(migrations.Migration):
    dependencies = [
        ("integrations", "0003_client_use_demo_data"),
    ]

    operations = [
        migrations.AddField(
            model_name="client",
            name="xero_oauth_client_id",
            field=models.CharField(blank=True, default="", max_length=120),
        ),
        migrations.AddField(
            model_name="client",
            name="xero_oauth_client_secret",
            field=models.TextField(blank=True, default=""),
        ),
        migrations.AddField(
            model_name="client",
            name="xero_oauth_refresh_token",
            field=models.TextField(blank=True, default=""),
        ),
        migrations.AddField(
            model_name="client",
            name="features",
            field=models.JSONField(blank=True, default=dict),
        ),
        migrations.RunPython(enable_job_efficiency_for_default_client, migrations.RunPython.noop),
    ]
