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 }