diff options
| author | Adam Soltys <[email protected]> | 2018-03-15 22:25:40 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2018-03-15 22:25:40 -0700 |
| commit | 112e9ec9b71c1930ca51d52db58acc58ee36088c (patch) | |
| tree | b0b74c065b202a97f6ed0316a1e5bb54d77ff2a3 /routes/users.js | |
| parent | 869b33813e72689c053ba8505c8806129ec3c7d5 (diff) | |
| download | coinos-server-112e9ec9b71c1930ca51d52db58acc58ee36088c.tar.gz coinos-server-112e9ec9b71c1930ca51d52db58acc58ee36088c.zip | |
clean up unused files
Diffstat (limited to 'routes/users.js')
| -rw-r--r-- | routes/users.js | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/routes/users.js b/routes/users.js deleted file mode 100644 index bd90f707..00000000 --- a/routes/users.js +++ /dev/null @@ -1,175 +0,0 @@ -const Promise = require('bluebird') -const db = require("../redis") -const bcrypt = require('bcrypt') -const fs = require('fs') -const request = require('request') -const jwt = require('jsonwebtoken') -const l = console.log - -module.exports = { - login (req, res) { - db.hgetallAsync('user:' + req.body.username).then((user) => { - bcrypt.compare(req.body.password, user.password).then((result) => { - if (result) { - let payload = { username: user.username } - let token = jwt.sign(payload, process.env.SECRET) - res.cookie('token', token, { expires: new Date(Date.now() + 9999999) }) - res.json({ token: token }) - } else { - res.status(401).end() - } - }).catch((err) => { - console.log(err) - res.status(401).end() - }) - }).catch((err) => { - console.log(err) - res.status(401).end() - }) - }, - secret (req, res) { - res.json({message: 'Success! You can not see this without a token'}) - }, - index: function(req, res) { - var result - result = { - 'users': [] - } - return db.keysAsync("user:*").then(function(users) { - return Promise.all(users.map(function(key) { - return db.hgetallAsync(key).then(function(user) { - delete user['password'] - return result.users.push(user) - }) - })) - }).then(function() { - res.status(200).json(JSON.stringify(result)) - }) - }, - json: function(req, res) { - if (!req.params.user) { - res.end() - } - return db.llen((req.params.user.toLowerCase()) + ":transactions", function(err, len) { - return db.hgetall("user:" + (req.params.user.toLowerCase()), function(err, obj) { - delete obj['password'] - obj['index'] = len - res.status(200).json(JSON.stringify(obj)) - return res.end() - }) - }) - }, - create: function(req, res) { - const userkey = "user:" + req.body.username - - db.hgetallAsync(userkey).then((obj) => { - if (obj) { - error = { message: 'user exists' } - res.status(400).json(error) - throw error - } - }).then(() => { - if (req.body.passconfirm !== req.body.password) { - error = { message: 'passwords must match' } - res.status(400).json(error) - throw error - } - - bcrypt.hash(req.body.password, 1).then(function(hash) { - db.sadd("users", userkey) - let user = { - username: req.body.username, - password: hash, - email: req.body.email, - commission: req.body.commission || '', - unit: req.body.unit || 'CAD', - pubkey: req.body.pubkey || '', - privkey: req.body.privkey || '' - } - db.hmset(userkey, user, function() { - res.status(200) - require('crypto').randomBytes(48, function(ex, buf) { - const token = buf.toString('base64').replace(/\//g, '').replace(/\+/g, '') - db.set("token:" + token, req.body.username) - host = req.get('Host') - url = req.protocol + "://" + host + "/verify/" + token - const helper = require('sendgrid').mail - const from_email = new helper.Email('[email protected]') - const to_email = new helper.Email(req.body.email) - const subject = 'Welcome to CoinOS' - const content = new helper.Content('text/html', req.body.privkey) - const mail = new helper.Mail(from_email, subject, to_email, content) - const sg = require('sendgrid')(process.env.SENDGRID_TOKEN) - const ereq = sg.emptyRequest({ - method: 'POST', - path: '/v3/mail/send', - body: mail.toJSON() - }) - sg.API(ereq, function(error, response) { - console.log(response.statusCode) - console.log(response.body) - console.log(response.headers) - }) - }) - }) - }) - }).catch((e) => {}) - }, - update: function(req, res) { - if (req.body.password === '') { - delete req.body.password - } - db.hmset("user:" + req.params.user.toLowerCase(), req.body, function() { - req.session.user = req.body - delete req.session.user.password - if (req.body.password != null) { - bcrypt.hash(req.body.password).then(function(err, password) { - db.hmset("user:" + (req.params.user.toLowerCase()), { - email: email, - password: password, - phone: phone - }, function() { - res.status(200).json({ message: 'User updated' }) - }) - }) - } else { - res.status(200).json({ message: 'User updated' }) - } - }) - if (process.env.NODE_ENV === 'production' && - (req.body.privkey != null) && - req.body.privkey !== '' && - req.body.email !== '') - { - const helper = require('sendgrid').mail - const from_email = new helper.Email('[email protected]') - const to_email = new helper.Email(req.body.email) - const subject = 'CoinOS Wallet Key' - const content = new helper.Content('text/html', req.body.privkey) - const mail = new helper.Mail(from_email, subject, to_email, content) - const sg = require('sendgrid')(config.sendgrid_token) - const ereq = sg.emptyRequest({ - method: 'POST', - path: '/v3/mail/send', - body: mail.toJSON() - }) - sg.API(ereq, function(err, res) { - if (err) { - console.log(error) - } - }) - } - }, - verify: function(req, res) { - return db.get("token:" + req.params.token, function(err, reply) { - if (err || !reply) { - res.write("Invalid Verification Token") - return res.end() - } else { - db.hset("user:" + (reply.toString()), "verified", "true", function() { - res.status(200) - }) - } - }) - } -} |
