79 lines
2.8 KiB
Python
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))
|