live_montier
Version:
just a sample test publish
120 lines (109 loc) • 3.88 kB
JavaScript
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