from typing import TYPE_CHECKING from sqlalchemy import DateTime, ForeignKeyConstraint, Integer, PrimaryKeyConstraint, String, UniqueConstraint, func, text from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy.orm.base import Mapped from datetime import datetime from core.database import Base if TYPE_CHECKING: from api.v1.modules.a76.pedmientos.models.pedimentos import Pedimentos class PedimentoValidation(Base): __tablename__ = 'pedimento_validation' #PedimentoValidacion __table_args__ = ( ForeignKeyConstraint(['tenant_id'], ['a76.tenants.id']), ForeignKeyConstraint(['pedimento_id'], ['a76.pedimentos.id'], ondelete='CASCADE', name='fk_pedimento_validation'), PrimaryKeyConstraint('id', name='pedimento_validation_pkey'), UniqueConstraint('pedimento_id', name='pedimento_validation_pedimento_id_key'), {'schema': 'a76'} ) id = mapped_column(Integer) pedimento_id = mapped_column(Integer, nullable=False) tenant_id = mapped_column(Integer, nullable=False, index=True) validator = mapped_column(String(3)) #validador validation_ack = mapped_column(String(8)) #acuse_validacion pre_ack = mapped_column(String(8)) #acuse_previo line_signature = mapped_column(String(50)) #firma_linea_captura electronic_signature = mapped_column(String(999)) #firma_electronica certificate_number = mapped_column(String(99)) #numero_certificado validator_id = mapped_column(Integer) responsible_id = mapped_column(Integer) created_at: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=func.now()) updated_at: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=func.now(), onupdate=func.now()) deleted_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) pedimento: Mapped['Pedimentos'] = relationship('Pedimentos', back_populates='pedimento_validation')