mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-10 05:37:29 +03:00
🎨
This commit is contained in:
parent
0f4598a243
commit
7dae21cb36
@ -49,6 +49,7 @@ impl BeginTransaction for Db<sqlx::Postgres> {
|
||||
}
|
||||
|
||||
// In Sqlite, transactions are inherently serializable.
|
||||
#[cfg(test)]
|
||||
impl BeginTransaction for Db<sqlx::Sqlite> {
|
||||
type Database = sqlx::Sqlite;
|
||||
|
||||
@ -1141,10 +1142,7 @@ where
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn leave_room_for_connection(
|
||||
&self,
|
||||
connection_id: ConnectionId,
|
||||
) -> Result<Option<LeftRoom>> {
|
||||
pub async fn leave_room(&self, connection_id: ConnectionId) -> Result<Option<LeftRoom>> {
|
||||
self.transact(|mut tx| async move {
|
||||
// Leave room.
|
||||
let room_id = sqlx::query_scalar::<_, RoomId>(
|
||||
@ -1498,8 +1496,7 @@ where
|
||||
.bind(user_id)
|
||||
.bind(connection_id.0 as i32)
|
||||
.fetch_one(&mut tx)
|
||||
.await
|
||||
.unwrap();
|
||||
.await?;
|
||||
|
||||
if !worktrees.is_empty() {
|
||||
let mut params = "(?, ?, ?, ?, ?, ?, ?),".repeat(worktrees.len());
|
||||
@ -1530,7 +1527,7 @@ where
|
||||
.bind(0)
|
||||
.bind(false);
|
||||
}
|
||||
query.execute(&mut tx).await.unwrap();
|
||||
query.execute(&mut tx).await?;
|
||||
}
|
||||
|
||||
sqlx::query(
|
||||
@ -1551,8 +1548,7 @@ where
|
||||
.bind(0)
|
||||
.bind(true)
|
||||
.execute(&mut tx)
|
||||
.await
|
||||
.unwrap();
|
||||
.await?;
|
||||
|
||||
let room = self.commit_room_transaction(room_id, tx).await?;
|
||||
Ok((project_id, room))
|
||||
|
@ -629,7 +629,7 @@ impl Server {
|
||||
) -> Result<()> {
|
||||
let mut contacts_to_update = HashSet::default();
|
||||
|
||||
let Some(left_room) = self.app_state.db.leave_room_for_connection(leaving_connection_id).await? else {
|
||||
let Some(left_room) = self.app_state.db.leave_room(leaving_connection_id).await? else {
|
||||
return Err(anyhow!("no room to leave"))?;
|
||||
};
|
||||
contacts_to_update.insert(leaving_user_id);
|
||||
|
Loading…
Reference in New Issue
Block a user