ai_giga_tcg/app/models/tcgplayer_order.py
2025-04-17 00:09:16 -04:00

79 lines
2.8 KiB
Python

from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey, JSON
from sqlalchemy.orm import relationship
from datetime import datetime, UTC
from app.db.database import Base
class TCGPlayerOrder(Base):
__tablename__ = "tcgplayer_orders"
id = Column(Integer, primary_key=True, index=True)
order_number = Column(String, index=True)
order_created_at = Column(DateTime)
status = Column(String)
channel = Column(String)
fulfillment = Column(String)
seller_name = Column(String)
buyer_name = Column(String)
payment_type = Column(String)
pickup_status = Column(String)
shipping_type = Column(String)
estimated_delivery_date = Column(DateTime)
recipient_name = Column(String)
address_line_1 = Column(String)
address_line_2 = Column(String)
city = Column(String)
state = Column(String)
zip_code = Column(String)
country = Column(String)
tracking_numbers = Column(JSON)
created_at = Column(DateTime, default=lambda: datetime.now(UTC))
updated_at = Column(DateTime, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC))
class TCGPlayerOrderTransaction(Base):
__tablename__ = "tcgplayer_order_transactions"
id = Column(Integer, primary_key=True, index=True)
order_number = Column(String, index=True)
product_amount = Column(Float)
shipping_amount = Column(Float)
gross_amount = Column(Float)
fee_amount = Column(Float)
net_amount = Column(Float)
direct_fee_amount = Column(Float)
taxes = Column(JSON)
created_at = Column(DateTime, default=lambda: datetime.now(UTC))
updated_at = Column(DateTime, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC))
class TCGPlayerOrderProduct(Base):
__tablename__ = "tcgplayer_order_products"
id = Column(Integer, primary_key=True, index=True)
order_number = Column(String, index=True)
product_name = Column(String)
unit_price = Column(Float)
extended_price = Column(Float)
quantity = Column(Integer)
url = Column(String)
product_id = Column(String)
sku_id = Column(String)
created_at = Column(DateTime, default=lambda: datetime.now(UTC))
updated_at = Column(DateTime, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC))
class TCGPlayerOrderRefund(Base):
__tablename__ = "tcgplayer_order_refunds"
id = Column(Integer, primary_key=True, index=True)
order_number = Column(String, index=True)
refund_created_at = Column(DateTime)
type = Column(String)
amount = Column(Float)
type = Column(String)
description = Column(String)
origin = Column(String)
shipping_amount = Column(Float)
products = Column(JSON)
created_at = Column(DateTime, default=lambda: datetime.now(UTC))
updated_at = Column(DateTime, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC))