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 * Create instance method for hashing a password
*/ */
UserSchema.methods.hashPassword = function(password) { UserSchema.statics.hashPassword = UserSchema.methods.hashPassword = function(password) {
var encoding = 'base64'; var encoding = 'base64';
var iterations = 10000; var iterations = 10000;
var keylen = 128; 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', email: process.env.ADMIN_EMAIL || 'admin@admin.com',
username: process.env.ADMIN_USERNAME || 'root', username: process.env.ADMIN_USERNAME || 'admin',
password: process.env.ADMIN_PASSWORD || 'root', password: process.env.ADMIN_PASSWORD || 'admin',
roles: ['user', 'admin']
}, },
redisUrl: process.env.REDIS_URL || 'redis://127.0.0.1:6379', 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'); chalk = require('chalk');
exports.run = function(app, db, cb) { exports.run = function(app, db, cb) {
console.log(chalk.green('Creating the Admin Account'));
var User = mongoose.model('User'); 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', firstName: 'Admin',
lastName: 'Account', lastName: 'Account',
email: email, email: config.admin.email,
username: 'root' || config.admin.username, username: username,
password: 'root' || config.admin.password, roles: config.admin.roles
provider: 'local', };
roles: ['admin', 'user']
});
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) { if (err) {
cb(err); return cb(err);
} }
if(!user){ if(!currUser1){
newUser.save(function (userErr) { return cb(new Error('Couldn\'t create admin account'))
if (userErr) {
return cb(userErr);
}
console.log(chalk.green('Successfully created Admin Account'));
cb();
});
} else { } 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();
});
} }
}); });
} }