Guest User

Untitled

a guest
Jan 28th, 2017
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // our packages
  2. import {User} from '../db';
  3. import {hash, asyncRequest} from '../util';
  4.  
  5. export default (app) => {
  6.   app.post('/api/register', asyncRequest(async(req, res) => {
  7.     // get user input
  8.     const {login, password, passwordRepeat} = req.body;
  9.  
  10.     if (password !== passwordRepeat) {
  11.       res.status(400).send({error: 'Passwords do not match!'});
  12.       return;
  13.     }
  14.  
  15.     // hash password
  16.     const hashedPassword = hash(password);
  17.  
  18.     // check if login is already taken
  19.     await User.findOne({login}, (err, doc) => {
  20.       if (err) {
  21.         throw err;
  22.       }
  23.       if (doc === null) {
  24.         // TODO
  25.       } else {
  26.         res.status(403).send({error: 'User already exists!'});
  27.       }
  28.     });
  29.  
  30.     // save new user
  31.     const user = new User({
  32.       username: login,
  33.       password: hashedPassword,
  34.     });
  35.     await user.save((err) => {
  36.       if (err) throw err;
  37.     });
  38.  
  39.     res.sendStatus(201);
  40.   }));
  41. };
Add Comment
Please, Sign In to add comment