# Generated by Django 5.2.6 on 2025-12-15 16:00

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


class Migration(migrations.Migration):

    dependencies = [
        ('clients', '0003_user_internal_team_id_alter_user_internal_player_id_and_more'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='clientpermission',
            options={},
        ),
        migrations.AlterModelOptions(
            name='permission',
            options={'ordering': ['scope', 'name']},
        ),
        migrations.RemoveIndex(
            model_name='clientpermission',
            name='clients_cli_permiss_c20609_idx',
        ),
        migrations.RemoveIndex(
            model_name='clientpermission',
            name='clients_cli_starts__0417bd_idx',
        ),
        migrations.RemoveIndex(
            model_name='clientpermission',
            name='clients_cli_client__cb08c5_idx',
        ),
        migrations.RemoveIndex(
            model_name='permission',
            name='clients_per_type_939502_idx',
        ),
        migrations.RemoveIndex(
            model_name='permission',
            name='clients_per_priorit_d955df_idx',
        ),
        migrations.RemoveIndex(
            model_name='permission',
            name='clients_per_is_acti_cf7d0d_idx',
        ),
        migrations.AlterUniqueTogether(
            name='clientpermission',
            unique_together={('client', 'permission')},
        ),
        migrations.RemoveField(
            model_name='permission',
            name='depth',
        ),
        migrations.RemoveField(
            model_name='permission',
            name='level',
        ),
        migrations.RemoveField(
            model_name='permission',
            name='priority',
        ),
        migrations.RemoveField(
            model_name='permission',
            name='type',
        ),
        migrations.AddField(
            model_name='clientpermission',
            name='resource_ids',
            field=models.JSONField(default=list, help_text='Lista de IDs. Ej: [5, 10, 15] para equipos'),
        ),
        migrations.AddField(
            model_name='permission',
            name='action',
            field=models.CharField(choices=[('allow', 'Permitir'), ('block', 'Bloquear')], default='allow', max_length=10),
        ),
        migrations.AddField(
            model_name='permission',
            name='scope',
            field=models.CharField(choices=[('team', 'Equipo'), ('division', 'División'), ('player', 'Jugador'), ('match', 'Partido'), ('metrics', 'Métricas')], default='scope', max_length=20),
            preserve_default=False,
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='client',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='permissions', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='created_by',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='expires_at',
            field=models.DateTimeField(),
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='notes',
            field=models.TextField(blank=True),
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='permission',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='clients.permission'),
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='starts_at',
            field=models.DateTimeField(),
        ),
        migrations.AlterField(
            model_name='clientpermission',
            name='state',
            field=models.CharField(choices=[('active', 'Activo'), ('expired', 'Expirado'), ('revoked', 'Revocado')], default='active', max_length=20),
        ),
        migrations.AlterField(
            model_name='permission',
            name='name',
            field=models.CharField(help_text="Ej: 'Ver Atlético Nacional'", max_length=100),
        ),
        migrations.AlterField(
            model_name='permission',
            name='slug',
            field=models.SlugField(help_text="Ej: 'view_team_5'", unique=True),
        ),
        migrations.AddIndex(
            model_name='clientpermission',
            index=models.Index(fields=['expires_at'], name='clients_cli_expires_36a3ee_idx'),
        ),
        migrations.RemoveField(
            model_name='clientpermission',
            name='relation_id',
        ),
        migrations.RemoveField(
            model_name='clientpermission',
            name='timeline_end',
        ),
        migrations.RemoveField(
            model_name='clientpermission',
            name='timeline_start',
        ),
        migrations.RemoveField(
            model_name='clientpermission',
            name='updated_by',
        ),
    ]
