fixed create_admin script

This commit is contained in:
David Baldwynn 2017-11-21 15:29:47 -08:00
parent f076b482e9
commit df83c6bb93
3 changed files with 35 additions and 24 deletions

View file

@ -108,7 +108,7 @@ UserSchema.virtual('password').get(function () {
/**
* Create instance method for hashing a password
*/
UserSchema.methods.hashPassword = function(password) {
UserSchema.statics.hashPassword = UserSchema.methods.hashPassword = function(password) {
var encoding = 'base64';
var iterations = 10000;
var keylen = 128;

7
config/env/all.js vendored
View file

@ -16,10 +16,11 @@ module.exports = {
},
admin:{
admin: {
email: process.env.ADMIN_EMAIL || 'admin@admin.com',
username: process.env.ADMIN_USERNAME || 'root',
password: process.env.ADMIN_PASSWORD || 'root',
username: process.env.ADMIN_USERNAME || 'admin',
password: process.env.ADMIN_PASSWORD || 'admin',
roles: ['user', 'admin']
},
redisUrl: process.env.REDIS_URL || 'redis://127.0.0.1:6379',

View file

@ -3,36 +3,46 @@ var config = require('../config/config'),
chalk = require('chalk');
exports.run = function(app, db, cb) {
console.log(chalk.green('Creating the Admin Account'));
var User = mongoose.model('User');
var email = 'admin@admin.com' || config.admin.email;
var username = config.admin.username;
console.log('username: ' + config.admin.username);
console.log('password: ' + config.admin.password);
var newUser = new User({
var newUserObj = {
firstName: 'Admin',
lastName: 'Account',
email: email,
username: 'root' || config.admin.username,
password: 'root' || config.admin.password,
provider: 'local',
roles: ['admin', 'user']
});
email: config.admin.email,
username: username,
roles: config.admin.roles
};
User.findOne({email: email}, function (err, user) {
var options = {
upsert: true,
new: true,
setDefaultsOnInsert: true
}
User.findOneAndUpdate({username: username}, newUserObj, options, function (err, currUser1) {
if (err) {
cb(err);
return cb(err);
}
if(!user){
newUser.save(function (userErr) {
if (userErr) {
return cb(userErr);
}
console.log(chalk.green('Successfully created Admin Account'));
cb();
});
if(!currUser1){
return cb(new Error('Couldn\'t create admin account'))
} else {
cb('User already exists!');
currUser1.password = config.admin.password;
currUser1.save(function(err, currUser2){
if (err) {
return cb(err);
}
console.log(chalk.green('Successfully created/updated Admin Account'));
return cb();
});
}
});
}