refactor: user agent parsing

This commit is contained in:
Sérgio Salgado 2020-10-26 16:03:02 +00:00 committed by Josh Harvey
parent 791b275cdf
commit 839e6aae47
8 changed files with 21 additions and 63 deletions

View file

@ -1,6 +1,5 @@
const crypto = require('crypto')
const browserOS = require('../../new-lamassu-admin/src/utils/browser-os')
const db = require('../db')
function generateOTP (name) {
@ -22,18 +21,15 @@ function validateOTP (otp) {
.catch(() => ({ success: false, expired: false }))
}
function register (req) {
const otp = req.query.otp
function register (otp, ua, ip) {
return validateOTP(otp)
.then(r => {
if (!r.success) return r
const deviceInfo = browserOS.getInformation(req.headers['user-agent'])
const token = crypto.randomBytes(32).toString('hex')
const sql = 'insert into user_tokens (token, name, browser_version, os_version, ip_address) values ($1, $2, $3, $4, $5)'
const sql = 'insert into user_tokens (token, name, user_agent, ip_address) values ($1, $2, $3, $4)'
return db.none(sql, [token, r.name, deviceInfo.browser, deviceInfo.OS, browserOS.getRequestIP(req)])
return db.none(sql, [token, r.name, ua, ip])
.then(() => ({ success: true, token: token }))
})
.catch(() => ({ success: false, expired: false }))