Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mongoose = require('mongoose');
- var bcrypt = require('bcryptjs');
- var Schema = mongoose.Schema;
- var UserSchema = new Schema({
- name: String,
- email: String,
- password: String,
- info: String
- });
- var User = module.exports = mongoose.model('User', UserSchema);
- module.exports.createUser = function(newUser, callback){
- bcrypt.genSalt(10, function(err, salt) {
- bcrypt.hash(newUser.password, salt, function(err, hash) {
- newUser.password = hash;
- newUser.save(callback);
- });
- });
- }
- module.exports.getUserByUsername = function(username, callback){
- User.findOne({username : username}, callback);
- }
- module.exports.getUserById = function(id, callback){
- User.findById(id, callback);
- }
- module.exports.checkPassword = function(candidatePass, hash, callback){
- bcrypt.compare(candidatePass, hash, function(err, res) {
- if(err) throw err;
- callback(null, res);
- });
- }
- //Mongoose Setup
- var mongoose = require('mongoose');
- var Schema = mongoose.Schema;
- mongoose.connect("MY_DB");
- var path = require('path');
- var appDir = path.dirname(require.main.filename);
- var bodyParser = require('body-parser')
- var User = require('../models/user.js');
- //Express Setup
- var express = require('express');
- var router = express.Router();
- var app = express();
- var expressValidator = require("express-validator");
- app.use(bodyParser.urlencoded({ extended: false }));
- app.use(expressValidator());
- app.use(bodyParser.json());
- //Routes
- router.get('/register', function(req, res){
- res.sendFile(appDir + "/views/register.html");
- })
- router.post('/register', function(req, res) {
- req.check('name', 'Name must be Filled in').notEmpty();
- req.check('email', 'Email must be Filled in').notEmpty();
- req.check('email', "Invalid Email").isEmail();
- req.check('password', 'Password Field must be Filled in').notEmpty();
- req.check('password', 'Passwords do not Match').equals(req.body.password2)
- var errors = req.validationErrors();
- if(errors) res.send(errors)
- else{ User.createUser({
- name: req.body.name,
- email: req.body.email,
- password: req.body.password,
- info: req.body.user_bio
- }, function(){
- console.log('User Created');
- })
- }
- })
- //Exports
- module.exports = router;
- User.createUser({
- name : req.body.name,
- ...
- }, ...);
- var user = new User();
- user.name = req.body.name;
- user.email = req.body.email;
- user.password = req.body.password;
- user.info = req.body.user_bio;
- user.save().then(function(err, result) {
- console.log('User Created');
- });
- User.pre('save', function(next) {
- bcrypt.genSalt(10, function(err, salt) {
- bcrypt.hash(this.password, salt, function(err, hash) {
- this.password = hash;
- next();
- });
- });
- }
Add Comment
Please, Sign In to add comment