aboutsummaryrefslogtreecommitdiff
path: root/db.h
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-03-14 11:05:35 +0100
committertomsmeding <tom.smeding@gmail.com>2017-03-14 11:05:35 +0100
commit54064158d84fc4006e651deb314cde156cc383e8 (patch)
treea534f160fe02b593143e03aaaf52f65513352c90 /db.h
Register working
Diffstat (limited to 'db.h')
-rw-r--r--db.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/db.h b/db.h
new file mode 100644
index 0000000..15127e4
--- /dev/null
+++ b/db.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#include "global.h"
+
+
+struct db_name_id{
+ char *name;
+ i64 id;
+};
+
+struct db_message{
+ i64 roomid,userid,timestamp;
+ char *message;
+};
+
+struct db_message_list{
+ i64 count;
+ struct db_message *list;
+};
+
+void db_init(void);
+void db_close(void);
+
+struct db_name_id db_create_room(void);
+bool db_delete_room(i64 roomid);
+bool db_add_member(i64 roomid,i64 userid);
+bool db_remove_member(i64 roomid,u64 userid);
+i64 db_find_room(const char *name); // -1 if not found
+
+i64 db_create_user(const char *name,const char *pass);
+bool db_set_username(i64 userid,const char *name);
+bool db_set_pass(i64 userid,const char *pass);
+char* db_get_username(i64 userid);
+char* db_get_pass(i64 userid);
+bool db_delete_user(i64 userid);
+i64 db_find_user(const char *name); // -1 if not found
+
+bool db_create_message(i64 roomid,i64 userid,i64 timestamp,const char *message);
+struct db_message_list db_get_messages(i64 roomid,i64 timestamp,i64 count); // pass timestamp==-1 for last messages