
- 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
58 lines
878 B
Python
58 lines
878 B
Python
from typing import List
|
|
from datetime import datetime
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class CartItemBase(BaseModel):
|
|
product_id: str
|
|
quantity: int = Field(..., gt=0)
|
|
|
|
|
|
class CartItemCreate(CartItemBase):
|
|
pass
|
|
|
|
|
|
class CartItemUpdate(BaseModel):
|
|
quantity: int = Field(..., gt=0)
|
|
|
|
|
|
class CartItemInDBBase(CartItemBase):
|
|
id: str
|
|
cart_id: str
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
model_config = {
|
|
"from_attributes": True
|
|
}
|
|
|
|
|
|
class CartItem(CartItemInDBBase):
|
|
pass
|
|
|
|
|
|
class CartBase(BaseModel):
|
|
pass
|
|
|
|
|
|
class CartCreate(CartBase):
|
|
user_id: str
|
|
|
|
|
|
class CartUpdate(CartBase):
|
|
pass
|
|
|
|
|
|
class CartInDBBase(CartBase):
|
|
id: str
|
|
user_id: str
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
model_config = {
|
|
"from_attributes": True
|
|
}
|
|
|
|
|
|
class Cart(CartInDBBase):
|
|
items: List[CartItem] = [] |