},
// Find one user by id, name, email, or token
- getOne: function(by, value, cb) {
+ getOne: function(by, value, fields, cb) {
const delimiter = (typeof value === "string" ? "'" : "");
db.serialize(function() {
const query =
- "SELECT * " +
+ "SELECT " + fields + " " +
"FROM Users " +
"WHERE " + by + " = " + delimiter + value + delimiter;
db.get(query, cb);
query =
"UPDATE Users " +
// Also empty the login token to invalidate future attempts
- "SET loginToken = NULL" +
+ "SET loginToken = NULL, loginTime = NULL " +
setSessionToken + " " +
"WHERE id = " + id;
db.run(query);
},
tryNotify: function(id, message) {
- UserModel.getOne("id", id, (err,user) => {
+ UserModel.getOne("id", id, "name, email", (err, user) => {
if (!err && user.notify) UserModel.notify(user, message);
});
},