"""
Lo que necesita el generador para atender a la landing por la API.

- `PhotoAnalysis.origin`: el análisis dice por dónde entró, como el pedido. Lo
  existente queda en `TOOLS_APP`, que es por donde entró todo hasta hoy.
- `ImageGeneration.visitor_fingerprint` y su índice: el tope por visitante
  cuenta por este hash y por fecha.
- `AiSettings.website_hourly_limit` / `website_daily_limit`: los dos topes,
  con 10 y 20 de arranque.
"""

from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        ('ai', '0014_overlay_shape'),
    ]

    operations = [
        migrations.AddField(
            model_name='aisettings',
            name='website_daily_limit',
            field=models.PositiveSmallIntegerField(default=20),
        ),
        migrations.AddField(
            model_name='aisettings',
            name='website_hourly_limit',
            field=models.PositiveSmallIntegerField(default=10),
        ),
        migrations.AddField(
            model_name='imagegeneration',
            name='visitor_fingerprint',
            field=models.CharField(blank=True, default='', max_length=64),
        ),
        migrations.AddField(
            model_name='photoanalysis',
            name='origin',
            field=models.CharField(
                choices=[('TOOLS_APP', 'Tools app'), ('WEBSITE', 'Website')],
                default='TOOLS_APP',
                max_length=20,
            ),
        ),
        migrations.AddIndex(
            model_name='imagegeneration',
            index=models.Index(
                fields=['visitor_fingerprint', 'created_at'], name='ai_generation_visitor_idx'
            ),
        ),
    ]
