Automated Action f942ce333e Fix OpenAPI schema generation and Pydantic model compatibility
- Update Pydantic models to use model_config instead of Config class for v2 compatibility
- Fix CORS settings to allow all origins in development mode
- Fix circular imports in auth.py
- Remove unused imports
2025-05-26 11:12:38 +00:00

73 lines
1.3 KiB
Python

from typing import List, Optional
from datetime import datetime
from pydantic import BaseModel, Field
from app.models.order import OrderStatus
class OrderItemBase(BaseModel):
product_id: str
quantity: int = Field(..., gt=0)
price: float = Field(..., gt=0)
class OrderItemCreate(OrderItemBase):
pass
class OrderItemInDBBase(OrderItemBase):
id: str
order_id: str
created_at: datetime
updated_at: datetime
model_config = {
"from_attributes": True
}
class OrderItem(OrderItemInDBBase):
pass
class OrderBase(BaseModel):
shipping_address: Optional[str] = None
class OrderCreate(OrderBase):
user_id: str
class OrderUpdate(BaseModel):
status: Optional[OrderStatus] = None
shipping_address: Optional[str] = None
payment_id: Optional[str] = None
class OrderInDBBase(OrderBase):
id: str
user_id: str
status: OrderStatus
total_amount: float
payment_id: Optional[str] = None
created_at: datetime
updated_at: datetime
model_config = {
"from_attributes": True
}
class Order(OrderInDBBase):
items: List[OrderItem] = []
class OrderList(BaseModel):
id: str
status: OrderStatus
total_amount: float
created_at: datetime
model_config = {
"from_attributes": True
}