const registerHandle = (req, res, db, bcrypt) => {
const { email, name, password } = req.body;
if (!email || !name || !password)
return res.status(400).json('empty')
const hash = bcrypt.hashSync(password, 8);
db.transaction(trx => {
trx.insert({
hash: hash,
email: email
})
.into('login')
.returning('email')
.then(loginEmail => {
return trx('users')
.returning('*')
.insert({
email: loginEmail[0],
name: name,
joined: new Date()
})
.then(user => res.json(user[0]))
})
.then(trx.commit)
.catch(err => res.status(400).json(err))
})
.catch(err => res.status(400).json(err))
}
module.exports = {
registerHandle: registerHandle
}
Y29uc3QgcmVnaXN0ZXJIYW5kbGUgPSAocmVxLCByZXMsIGRiLCBiY3J5cHQpID0+IHsKICAgIGNvbnN0IHsgZW1haWwsIG5hbWUsIHBhc3N3b3JkIH0gPSByZXEuYm9keTsKICAgIGlmICghZW1haWwgfHwgIW5hbWUgfHwgIXBhc3N3b3JkKQogICAgICAgIHJldHVybiByZXMuc3RhdHVzKDQwMCkuanNvbignZW1wdHknKQogICAgY29uc3QgaGFzaCA9IGJjcnlwdC5oYXNoU3luYyhwYXNzd29yZCwgOCk7CiAgICBkYi50cmFuc2FjdGlvbih0cnggPT4gewogICAgICAgIHRyeC5pbnNlcnQoewogICAgICAgICAgICBoYXNoOiBoYXNoLAogICAgICAgICAgICBlbWFpbDogZW1haWwKICAgICAgICB9KQogICAgICAgICAgICAuaW50bygnbG9naW4nKQogICAgICAgICAgICAucmV0dXJuaW5nKCdlbWFpbCcpCiAgICAgICAgICAgIC50aGVuKGxvZ2luRW1haWwgPT4gewogICAgICAgICAgICAgICAgcmV0dXJuIHRyeCgndXNlcnMnKQogICAgICAgICAgICAgICAgICAgIC5yZXR1cm5pbmcoJyonKQogICAgICAgICAgICAgICAgICAgIC5pbnNlcnQoewogICAgICAgICAgICAgICAgICAgICAgICBlbWFpbDogbG9naW5FbWFpbFswXSwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgam9pbmVkOiBuZXcgRGF0ZSgpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAudGhlbih1c2VyID0+IHJlcy5qc29uKHVzZXJbMF0pKQoKICAgICAgICAgICAgfSkKICAgICAgICAgICAgLnRoZW4odHJ4LmNvbW1pdCkKICAgICAgICAgICAgLmNhdGNoKGVyciA9PiByZXMuc3RhdHVzKDQwMCkuanNvbihlcnIpKQogICAgfSkKICAgICAgICAuY2F0Y2goZXJyID0+IHJlcy5zdGF0dXMoNDAwKS5qc29uKGVycikpCn0KCm1vZHVsZS5leHBvcnRzID0gewogICAgcmVnaXN0ZXJIYW5kbGU6IHJlZ2lzdGVySGFuZGxlCn0=