# Generated by Django 6.1 on 2026-08-18 05:25

import django.db.models.deletion
import uuid
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('domains', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Plan',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('code', models.CharField(max_length=50, unique=True)),
                ('name', models.CharField(max_length=100)),
                ('max_domains', models.PositiveIntegerField(blank=True, null=True)),
                ('max_monitored_urls', models.PositiveIntegerField(blank=True, null=True)),
                ('is_default', models.BooleanField(default=False)),
            ],
            options={
                'constraints': [models.UniqueConstraint(condition=models.Q(('is_default', True)), fields=('is_default',), name='un_solo_plan_predeterminado')],
            },
        ),
        migrations.CreateModel(
            name='ConsumptionRecord',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('period', models.CharField(help_text='Año y mes, en formato AAAA-MM', max_length=7)),
                ('metric', models.CharField(choices=[('INSPECTIONS', 'Inspecciones'), ('SITEMAP_SUBMITS', 'Envíos de sitemap'), ('MONITORED_URLS', 'URLs monitoreadas')], max_length=20)),
                ('amount', models.PositiveIntegerField(default=0)),
                ('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='consumption_records', to=settings.AUTH_USER_MODEL)),
                ('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='consumption_records', to='domains.domain')),
            ],
            options={
                'indexes': [models.Index(fields=['account', 'period'], name='billing_con_account_da2241_idx')],
                'constraints': [models.UniqueConstraint(fields=('account', 'domain', 'period', 'metric'), name='un_acumulado_por_cuenta_dominio_periodo_y_metrica')],
            },
        ),
    ]
