"""
Crea el único registro de configuración de IA con los valores de la v1.

Va como migración y no sólo como `get_or_create` en `AiSettings.current()`
para que producción arranque **configurada**: la pantalla «Config» muestra
un valor elegido desde la primera vez que alguien la abre, y el trabajador
tiene modelo que pedir sin que nadie haya pasado por ahí (R52). Los valores
están escritos acá y no importados de `provider.py` a propósito: una
migración describe el estado de ese día, y las constantes del módulo pueden
cambiar después sin que esto tenga que cambiar con ellas.
"""

import uuid

from django.db import migrations

#: Mismo valor que `apps.ai.models.AI_SETTINGS_ID`, copiado: la migración no
#: importa el modelo vivo.
AI_SETTINGS_ID = uuid.UUID('00000000-0000-4000-8000-00000000a15e')


def create_initial_row(apps, schema_editor):
    AiSettings = apps.get_model('ai', 'AiSettings')
    AiSettings.objects.get_or_create(
        pk=AI_SETTINGS_ID,
        defaults={
            'image_model': 'gpt-image-2.5-sunburst',
            'image_quality': 'high',
            'vision_model': 'gpt-5.4-mini',
        },
    )


def delete_initial_row(apps, schema_editor):
    AiSettings = apps.get_model('ai', 'AiSettings')
    AiSettings.objects.filter(pk=AI_SETTINGS_ID).delete()


class Migration(migrations.Migration):
    dependencies = [('ai', '0004_aisettings')]

    operations = [migrations.RunPython(create_initial_row, delete_initial_row)]
