diff options
Diffstat (limited to 'db.c')
-rw-r--r-- | db.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -75,6 +75,28 @@ bool db_add_member(i64 roomid,i64 userid){ return success; } +bool db_is_member(i64 roomid,i64 userid){ + sqlite3_stmt *stmt; + SQLITE(prepare_v2,database,"select 1 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_ROW; + SQLITE(finalize,stmt); + return success; +} + +i64 db_find_room(const char *name){ + sqlite3_stmt *stmt; + SQLITE(prepare_v2,database,"select id from Rooms where name = ?",-1,&stmt,NULL); + SQLITE(bind_text,stmt,1,name,-1,SQLITE_STATIC); + i64 roomid=-1; + if(sqlite3_step(stmt)==SQLITE_ROW){ + roomid=sqlite3_column_int64(stmt,0); + } + SQLITE(finalize,stmt); + return roomid; +} + struct db_room_list db_list_rooms(i64 userid){ sqlite3_stmt *stmt; SQLITE(prepare_v2,database, |