diff --git a/db.svg b/db.svg
new file mode 100644
index 0000000..8a0ac41
--- /dev/null
+++ b/db.svg
@@ -0,0 +1,494 @@
+
+
+
+
+
diff --git a/src/model/notification.rs b/src/model/notification.rs
index 3268e6d..2a661cf 100644
--- a/src/model/notification.rs
+++ b/src/model/notification.rs
@@ -58,7 +58,16 @@ impl Notification {
pub async fn for_user(db: &SqlitePool, user: &User) -> Vec {
sqlx::query_as!(
Self,
- "SELECT * FROM notification WHERE user_id = ? ORDER BY created_at DESC",
+ "
+SELECT * FROM notification
+WHERE
+ user_id = ?
+ AND (
+ read_at IS NULL
+ OR read_at >= datetime('now', '-30 days')
+ )
+ORDER BY read_at DESC, created_at DESC;
+ ",
user.id
)
.fetch_all(db)