feat: Data models

This commit is contained in:
2026-04-01 14:42:42 +01:00
parent 91cdd6523f
commit 5cf9895c79

View File

@@ -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 sqlalchemy.orm import Mapped, mapped_column
from .db import Base 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): class Drink(Base):
__tablename__ = "drinks" __tablename__ = "drinks"
id: Mapped[int] = mapped_column(Integer, primary_key=True) id: Mapped[int] = mapped_column(Integer, primary_key=True)
name: Mapped[str] = mapped_column(String) 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)