Use Result for last_notification_read as zero-default not appropriate.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
9c5caa3a5f
commit
1f0cfec5ca
3 changed files with 6 additions and 4 deletions
|
|
@ -812,6 +812,7 @@ async fn load_joined_room(
|
|||
services
|
||||
.pusher
|
||||
.last_notification_read(sender_user, room_id)
|
||||
.ok()
|
||||
})
|
||||
.into();
|
||||
|
||||
|
|
@ -872,8 +873,9 @@ async fn load_joined_room(
|
|||
.map(Into::into)
|
||||
});
|
||||
|
||||
let send_notification_counts =
|
||||
last_notification_read.is_none_or(|last_count| last_count.gt(&since));
|
||||
let send_notification_counts = last_notification_read
|
||||
.flatten()
|
||||
.is_none_or(|last_count| last_count.gt(&since));
|
||||
|
||||
let notification_count: OptionFuture<_> = send_notification_counts
|
||||
.then(|| {
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ async fn matcher(
|
|||
services
|
||||
.pusher
|
||||
.last_notification_read(sender_user, &room_id)
|
||||
.unwrap_or_default()
|
||||
})
|
||||
.into();
|
||||
|
||||
|
|
|
|||
|
|
@ -50,14 +50,13 @@ pub async fn highlight_count(&self, user_id: &UserId, room_id: &RoomId) -> u64 {
|
|||
|
||||
#[implement(super::Service)]
|
||||
#[tracing::instrument(level = "debug", skip(self), ret(level = "trace"))]
|
||||
pub async fn last_notification_read(&self, user_id: &UserId, room_id: &RoomId) -> u64 {
|
||||
pub async fn last_notification_read(&self, user_id: &UserId, room_id: &RoomId) -> Result<u64> {
|
||||
let key = (room_id, user_id);
|
||||
self.db
|
||||
.roomuserid_lastnotificationread
|
||||
.qry(&key)
|
||||
.await
|
||||
.deserialized()
|
||||
.unwrap_or(0)
|
||||
}
|
||||
|
||||
#[implement(super::Service)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue