# Generated by Django 6.0.4 on 2026-07-30 14:23, hand-adjusted:
# backfill organization to the bootstrapped CSIS org, then tighten to non-null.

import django.db.models.deletion
from django.db import migrations, models


def backfill_organization(apps, schema_editor):
    Organization = apps.get_model('companies', 'Organization')
    FileConversion = apps.get_model('tools', 'FileConversion')
    ImageToolUsage = apps.get_model('tools', 'ImageToolUsage')
    QRCode = apps.get_model('tools', 'QRCode')
    ScribdScrape = apps.get_model('tools', 'ScribdScrape')
    URL = apps.get_model('tools', 'URL')

    org = Organization.objects.first()
    if org is None:
        return
    FileConversion.objects.filter(organization__isnull=True).update(organization=org)
    ImageToolUsage.objects.filter(organization__isnull=True).update(organization=org)
    QRCode.objects.filter(organization__isnull=True).update(organization=org)
    ScribdScrape.objects.filter(organization__isnull=True).update(organization=org)
    URL.objects.filter(organization__isnull=True).update(organization=org)


def noop_reverse(apps, schema_editor):
    pass


class Migration(migrations.Migration):

    dependencies = [
        ('companies', '0012_add_organization_scope'),
        ('tools', '0002_scribdscrape'),
    ]

    operations = [
        migrations.AddField(
            model_name='fileconversion',
            name='organization',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='file_conversions', to='companies.organization'),
        ),
        migrations.AddField(
            model_name='imagetoolusage',
            name='organization',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='image_tool_usages', to='companies.organization'),
        ),
        migrations.AddField(
            model_name='qrcode',
            name='organization',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='qr_codes', to='companies.organization'),
        ),
        migrations.AddField(
            model_name='scribdscrape',
            name='organization',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='scribd_scrapes', to='companies.organization'),
        ),
        migrations.AddField(
            model_name='url',
            name='organization',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='shortened_urls', to='companies.organization'),
        ),
        migrations.RunPython(backfill_organization, noop_reverse),
        migrations.AlterField(
            model_name='fileconversion',
            name='organization',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='file_conversions', to='companies.organization'),
        ),
        migrations.AlterField(
            model_name='imagetoolusage',
            name='organization',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='image_tool_usages', to='companies.organization'),
        ),
        migrations.AlterField(
            model_name='qrcode',
            name='organization',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='qr_codes', to='companies.organization'),
        ),
        migrations.AlterField(
            model_name='scribdscrape',
            name='organization',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='scribd_scrapes', to='companies.organization'),
        ),
        migrations.AlterField(
            model_name='url',
            name='organization',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shortened_urls', to='companies.organization'),
        ),
    ]
