forked from lavina/lavina
34 lines
826 B
Rust
34 lines
826 B
Rust
use anyhow::Result;
|
|
|
|
use crate::repo::Storage;
|
|
|
|
impl Storage {
|
|
pub async fn add_room_member(&self, room_id: u32, player_id: u32) -> Result<()> {
|
|
let mut executor = self.conn.lock().await;
|
|
sqlx::query(
|
|
"insert into memberships(user_id, room_id, status)
|
|
values (?, ?, 1);",
|
|
)
|
|
.bind(player_id)
|
|
.bind(room_id)
|
|
.execute(&mut *executor)
|
|
.await?;
|
|
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn remove_room_member(&self, room_id: u32, player_id: u32) -> Result<()> {
|
|
let mut executor = self.conn.lock().await;
|
|
sqlx::query(
|
|
"delete from memberships
|
|
where user_id = ? and room_id = ?;",
|
|
)
|
|
.bind(player_id)
|
|
.bind(room_id)
|
|
.execute(&mut *executor)
|
|
.await?;
|
|
|
|
Ok(())
|
|
}
|
|
}
|