diff --git a/backend/app/models.py b/backend/app/models.py index 2d060ba0b4..a68752bad8 100644 --- a/backend/app/models.py +++ b/backend/app/models.py @@ -1,4 +1,5 @@ import uuid +from datetime import datetime, timezone from pydantic import EmailStr from sqlmodel import Field, Relationship, SQLModel @@ -92,6 +93,19 @@ class ItemsPublic(SQLModel): count: int +# Database model, database table inferred from class name +class ItemPurchase(SQLModel, table=True): + id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True) + item_id: uuid.UUID = Field( + foreign_key="item.id", nullable=False, ondelete="CASCADE" + ) + user_id: uuid.UUID = Field( + foreign_key="user.id", nullable=False, ondelete="CASCADE" + ) + quantity: int = Field(ge=1) + created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) + + # Generic message class Message(SQLModel): message: str