notyfikacje
This commit is contained in:
@@ -79,3 +79,27 @@ class NoteItem(user_db.Model):
|
||||
)
|
||||
|
||||
note = relationship("Note", back_populates="items")
|
||||
|
||||
|
||||
class Notification(user_db.Model):
|
||||
__tablename__ = "notification"
|
||||
|
||||
id = user_db.Column(user_db.Integer, primary_key=True)
|
||||
user_id = user_db.Column(
|
||||
user_db.Integer, user_db.ForeignKey("user.id"), nullable=False, index=True
|
||||
)
|
||||
message = user_db.Column(user_db.String(500), nullable=False)
|
||||
is_read = user_db.Column(user_db.Boolean, nullable=False, default=False)
|
||||
created_at = user_db.Column(
|
||||
user_db.DateTime, nullable=False, default=lambda: datetime.now(timezone.utc)
|
||||
)
|
||||
read_at = user_db.Column(user_db.DateTime, nullable=True)
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return "read" if self.is_read else "new"
|
||||
|
||||
def mark_read(self) -> None:
|
||||
if not self.is_read:
|
||||
self.is_read = True
|
||||
self.read_at = datetime.now(timezone.utc)
|
||||
|
||||
Reference in New Issue
Block a user