# Generated by Django 4.2.27 on 2026-01-12 20:40

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


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('authentication', '0001_initial'),
        ('business', '0002_initial'),
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.AddField(
            model_name='role',
            name='business',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='roles', to='business.business'),
        ),
        migrations.AddIndex(
            model_name='permission',
            index=models.Index(fields=['resource', 'action'], name='permissions_resourc_2eec83_idx'),
        ),
        migrations.AlterUniqueTogether(
            name='permission',
            unique_together={('resource', 'action')},
        ),
        migrations.AddField(
            model_name='invitationtoken',
            name='business',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='invitations', to='business.business'),
        ),
        migrations.AddField(
            model_name='invitationtoken',
            name='invited_by',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='invitationtoken',
            name='role',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='authentication.role'),
        ),
        migrations.AddField(
            model_name='auditlog',
            name='business',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='business.business'),
        ),
        migrations.AddField(
            model_name='auditlog',
            name='user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='audit_logs', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='user',
            name='groups',
            field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups'),
        ),
        migrations.AddField(
            model_name='user',
            name='user_permissions',
            field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions'),
        ),
        migrations.AddIndex(
            model_name='rolepermission',
            index=models.Index(fields=['role'], name='role_permis_role_id_0ea48f_idx'),
        ),
        migrations.AlterUniqueTogether(
            name='rolepermission',
            unique_together={('role', 'permission')},
        ),
        migrations.AddIndex(
            model_name='role',
            index=models.Index(fields=['business', 'name'], name='roles_busines_59b5ea_idx'),
        ),
        migrations.AlterUniqueTogether(
            name='role',
            unique_together={('name', 'business')},
        ),
        migrations.AddIndex(
            model_name='invitationtoken',
            index=models.Index(fields=['token'], name='invitation__token_adecf7_idx'),
        ),
        migrations.AddIndex(
            model_name='invitationtoken',
            index=models.Index(fields=['email', 'status'], name='invitation__email_fd18a4_idx'),
        ),
        migrations.AddIndex(
            model_name='invitationtoken',
            index=models.Index(fields=['business', 'status'], name='invitation__busines_1925a2_idx'),
        ),
        migrations.AddIndex(
            model_name='auditlog',
            index=models.Index(fields=['user', 'created_at'], name='audit_logs_user_id_fbfd51_idx'),
        ),
        migrations.AddIndex(
            model_name='auditlog',
            index=models.Index(fields=['business', 'created_at'], name='audit_logs_busines_471a5a_idx'),
        ),
        migrations.AddIndex(
            model_name='auditlog',
            index=models.Index(fields=['action', 'created_at'], name='audit_logs_action_391715_idx'),
        ),
        migrations.AddIndex(
            model_name='user',
            index=models.Index(fields=['email'], name='auth_user_email_ece7f7_idx'),
        ),
        migrations.AddIndex(
            model_name='user',
            index=models.Index(fields=['is_active', 'is_email_verified'], name='auth_user_is_acti_0531df_idx'),
        ),
        migrations.AddIndex(
            model_name='user',
            index=models.Index(fields=['onboarding_completed'], name='auth_user_onboard_4d4896_idx'),
        ),
    ]
