1 var db
= require("../utils/database");
2 var maild
= require("../utils/mailer.js");
9 * loginToken: token on server only
10 * loginTime: datetime (validity)
11 * sessionToken: token in cookies for authentication
12 * notify: boolean (send email notifications for corr games)
16 exports
.create = function(name
, email
, notify
, callback
)
19 notify
= false; //default
20 db
.serialize(function() {
22 "INSERT INTO Users " +
23 "(name, email, notify) VALUES " +
24 "(" + name
+ "," + email
+ "," + notify
+ ")");
28 // Find one user (by id, name, email, or token)
29 exports
.getOne = function(by
, value
, cb
)
31 const delimiter
= (typeof value
=== "string" ? "'" : "");
32 db
.serialize(function() {
34 "SELECT * FROM Users " +
35 "WHERE " + by
" = " + delimiter
+ value
+ delimiter
,
43 exports
.setLoginToken = function(token
, uid
, cb
)
45 db
.serialize(function() {
48 "SET loginToken = " + token
+ " AND loginTime = " + Date
.now() + " " +
53 exports
.setSessionToken = function(token
, uid
, cb
)
55 // Also empty the login token to invalidate future attempts
56 db
.serialize(function() {
59 "SET loginToken = NULL AND sessionToken = " + token
+ " " +
64 exports
.updateSettings = function(name
, email
, notify
, cb
)
66 db
.serialize(function() {
69 "SET name = " + name
+
70 " AND email = " + email
+
71 " AND notify = " + notify
+ " " +