Skip to content

Commit e841485

Browse files
committed
add cart entity models
1 parent 1becb4e commit e841485

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

models/entity/cart_entity.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from datetime import datetime
2+
from typing import Optional, List
3+
from uuid import UUID, uuid4
4+
from sqlmodel import Field, SQLModel
5+
from models.entity.cart_item_entity import CartItemEntity
6+
7+
8+
class CartEntity(SQLModel, table=True ):
9+
id: Optional[UUID] = Field(default_factory=uuid4, primary_key=True)
10+
user_id: UUID = Field(foreign_key="user.id")
11+
items: List[CartItemEntity] = Field(default=[])
12+
created_at: datetime = Field(default_factory=datetime.utcnow)
13+
updated_at: datetime = Field(default_factory=datetime.utcnow)
14+
total_price: float = Field(default=0.0)
15+
total_quantity: int = Field(default=0)
16+
notes: Optional[str] = None

models/entity/cart_item_entity.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from datetime import datetime
2+
from typing import Optional
3+
from uuid import UUID, uuid4
4+
from sqlmodel import Field, SQLModel
5+
6+
class CartItemEntity(SQLModel, table=True):
7+
id: Optional[UUID] = Field(default_factory=uuid4, primary_key=True)
8+
cart_id: UUID = Field(foreign_key="cartentity.id")
9+
inventory_id: UUID = Field(foreign_key="inventory.id")
10+
quantity: int = Field(default=1)
11+
price: float = Field(default=0.0)
12+
created_at: datetime = Field(default_factory=datetime.utcnow)
13+
updated_at: datetime = Field(default_factory=datetime.utcnow)
14+
notes: Optional[str] = None

0 commit comments

Comments
 (0)