aboutsummaryrefslogtreecommitdiff
path: root/db.c
diff options
context:
space:
mode:
authorTom Smeding <tom.smeding@gmail.com>2020-09-29 22:18:33 +0200
committerTom Smeding <tom.smeding@gmail.com>2020-09-29 22:25:23 +0200
commita8a0603375fa4c5c1e61bd8a0dc0ed7f3f77854e (patch)
treec1749d16c7fe8fad8b0d04cc80092cd22c180a9d /db.c
parent1ecfdb8eef2e1cf5c9f017708b6313ea5d4093d7 (diff)
server: Implement room_leave
Diffstat (limited to 'db.c')
-rw-r--r--db.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/db.c b/db.c
index 6912cb4..5020b08 100644
--- a/db.c
+++ b/db.c
@@ -186,6 +186,17 @@ bool db_add_member(i64 roomid,i64 userid){
return success;
}
+bool db_remove_member(i64 roomid,i64 userid){
+ assert(roomid!=-1&&userid!=-1);
+ static sqlite3_stmt *stmt = NULL;
+ if (!stmt) SQLITE(prepare_v2,database,"delete from Members where room = ? and user = ?",-1,&stmt,NULL);
+ SQLITE(bind_int64,stmt,1,roomid);
+ SQLITE(bind_int64,stmt,2,userid);
+ bool success=sqlite3_step(stmt)==SQLITE_DONE;
+ reset_stmt(stmt);
+ return success;
+}
+
bool db_is_member(i64 roomid,i64 userid){
static sqlite3_stmt *stmt = NULL;
if (!stmt) SQLITE(prepare_v2,database,"select 1 from Members where room = ? and user = ?",-1,&stmt,NULL);