diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-05-23 11:10:09 +0200 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-05-23 11:10:09 +0200 |
commit | ce2945afa3c4a477eef7fd0db3d58b6395c18774 (patch) | |
tree | 5ba753fd234a32eabe4fc602d524531b71ea5c8d | |
parent | e5b02b16ba83b55ef12dff19c18cb03d9e1fad32 (diff) |
server: WIP firebase: Prevent duplicate firebase tokens
-rw-r--r-- | db.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -261,11 +261,18 @@ struct db_strings_list db_user_tokens(i64 userid){ bool db_add_token(i64 userid,const char *token){ assert(userid!=-1); + sqlite3_stmt *stmt; + SQLITE(prepare_v2,database,"delete from Firebase where token = ?",-1,&stmt,NULL); + SQLITE(bind_text,stmt,1,token,-1,SQLITE_STATIC); + bool success=sqlite3_step(stmt)==SQLITE_DONE; + SQLITE(finalize,stmt); + if(!success)return false; + SQLITE(prepare_v2,database,"insert into Firebase (user, token) values (?, ?)",-1,&stmt,NULL); SQLITE(bind_int64,stmt,1,userid); SQLITE(bind_text,stmt,2,token,-1,SQLITE_STATIC); - bool success=sqlite3_step(stmt)==SQLITE_DONE; + success=sqlite3_step(stmt)==SQLITE_DONE; SQLITE(finalize,stmt); return success; } |