Files
ebook-extension/ebook_backend&admin_panel/admin-backend/models/coupon.py

23 lines
892 B
Python

from sqlalchemy import Column, Integer, String, DateTime
from datetime import datetime
import pytz
from utils.auth import Base
class Coupon(Base):
"""
SQLAlchemy model representing a coupon code entry in the database.
Attributes:
id (int): Primary key identifier.
code (str): Unique coupon code string.
usage_count (int): Number of times the coupon has been used.
created_at (datetime): Timestamp of coupon creation (stored in Europe/Bratislava timezone).
used_at (datetime | None): Timestamp of the last usage, nullable.
"""
__tablename__ = "coupon_codes"
id = Column(Integer, primary_key=True)
code = Column(String, unique=True)
usage_count = Column(Integer, default=0)
created_at = Column(DateTime, default=lambda: datetime.now(pytz.timezone('Europe/Bratislava')))
used_at = Column(DateTime, nullable=True)