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)