""" Database models for the contact module Models: - Contact: id[pk], email, first_name, last_name, phonenumber, vat_number street_address, street_address_line_2, post_office_box_number, address_locality, country_code, address_region, postal_code """ from sqlalchemy import ForeignKey from sqlalchemy.orm import mapped_column, Mapped from src.models import CustomBase class Contact(CustomBase): __tablename__ = "contact" id: Mapped[int] = mapped_column(primary_key=True) email: Mapped[str] first_name: Mapped[str] last_name: Mapped[str] phonenumber: Mapped[str] vat_number: Mapped[str | None] = mapped_column(default=None) street_address : Mapped[str] street_address_line_2 : Mapped[str] post_office_box_number: Mapped[str | None] = mapped_column(default=None) locality : Mapped[str] # Ie City country_code : Mapped[str] # Eg GB address_region: Mapped[str | None] = mapped_column(default=None) postal_code : Mapped[str] org_id: Mapped[int] = mapped_column( ForeignKey("organisation.id", ondelete="CASCADE"), nullable=False )