simplify server implementation

This commit is contained in:
Mikayla Maki 2023-08-03 13:26:28 -07:00
parent 9a1dd0c6bc
commit 129f2890c5
No known key found for this signature in database

View file

@ -2277,13 +2277,6 @@ async fn join_channel(
let joined_room = { let joined_room = {
let db = session.db().await; let db = session.db().await;
if db
.is_current_room_different_channel(session.user_id, channel_id)
.await?
{
leave_room_for_session_with_guard(&session, &db).await?;
}
let room_id = db.room_id_for_channel(channel_id).await?; let room_id = db.room_id_for_channel(channel_id).await?;
let joined_room = db let joined_room = db
@ -2539,14 +2532,7 @@ fn channel_updated(
async fn update_user_contacts(user_id: UserId, session: &Session) -> Result<()> { async fn update_user_contacts(user_id: UserId, session: &Session) -> Result<()> {
let db = session.db().await; let db = session.db().await;
update_user_contacts_with_guard(user_id, session, &db).await
}
async fn update_user_contacts_with_guard(
user_id: UserId,
session: &Session,
db: &DbHandle,
) -> Result<()> {
let contacts = db.get_contacts(user_id).await?; let contacts = db.get_contacts(user_id).await?;
let busy = db.is_user_busy(user_id).await?; let busy = db.is_user_busy(user_id).await?;
@ -2580,11 +2566,6 @@ async fn update_user_contacts_with_guard(
} }
async fn leave_room_for_session(session: &Session) -> Result<()> { async fn leave_room_for_session(session: &Session) -> Result<()> {
let db = session.db().await;
leave_room_for_session_with_guard(session, &db).await
}
async fn leave_room_for_session_with_guard(session: &Session, db: &DbHandle) -> Result<()> {
let mut contacts_to_update = HashSet::default(); let mut contacts_to_update = HashSet::default();
let room_id; let room_id;
@ -2595,7 +2576,7 @@ async fn leave_room_for_session_with_guard(session: &Session, db: &DbHandle) ->
let channel_members; let channel_members;
let channel_id; let channel_id;
if let Some(mut left_room) = db.leave_room(session.connection_id).await? { if let Some(mut left_room) = session.db().await.leave_room(session.connection_id).await? {
contacts_to_update.insert(session.user_id); contacts_to_update.insert(session.user_id);
for project in left_room.left_projects.values() { for project in left_room.left_projects.values() {
@ -2645,7 +2626,7 @@ async fn leave_room_for_session_with_guard(session: &Session, db: &DbHandle) ->
} }
for contact_user_id in contacts_to_update { for contact_user_id in contacts_to_update {
update_user_contacts_with_guard(contact_user_id, &session, db).await?; update_user_contacts(contact_user_id, &session).await?;
} }
if let Some(live_kit) = session.live_kit_client.as_ref() { if let Some(live_kit) = session.live_kit_client.as_ref() {