UNPKG

live_montier

Version:
120 lines (109 loc) 3.88 kB
var usersController = function () { this.moment = require('moment'); this.Config = require('../Config/config'); this.user = require('../Models/user') }; var path = require('path'); const bcrypt = require('bcrypt'); var jwt = require('jsonwebtoken'); var config = require('../Config/config'); var configs = require('../Config/config.js'); var salt = bcrypt.genSaltSync(10); var Config = require('../Config/config.js'); // var transporter = nodemailer.createTransport( // smtpTransport('smtp://' + Config.SMTP.auth.user + ':' + Config.SMTP.auth.pass + '@' + Config.SMTP.host) // ); var Handlebars = require('handlebars'); var moment = require('moment'); // // stripe.setApiVersion('2018-02-06'); usersController.prototype.login = function (req, callback) { const email = req.body.email; const password = req.body.password; this.user.find({ email: email }).exec((err, userdata) => { if (err) { console.log('err', err) return callback({ code: 204, data: [], status: 'failure', message: 'Please try again after some time' }); } else if (userdata) { if (bcrypt.compareSync(password, userdata[0].hash)) { const params = { id: userdata[0]._id }; const expirationDuration = 60 * 60; var jwtToken = jwt.sign(params, config.jwt_SECRETS, { expiresIn: expirationDuration }); // console.log('userdata', userdata[0]) const data = { token: jwtToken, id: userdata[0]._id, } return callback({ code: 200, data: data, status: 'success', message: 'Logged in successfully' }); } else { return callback({ code: 205, data: [], status: 'failure', message: 'Incorrect password' }); } } else { return callback({ code: 205, data: [], status: 'failure', message: 'Email does not exist' }); } }) } usersController.prototype.userRegisterInviate = function (req, callback) { var values = req.body; console.log('values', req.body) this.user.find({ "email": values.email }).exec((err, Result) => { if (Result.length === 0) { var password = values.password; var hash = bcrypt.hashSync(values.password, salt); var userData = new this.user({ email: values.email, hash: hash, firstName: values.firstName, lastName: values.lastName }) userData.save(function (err, Result) { if (Result) { return callback({ code: 200, status: 'success', message: 'User Create successfully' }); } else { return callback({ code: 500, data: [], status: 'failure', message: 'Internal server error' }); } }) } else { return callback({ code: 422, status: 'failure', message: 'User alredy exist' }); } }) } module.exports = usersController