diff --git a/app/models.py b/app/models.py index 6475416..ab0a476 100644 --- a/app/models.py +++ b/app/models.py @@ -1,11 +1,35 @@ -from sqlalchemy import Integer, String +from datetime import datetime + +from sqlalchemy import DateTime, ForeignKey, Integer, String from sqlalchemy.orm import Mapped, mapped_column from .db import Base +class User(Base): + __tablename__ = "users" + + id: Mapped[int] = mapped_column(Integer, primary_key=True) + name: Mapped[str] = mapped_column(String) + contact: Mapped[int] = mapped_column(Integer, nullable=True) + + class Drink(Base): __tablename__ = "drinks" id: Mapped[int] = mapped_column(Integer, primary_key=True) name: Mapped[str] = mapped_column(String) + price: Mapped[int] = mapped_column(Integer) + stock: Mapped[int] = mapped_column(Integer) + stocked_by: Mapped[int] = mapped_column(Integer, ForeignKey(User.id)) + + +# Buys +class Transaction(Base): + __tablename__ = "transactions" + + id: Mapped[int] = mapped_column(Integer, primary_key=True) + drink: Mapped[int] = mapped_column(Integer, ForeignKey(Drink.id)) + user: Mapped[int] = mapped_column(Integer, ForeignKey(User.id)) + quantity: Mapped[int] = mapped_column(Integer) + timestamp: Mapped[datetime] = mapped_column(DateTime)