Automated Action b078a91dd3 Implement simple ecommerce API with FastAPI and SQLite
- Setup project structure and FastAPI application
- Create SQLAlchemy models for users, products, carts, and orders
- Implement Alembic migrations
- Add CRUD operations and endpoints for all resources
- Setup authentication with JWT
- Add role-based access control
- Update documentation
2025-06-12 17:15:18 +00:00

52 lines
934 B
Python

from datetime import datetime
from typing import List
from pydantic import BaseModel, Field
from app.schemas.product import Product
# Shared properties
class CartItemBase(BaseModel):
product_id: int
quantity: int = Field(..., gt=0)
# Properties to receive on cart item creation
class CartItemCreate(CartItemBase):
pass
# Properties to receive on cart item update
class CartItemUpdate(BaseModel):
quantity: int = Field(..., gt=0)
class CartItemInDBBase(CartItemBase):
id: int
user_id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
# Additional properties to return via API
class CartItem(CartItemInDBBase):
pass
# Additional properties stored in DB
class CartItemInDB(CartItemInDBBase):
pass
class CartItemWithProduct(CartItem):
product: Product
class Cart(BaseModel):
items: List[CartItemWithProduct]
total: float