from sqlalchemy.orm import Mapped from sqlalchemy.orm import mapped_column from sqlalchemy.orm import relationship from sqlalchemy import ForeignKey from .base import Base from typing import TYPE_CHECKING if TYPE_CHECKING: from .isp import Isp class IspConnection(Base): location_code: Mapped[str] contract_num: Mapped[str] = mapped_column(nullable=True) contract_date: Mapped[str] = mapped_column(nullable=True) contract_company: Mapped[str] = mapped_column(nullable=True) cost: Mapped[int] = mapped_column(nullable=True) speed: Mapped[int] = mapped_column(nullable=True) connection_type: Mapped[str] = mapped_column(nullable=True) network: Mapped[str] = mapped_column(nullable=True) address_type: Mapped[str] = mapped_column(nullable=True) isp_id: Mapped[int] = mapped_column(ForeignKey("isps.id")) isp: Mapped["Isp"] = relationship(back_populates="isp_connections")