# Generated by Django 5.2 on 2025-07-17 14:48 import django.db.models.deletion import uuid 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='Contract', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('file', models.FileField(upload_to='contract/files/%Y/%m/')), ('contract_number', models.PositiveIntegerField()), ('name', models.CharField(max_length=200)), ('sides', models.CharField(choices=[('two_or_more', 'two or more'), ('customer_only', 'customer only'), ('only_company', 'onlycompany')], max_length=13)), ('status', models.CharField(choices=[('created', 'created'), ('signed_company', 'signed by company'), ('signed_customer', 'signed by customer'), ('contract_signed', 'contract signed'), ('cancelled', 'cancelled')], default='created', max_length=15)), ('face_id', models.BooleanField(default=False)), ('attach_file', models.BooleanField(default=False)), ('add_folder', models.BooleanField(default=False)), ('add_notification', models.BooleanField(default=False)), ('company', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='c', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'contract', 'verbose_name_plural': 'contracts', 'db_table': 'contracts', }, ), migrations.CreateModel( name='ContractSide', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('full_name', models.CharField(max_length=70)), ('indentification', models.CharField(max_length=20)), ('position', models.CharField(blank=True, max_length=50, null=True)), ('has_indentification', models.BooleanField(default=False)), ('user_role', models.CharField(choices=[('physical', 'physical'), ('legal', 'legal')], max_length=9)), ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_sides', to='contracts.contract')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_sides', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'contract side', 'verbose_name_plural': 'contract sides', 'db_table': 'contracts_sides', 'unique_together': {('contract', 'user')}, }, ), migrations.CreateModel( name='ContractSignature', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('status', models.CharField(choices=[('signed', 'signed'), ('organized', 'organized')], default='organized', max_length=20)), ('signature_type', models.CharField(blank=True, choices=[('sms_sign', 'sms signature'), ('electronic_sing', 'electronic signature')], max_length=20, null=True)), ('is_signature', models.BooleanField(default=False)), ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_signatures', to='contracts.contract')), ('contract_side', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='contract_signatures', to='contracts.contractside')), ], options={ 'verbose_name': 'contract signature', 'verbose_name_plural': 'contract signatures', 'db_table': 'contract_signatures', 'unique_together': {('contract', 'contract_side')}, }, ), migrations.CreateModel( name='ContractSignatureCode', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('code', models.PositiveSmallIntegerField()), ('expiration_time', models.DateTimeField()), ('signature', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='signature_codes', to='contracts.contractsignature')), ], options={ 'verbose_name': 'contract signature code', 'verbose_name_plural': 'contract signature codes', 'db_table': 'contract_signature_codes', }, ), ]