- New reservations module: model, schema, router (CRUD + status updates + upcoming alerts) and background task for auto-expiring stale reservations - Reports: print_products, print_categories, print_tables analytics endpoints plus meta_products and business_day_summary for workday close/view flow - printer_service: configurable font sizes/weights, donut/bar chart print layout helpers, analytics print blocks per printer - tables/schemas: surfaced color, zone, and other new fields on Table, Product, User, Printer - demo_seed.py for quick dev DB population; wipe_database.py utility Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
709 B
Python
19 lines
709 B
Python
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)
|
|
line_width = Column(Integer, default=48, nullable=False)
|
|
|
|
products = relationship("Product", back_populates="printer_zone")
|
|
print_logs = relationship("PrintLog", back_populates="printer")
|