diff --git a/sapl/integracao_hub/migrations/0003_assinaturarecebida_documentoparaassinatura.py b/sapl/integracao_hub/migrations/0003_assinaturarecebida_documentoparaassinatura.py new file mode 100644 index 000000000..f7943208e --- /dev/null +++ b/sapl/integracao_hub/migrations/0003_assinaturarecebida_documentoparaassinatura.py @@ -0,0 +1,45 @@ +# Generated by Django 2.2.28 on 2026-08-20 17:26 + +from django.db import migrations, models +import django.db.models.deletion +import sapl.integracao_hub.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('materia', '0094_add_anexoproposicao'), + ('integracao_hub', '0002_anexoproposicao'), + ] + + operations = [ + migrations.CreateModel( + name='DocumentoParaAssinatura', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('arquivo', models.FileField(upload_to=sapl.integracao_hub.models._caminho_pdf_alvo, verbose_name='PDF-alvo da assinatura')), + ('hash_sha256', models.CharField(max_length=64, verbose_name='SHA-256 do PDF-alvo')), + ('hash_origem', models.CharField(max_length=64, verbose_name='SHA-256 do texto_original usado na geração')), + ('gerado_em', models.DateTimeField(auto_now=True, verbose_name='Gerado em')), + ('materia', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, related_name='documento_para_assinatura', to='materia.MateriaLegislativa', verbose_name='Matéria Legislativa')), + ], + options={ + 'verbose_name': 'Documento para Assinatura', + 'verbose_name_plural': 'Documentos para Assinatura', + }, + ), + migrations.CreateModel( + name='AssinaturaRecebida', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('chave_idempotencia', models.UUIDField(unique=True, verbose_name='Chave de Idempotência')), + ('hash_assinado', models.CharField(max_length=64, verbose_name='SHA-256 do PDF assinado recebido')), + ('recebido_em', models.DateTimeField(auto_now_add=True, verbose_name='Recebido em')), + ('materia', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='materia.MateriaLegislativa', verbose_name='Matéria Legislativa')), + ], + options={ + 'verbose_name': 'Assinatura Recebida do Hub', + 'verbose_name_plural': 'Assinaturas Recebidas do Hub', + }, + ), + ]