"""add rem support to mailboxes and messages Revision ID: 0021 Revises: 0020 Create Date: 2026-06-18 Aggiunge campi per supporto REM (Registered Electronic Mail europea, ETSI EN 319 532-4): - mailboxes.protocol_type VARCHAR(10) DEFAULT 'pec_it' Indica il protocollo della casella: 'pec_it' (PEC italiana) o 'rem_eu' (REM europea) - mailboxes.rem_provider VARCHAR(100) nullable Nome del provider REM europeo (es. 'docutel', 'anodet', 'de-mail') - messages.protocol_type VARCHAR(10) DEFAULT 'pec_it' Protocollo del messaggio, copiato dalla casella al momento della ricezione - messages.rem_evidence_type VARCHAR(100) nullable Tipo evidenza REM grezzo (es. 'SubmissionAcceptance', 'DeliveryInformation') Valorizzato solo per messaggi REM; None per PEC italiane. """ from alembic import op import sqlalchemy as sa # revision identifiers revision = "0021" down_revision = "0020" branch_labels = None depends_on = None def upgrade() -> None: # ── Tabella mailboxes ───────────────────────────────────────────────────── op.add_column( "mailboxes", sa.Column( "protocol_type", sa.String(10), nullable=False, server_default="pec_it", comment="Tipo protocollo: pec_it (PEC italiana) | rem_eu (REM europea ETSI EN 319 532-4)", ), ) op.add_column( "mailboxes", sa.Column( "rem_provider", sa.String(100), nullable=True, comment="Nome provider REM europeo (es. docutel, anodet, de-mail)", ), ) # ── Tabella messages ────────────────────────────────────────────────────── op.add_column( "messages", sa.Column( "protocol_type", sa.String(10), nullable=False, server_default="pec_it", comment="Tipo protocollo del messaggio: pec_it | rem_eu", ), ) op.add_column( "messages", sa.Column( "rem_evidence_type", sa.String(100), nullable=True, comment=( "Tipo evidenza REM grezzo (es. SubmissionAcceptance, DeliveryInformation). " "Valorizzato solo per messaggi REM (protocol_type = 'rem_eu')." ), ), ) def downgrade() -> None: op.drop_column("mailboxes", "rem_provider") op.drop_column("mailboxes", "protocol_type") op.drop_column("messages", "rem_evidence_type") op.drop_column("messages", "protocol_type")