# Generated by Django 4.2.11 on 2026-05-21 08:37

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import documents.models
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('credit_scoring', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Document',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('document_type', models.CharField(choices=[('BEE', 'BEE Certificate'), ('TAX', 'Tax Clearance Certificate'), ('FINANCIAL', 'Financial Statements (3 years)'), ('ID', 'Director ID Documents'), ('CIPC', 'CIPC Registration Document'), ('BANKING', 'Banking Details Confirmation'), ('INVOICE', 'Sample Invoice'), ('PO', 'Purchase Order'), ('CONTRACT', 'Service Contract')], max_length=20)),
                ('file', models.FileField(upload_to=documents.models.application_document_path)),
                ('filename', models.CharField(max_length=255)),
                ('file_size', models.IntegerField(help_text='File size in bytes')),
                ('status', models.CharField(choices=[('PENDING', 'Pending Verification'), ('VERIFIED', 'Verified'), ('REJECTED', 'Rejected'), ('EXPIRED', 'Expired')], default='PENDING', max_length=20)),
                ('verified_at', models.DateTimeField(blank=True, null=True)),
                ('rejection_reason', models.TextField(blank=True)),
                ('uploaded_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('credit_application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='credit_scoring.creditapplication')),
                ('verified_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'documents',
                'ordering': ['-uploaded_at'],
            },
        ),
    ]
