22 lines
685 B
Python
22 lines
685 B
Python
|
|
from enum import Enum as PyEnum
|
||
|
|
|
||
|
|
from sqlalchemy import Boolean, Column, DateTime, Enum, ForeignKey, String, Text
|
||
|
|
|
||
|
|
from app.models.base import BaseModel
|
||
|
|
|
||
|
|
|
||
|
|
class ReminderStatus(str, PyEnum):
|
||
|
|
PENDING = "pending"
|
||
|
|
DONE = "done"
|
||
|
|
|
||
|
|
|
||
|
|
class Reminder(BaseModel):
|
||
|
|
__tablename__ = "reminders"
|
||
|
|
|
||
|
|
user_id = Column(String(36), ForeignKey("users.id"), nullable=False, index=True)
|
||
|
|
title = Column(String(255), nullable=False)
|
||
|
|
note = Column(Text, nullable=True)
|
||
|
|
reminder_at = Column(DateTime, nullable=False, index=True)
|
||
|
|
status = Column(Enum(ReminderStatus), default=ReminderStatus.PENDING, nullable=False)
|
||
|
|
is_dismissed = Column(Boolean, default=False, nullable=False)
|