# Generated by Django 6.1 on 2026-08-20 19:03

import django.core.validators
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Ciudad',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=50, unique=True)),
            ],
            options={
                'verbose_name': 'ciudad',
                'verbose_name_plural': 'ciudades',
                'ordering': ('nombre',),
            },
        ),
        migrations.CreateModel(
            name='TipoPunto',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=50, unique=True)),
            ],
            options={
                'verbose_name': 'tipo de punto',
                'verbose_name_plural': 'tipos de punto',
                'ordering': ('nombre',),
            },
        ),
        migrations.CreateModel(
            name='PuntoAfectado',
            fields=[
                ('id_punto', models.BigAutoField(primary_key=True, serialize=False)),
                ('estado_verificacion', models.CharField(choices=[('CONFIRMADO', 'Confirmado'), ('PENDIENTE', 'Pendiente de confirmar')], default='PENDIENTE', max_length=12)),
                ('poblacion_vulnerable', models.CharField(choices=[('ADULTO_MAYOR', 'Adulto mayor'), ('INFANTES', 'Infantes'), ('AMBOS', 'Adulto mayor e infantes')], max_length=20)),
                ('nombre', models.CharField(max_length=150, verbose_name='Punto afectado nombre')),
                ('descripcion', models.TextField(blank=True, verbose_name='Punto afectado descripción')),
                ('direccion', models.CharField(max_length=255, verbose_name='Dirección')),
                ('barrio', models.CharField(blank=True, max_length=100)),
                ('comuna', models.CharField(blank=True, max_length=50)),
                ('latitud', models.DecimalField(decimal_places=6, max_digits=9, validators=[django.core.validators.MinValueValidator(-90), django.core.validators.MaxValueValidator(90)])),
                ('longitud', models.DecimalField(decimal_places=6, max_digits=9, validators=[django.core.validators.MinValueValidator(-180), django.core.validators.MaxValueValidator(180)])),
                ('nombre_contacto', models.CharField(max_length=150)),
                ('telefono', models.CharField(max_length=30)),
                ('ciudad', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='puntos', to='puntos.ciudad')),
                ('gestor', models.ForeignKey(limit_choices_to={'perfil__rol': 'GESTOR'}, on_delete=django.db.models.deletion.PROTECT, related_name='puntos_gestionados', to=settings.AUTH_USER_MODEL)),
                ('tipo_punto', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='puntos', to='puntos.tipopunto')),
            ],
            options={
                'verbose_name': 'punto afectado',
                'verbose_name_plural': 'puntos afectados',
                'ordering': ('nombre',),
            },
        ),
    ]
