Files
noisedash/server/routes/users.js
Kevin Thomas c0043e7a29 Refactor
2021-08-03 22:52:47 -07:00

42 lines
992 B
JavaScript

const express = require('express')
const crypto = require('crypto')
const db = require('../db')
const router = express.Router()
router.post('/users', function (req, res, next) {
const salt = crypto.randomBytes(16)
crypto.pbkdf2(req.body.password, salt, 10000, 32, 'sha256', function (err, hashedPassword) {
if (err) {
console.log(err)
res.sendStatus(500)
}
db.run('INSERT INTO users (username, hashed_password, salt, name) VALUES (?, ?, ?, ?)', [
req.body.username,
hashedPassword,
salt,
req.body.name
], function (err) {
if (err) {
console.log(err)
res.sendStatus(500)
}
const user = {
id: this.lastID.toString(),
username: req.body.username,
displayName: req.body.name
}
req.login(user, function (err) {
if (err) {
console.log(err)
res.sendStatus(500)
}
})
})
})
res.sendStatus(200)
})
module.exports = router