from sqlalchemy import Column, ForeignKey, Integer, String, Text from sqlalchemy.orm import relationship from app.db.session import Base from app.models.base import Base as CustomBase class Customer(Base, CustomBase): """Customer model for managing client information.""" name = Column(String(255), nullable=False) email = Column(String(255), nullable=True) phone = Column(String(50), nullable=True) address = Column(Text, nullable=True) tax_id = Column(String(50), nullable=True) notes = Column(Text, nullable=True) # Foreign keys user_id = Column(Integer, ForeignKey("user.id"), nullable=False) # Relationships user = relationship("User", back_populates="customers") invoices = relationship("Invoice", back_populates="customer", cascade="all, delete-orphan")