From 0310e27347cc19e45198df270842cab2b668f34b Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 14 Nov 2022 10:53:11 +0100 Subject: [PATCH] Fix query errors in `Db::share_project` --- crates/collab/src/db.rs | 11 +++++++---- crates/collab/src/rpc.rs | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/collab/src/db.rs b/crates/collab/src/db.rs index f32bdf96eff4725f93d2154f7f9c85336fb21340..d329bf23e500615c42b927035b12de997cb1c153 100644 --- a/crates/collab/src/db.rs +++ b/crates/collab/src/db.rs @@ -1296,10 +1296,11 @@ where SELECT projects.id, worktrees.root_name FROM projects LEFT JOIN worktrees ON projects.id = worktrees.project_id - WHERE room_id = $1 AND host_user_id = $2 + WHERE room_id = $1 AND host_connection_id = $2 ", ) .bind(room_id) + .bind(participant.peer_id as i32) .fetch(&mut *tx); let mut projects = HashMap::default(); @@ -1341,14 +1342,14 @@ where let mut tx = self.pool.begin().await?; let project_id = sqlx::query_scalar( " - INSERT INTO projects (host_user_id, host_connection_id, room_id) + INSERT INTO projects (room_id, host_user_id, host_connection_id) VALUES ($1, $2, $3) RETURNING id ", ) + .bind(room_id) .bind(user_id) .bind(connection_id.0 as i32) - .bind(room_id) .fetch_one(&mut tx) .await .map(ProjectId)?; @@ -1356,7 +1357,8 @@ where for worktree in worktrees { sqlx::query( " - INSERT INTO worktrees (id, project_id, root_name) + INSERT INTO worktrees (id, project_id, root_name) + VALUES ($1, $2, $3) ", ) .bind(worktree.id as i32) @@ -1387,6 +1389,7 @@ where .await?; let room = self.commit_room_transaction(room_id, tx).await?; + dbg!(&room); Ok((project_id, room)) }) } diff --git a/crates/collab/src/rpc.rs b/crates/collab/src/rpc.rs index e69393c642eda26480119a99a7506efa913a7c13..038724c25a23eb353891c7e5fdb4c5aa9237361e 100644 --- a/crates/collab/src/rpc.rs +++ b/crates/collab/src/rpc.rs @@ -849,7 +849,8 @@ impl Server { RoomId::from_proto(request.payload.room_id), &request.payload.worktrees, ) - .await?; + .await + .unwrap(); response.send(proto::ShareProjectResponse { project_id: project_id.to_proto(), })?;