This commit is contained in:
@@ -126,6 +126,24 @@ class RecurrenceException(Base):
|
||||
deleted: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
|
||||
|
||||
class Countdown(Base):
|
||||
__tablename__ = "countdowns"
|
||||
__table_args__ = (
|
||||
Index("ix_countdowns_user_archive_date", "user_id", "archived_at", "event_date"),
|
||||
)
|
||||
id: Mapped[UUID] = mapped_column(primary_key=True, default=new_id)
|
||||
user_id: Mapped[UUID] = mapped_column(ForeignKey("users.id", ondelete="CASCADE"), index=True)
|
||||
title: Mapped[str] = mapped_column(String(200))
|
||||
event_date: Mapped[date] = mapped_column(Date)
|
||||
kind: Mapped[str] = mapped_column(String(16), default="countdown")
|
||||
repeat_rule: Mapped[str] = mapped_column(String(16), default="none")
|
||||
icon: Mapped[str] = mapped_column(String(32), default="📅")
|
||||
pinned: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
archived_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=utcnow)
|
||||
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=utcnow, onupdate=utcnow)
|
||||
|
||||
|
||||
class Habit(Base):
|
||||
__tablename__ = "habits"
|
||||
id: Mapped[UUID] = mapped_column(primary_key=True, default=new_id)
|
||||
|
||||
Reference in New Issue
Block a user