diff options
Diffstat (limited to 'thallium-backend/src')
| -rw-r--r-- | thallium-backend/src/orm/products.py | 18 | ||||
| -rw-r--r-- | thallium-backend/src/orm/users.py | 12 |
2 files changed, 30 insertions, 0 deletions
diff --git a/thallium-backend/src/orm/products.py b/thallium-backend/src/orm/products.py new file mode 100644 index 0000000..2c07b75 --- /dev/null +++ b/thallium-backend/src/orm/products.py @@ -0,0 +1,18 @@ +from decimal import Decimal + +from sqlalchemy.orm import Mapped, mapped_column +from sqlalchemy.types import LargeBinary + +from .base import AuditBase, Base + + +class Product(AuditBase, Base): + """A product available to be ordered.""" + + __tablename__ = "products" + + product_id: Mapped[int] = mapped_column(primary_key=True) + name: Mapped[str] + description: Mapped[str] + price: Mapped[Decimal] + image: Mapped[bytes] = mapped_column(LargeBinary, deferred=True) diff --git a/thallium-backend/src/orm/users.py b/thallium-backend/src/orm/users.py new file mode 100644 index 0000000..065519a --- /dev/null +++ b/thallium-backend/src/orm/users.py @@ -0,0 +1,12 @@ +from sqlalchemy.orm import Mapped, mapped_column + +from .base import AuditBase, Base + + +class User(AuditBase, Base): + """An authenticated user of the service.""" + + __tablename__ = "users" + + user_id: Mapped[int] = mapped_column(primary_key=True) + is_admin: Mapped[bool] |