Implement Database::create_room

This commit is contained in:
Antonio Scandurra 2022-12-01 15:22:12 +01:00
parent db1d93576f
commit aebc6326a9
2 changed files with 21 additions and 28 deletions

View file

@ -953,35 +953,27 @@ impl Database {
live_kit_room: &str, live_kit_room: &str,
) -> Result<RoomGuard<proto::Room>> { ) -> Result<RoomGuard<proto::Room>> {
self.transact(|tx| async move { self.transact(|tx| async move {
todo!() let room = room::ActiveModel {
// let room_id = sqlx::query_scalar( live_kit_room: ActiveValue::set(live_kit_room.into()),
// " ..Default::default()
// INSERT INTO rooms (live_kit_room) }
// VALUES ($1) .insert(&tx)
// RETURNING id .await?;
// ", let room_id = room.id;
// )
// .bind(&live_kit_room)
// .fetch_one(&mut tx)
// .await
// .map(RoomId)?;
// sqlx::query( room_participant::ActiveModel {
// " room_id: ActiveValue::set(room_id),
// INSERT INTO room_participants (room_id, user_id, answering_connection_id, calling_user_id, calling_connection_id) user_id: ActiveValue::set(user_id),
// VALUES ($1, $2, $3, $4, $5) answering_connection_id: ActiveValue::set(Some(connection_id.0 as i32)),
// ", calling_user_id: ActiveValue::set(user_id),
// ) calling_connection_id: ActiveValue::set(connection_id.0 as i32),
// .bind(room_id) ..Default::default()
// .bind(user_id) }
// .bind(connection_id.0 as i32) .insert(&tx)
// .bind(user_id) .await?;
// .bind(connection_id.0 as i32)
// .execute(&mut tx)
// .await?;
// let room = self.get_room(room_id, &mut tx).await?; let room = self.get_room(room_id, &tx).await?;
// self.commit_room_transaction(room_id, tx, room).await self.commit_room_transaction(room_id, tx, room).await
}) })
.await .await
} }
@ -1411,6 +1403,7 @@ impl Database {
}); });
} }
} }
drop(db_participants);
let mut db_projects = db_room let mut db_projects = db_room
.find_related(project::Entity) .find_related(project::Entity)

View file

@ -2,7 +2,7 @@ use super::RoomId;
use sea_orm::entity::prelude::*; use sea_orm::entity::prelude::*;
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)] #[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "room_participants")] #[sea_orm(table_name = "rooms")]
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: RoomId, pub id: RoomId,