Automated Action 609e7fb237 Implement retail management and payment API with FastAPI
This API provides endpoints for:
- Product and inventory management
- Customer management
- Order processing
- Payment processing with Stripe integration
- User authentication

generated with BackendIM... (backend.im)
2025-05-12 12:00:19 +00:00

71 lines
1.5 KiB
Python

from typing import List, Optional
from datetime import datetime
from pydantic import BaseModel
class OrderItemBase(BaseModel):
product_id: int
quantity: int = 1
unit_price: float
class OrderItemCreate(OrderItemBase):
pass
class OrderItemInDBBase(OrderItemBase):
id: int
order_id: int
class Config:
orm_mode = True
class OrderItem(OrderItemInDBBase):
pass
class OrderBase(BaseModel):
customer_id: int
status: str = "pending"
total_amount: float
shipping_address: Optional[str] = None
shipping_city: Optional[str] = None
shipping_state: Optional[str] = None
shipping_zip: Optional[str] = None
shipping_country: Optional[str] = None
class OrderCreate(OrderBase):
items: List[OrderItemCreate]
class OrderUpdate(BaseModel):
status: Optional[str] = None
payment_status: Optional[str] = None
shipping_address: Optional[str] = None
shipping_city: Optional[str] = None
shipping_state: Optional[str] = None
shipping_zip: Optional[str] = None
shipping_country: Optional[str] = None
class OrderInDBBase(OrderBase):
id: int
order_number: str
payment_intent_id: Optional[str] = None
payment_status: str
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
orm_mode = True
class Order(OrderInDBBase):
items: List[OrderItem] = []
class PaymentIntentResponse(BaseModel):
client_secret: str
payment_intent_id: str