diff options
| author | Pitu <[email protected]> | 2018-09-16 00:39:58 -0300 |
|---|---|---|
| committer | Pitu <[email protected]> | 2018-09-16 00:39:58 -0300 |
| commit | 868f4a64eca3fb38fbfa12e7b9a9d0d4a374f369 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /controllers/authController.js | |
| parent | Merge pull request #149 from iilukas/patch-1 (diff) | |
| download | host.fuwn.me-868f4a64eca3fb38fbfa12e7b9a9d0d4a374f369.tar.xz host.fuwn.me-868f4a64eca3fb38fbfa12e7b9a9d0d4a374f369.zip | |
Begone!
Diffstat (limited to 'controllers/authController.js')
| -rw-r--r-- | controllers/authController.js | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/controllers/authController.js b/controllers/authController.js deleted file mode 100644 index eb7df09..0000000 --- a/controllers/authController.js +++ /dev/null @@ -1,91 +0,0 @@ -const config = require('../config.js'); -const db = require('knex')(config.database); -const bcrypt = require('bcrypt'); -const randomstring = require('randomstring'); -const utils = require('./utilsController.js'); - -let authController = {}; - -authController.verify = async (req, res, next) => { - const username = req.body.username; - const password = req.body.password; - - if (username === undefined) return res.json({ success: false, description: 'No username provided' }); - if (password === undefined) return res.json({ success: false, description: 'No password provided' }); - - const user = await db.table('users').where('username', username).first(); - if (!user) return res.json({ success: false, description: 'Username doesn\'t exist' }); - if (user.enabled === false || user.enabled === 0) return res.json({ - success: false, - description: 'This account has been disabled' - }); - - bcrypt.compare(password, user.password, (err, result) => { - if (err) { - console.log(err); - return res.json({ success: false, description: 'There was an error' }); - } - if (result === false) return res.json({ success: false, description: 'Wrong password' }); - return res.json({ success: true, token: user.token }); - }); -}; - -authController.register = async (req, res, next) => { - if (config.enableUserAccounts === false) { - return res.json({ success: false, description: 'Register is disabled at the moment' }); - } - - const username = req.body.username; - const password = req.body.password; - - if (username === undefined) return res.json({ success: false, description: 'No username provided' }); - if (password === undefined) return res.json({ success: false, description: 'No password provided' }); - - if (username.length < 4 || username.length > 32) { - return res.json({ success: false, description: 'Username must have 4-32 characters' }); - } - if (password.length < 6 || password.length > 64) { - return res.json({ success: false, description: 'Password must have 6-64 characters' }); - } - - const user = await db.table('users').where('username', username).first(); - if (user) return res.json({ success: false, description: 'Username already exists' }); - - bcrypt.hash(password, 10, async (err, hash) => { - if (err) { - console.log(err); - return res.json({ success: false, description: 'Error generating password hash (╯°□°)╯︵ ┻━┻' }); - } - const token = randomstring.generate(64); - await db.table('users').insert({ - username: username, - password: hash, - token: token, - enabled: 1 - }); - return res.json({ success: true, token: token }); - }); -}; - -authController.changePassword = async (req, res, next) => { - const user = await utils.authorize(req, res); - - let password = req.body.password; - if (password === undefined) return res.json({ success: false, description: 'No password provided' }); - - if (password.length < 6 || password.length > 64) { - return res.json({ success: false, description: 'Password must have 6-64 characters' }); - } - - bcrypt.hash(password, 10, async (err, hash) => { - if (err) { - console.log(err); - return res.json({ success: false, description: 'Error generating password hash (╯°□°)╯︵ ┻━┻' }); - } - - await db.table('users').where('id', user.id).update({ password: hash }); - return res.json({ success: true }); - }); -}; - -module.exports = authController; |