from sqlalchemy import Column, Integer, String, Boolean
from sqlalchemy.orm import relationship
from database import Base


class Printer(Base):
    __tablename__ = "printers"

    id = Column(Integer, primary_key=True, index=True)
    name = Column(String, nullable=False)
    ip_address = Column(String, nullable=False)
    port = Column(Integer, default=9100, nullable=False)
    is_active = Column(Boolean, default=True, nullable=False)
    protocol = Column(String, default="escpos_tcp", nullable=False)

    products = relationship("Product", back_populates="printer_zone")
    print_logs = relationship("PrintLog", back_populates="printer")
