This commit is contained in:
2025-04-29 00:00:47 -04:00
parent 56ba750aad
commit c9bba8a26e
25 changed files with 1266 additions and 152052 deletions

29
app/models/pricing.py Normal file
View File

@@ -0,0 +1,29 @@
from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey, CheckConstraint, Index, Boolean, Table, UniqueConstraint
from sqlalchemy.orm import relationship
from app.db.database import Base
from sqlalchemy import event
from sqlalchemy.orm import Session
from sqlalchemy import func
import logging
logger = logging.getLogger(__name__)
class PricingEvent(Base):
__tablename__ = "pricing_events"
id = Column(Integer, primary_key=True)
inventory_item_id = Column(Integer, ForeignKey("inventory_items.id"))
price = Column(Float)
price_used = Column(String)
price_reason = Column(String)
free_shipping_adjustment = Column(Boolean, default=False)
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
deleted_at = Column(DateTime(timezone=True), nullable=True)
# Relationships
inventory_item = relationship(
"InventoryItem",
primaryjoin="PricingEvent.inventory_item_id == foreign(InventoryItem.id)",
viewonly=True
)