fix: redundant authentication code

This commit is contained in:
Sérgio Salgado 2021-04-19 15:46:16 +01:00 committed by Josh Harvey
parent 771a60a4ad
commit 19138c2d46
3 changed files with 100 additions and 95 deletions

View file

@ -1,15 +1,14 @@
const db = require('../../db')
function validateUser (username, password) {
const sql = 'SELECT id, username FROM users WHERE username=$1 AND password=$2'
const sqlUpdateLastAccessed = 'UPDATE users SET last_accessed = now() WHERE username=$1'
return db.tx(t => {
const q1 = t.one('SELECT * FROM users WHERE username=$1 AND password=$2', [username, password])
const q2 = t.none('UPDATE users SET last_accessed = now() WHERE username=$1', [username])
return db.one(sql, [username, password])
.then(user => {
return db.none(sqlUpdateLastAccessed, [user.username])
.then(() => user)
})
.catch(() => false)
return t.batch([q1, q2])
.then(([user, _]) => user)
.catch(() => false)
})
}
module.exports = {