order and api and more
This commit is contained in:
@ -1,25 +0,0 @@
|
||||
from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
from datetime import datetime
|
||||
from app.db.database import Base
|
||||
|
||||
class Order(Base):
|
||||
__tablename__ = "orders"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
customer_name = Column(String, index=True)
|
||||
customer_email = Column(String)
|
||||
total_amount = Column(Float)
|
||||
status = Column(String, default="pending") # pending, processing, shipped, delivered, cancelled
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
class OrderCard(Base):
|
||||
__tablename__ = "order_cards"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
order_id = Column(Integer, ForeignKey("orders.id"))
|
||||
card_id = Column(Integer, ForeignKey("cards.id"))
|
||||
quantity = Column(Integer, default=1)
|
||||
price_at_time = Column(Float) # Price of the card when ordered
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
78
app/models/tcgplayer_order.py
Normal file
78
app/models/tcgplayer_order.py
Normal file
@ -0,0 +1,78 @@
|
||||
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))
|
Reference in New Issue
Block a user