from django.db import migrations, models
import django.db.models.deletion
import uuid


class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '10005_user_avatar_fields'),
    ]

    operations = [
        migrations.CreateModel(
            name='UserKYC',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('is_active', models.BooleanField(db_index=True, default=True)),
                ('pan_card_image', models.ImageField(blank=True, null=True, upload_to='kyc/pan/')),
                ('aadhaar_front_image', models.ImageField(blank=True, null=True, upload_to='kyc/aadhaar/')),
                ('aadhaar_back_image', models.ImageField(blank=True, null=True, upload_to='kyc/aadhaar/')),
                ('bank_proof_image', models.ImageField(blank=True, null=True, upload_to='kyc/bank/')),
                ('pan_status', models.CharField(choices=[('not_uploaded', 'Not Uploaded'), ('pending', 'Pending'), ('approved', 'Approved'), ('rejected', 'Rejected')], db_index=True, default='not_uploaded', max_length=20)),
                ('aadhaar_status', models.CharField(choices=[('not_uploaded', 'Not Uploaded'), ('pending', 'Pending'), ('approved', 'Approved'), ('rejected', 'Rejected')], db_index=True, default='not_uploaded', max_length=20)),
                ('bank_status', models.CharField(choices=[('not_uploaded', 'Not Uploaded'), ('pending', 'Pending'), ('approved', 'Approved'), ('rejected', 'Rejected')], db_index=True, default='not_uploaded', max_length=20)),
                ('pan_review_note', models.CharField(blank=True, default='', max_length=500)),
                ('aadhaar_review_note', models.CharField(blank=True, default='', max_length=500)),
                ('bank_review_note', models.CharField(blank=True, default='', max_length=500)),
                ('overall_status', models.CharField(choices=[('draft', 'Draft'), ('under_review', 'Under Review'), ('approved', 'Approved'), ('rejected', 'Rejected')], db_index=True, default='draft', max_length=20)),
                ('submitted_at', models.DateTimeField(blank=True, null=True)),
                ('reviewed_at', models.DateTimeField(blank=True, null=True)),
                ('reviewed_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviewed_kyc_profiles', to='accounts.user')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='kyc_profile', to='accounts.user')),
            ],
            options={
                'ordering': ['-updated_at'],
            },
        ),
    ]
