]> Untitled Git - lemmy.git/blobdiff - crates/db_views/src/private_message_view.rs
Adding GetUnreadCount to the API. Fixes #1794 (#1842)
[lemmy.git] / crates / db_views / src / private_message_view.rs
index 8fee2fc9bb3012c9009bf919bcb9992f6754fe63..86c1b79cb197a47b52948113abf9ffeb819b4785 100644 (file)
@@ -41,6 +41,17 @@ impl PrivateMessageView {
       recipient,
     })
   }
+
+  /// Gets the number of unread messages
+  pub fn get_unread_messages(conn: &PgConnection, my_person_id: PersonId) -> Result<i64, Error> {
+    use diesel::dsl::*;
+    private_message::table
+      .filter(private_message::read.eq(false))
+      .filter(private_message::recipient_id.eq(my_person_id))
+      .filter(private_message::deleted.eq(false))
+      .select(count(private_message::id))
+      .first::<i64>(conn)
+  }
 }
 
 pub struct PrivateMessageQueryBuilder<'a> {