15 lines
500 B
JavaScript
15 lines
500 B
JavaScript
const crypto = require('crypto')
|
|
|
|
const constants = require('./constants')
|
|
const db = require('./db')
|
|
|
|
function createAuthToken (userID, type) {
|
|
const token = crypto.randomBytes(32).toString('hex')
|
|
const sql = `INSERT INTO auth_tokens (token, type, user_id) VALUES ($1, $2, $3) ON CONFLICT (user_id, type) DO UPDATE SET token=$1, expire=now() + interval '${constants.AUTH_TOKEN_EXPIRATION_TIME}' RETURNING *`
|
|
|
|
return db.one(sql, [token, type, userID])
|
|
}
|
|
|
|
module.exports = {
|
|
createAuthToken
|
|
}
|