#!/bin/env node 'use strict'; const p = require('path'); const chalk = require('chalk'); const MongoClient = require('mongodb').MongoClient; const successPrefix = '[' + chalk.green('SUCCESS') + '] '; const errorPrefix = '[' + chalk.red('ERROR') + '] '; global.PWD = p.dirname(__dirname); global.ENV = process.env.NODE_ENV || 'development'; console.log(PWD); function _mongo(collection, cb) { const mongoConfig = require(p.join(PWD, 'server/config/mongo')); MongoClient.connect(mongoConfig.uri, function (err, db) { if (err) { console.error(errorPrefix); console.error(err); process.exit(1); } cb(db.collection(collection), db); }); } function createRoles(roles) { const roleNames = (roles ? roles.split(',') : [ 'user', 'admin' ]); _mongo('roles', function (roles, db) { roles.insert(roleNames.map(function (role) { return { name: role }; }), function (err) { db.close(); if (err) { console.error(errorPrefix); console.error(err); process.exit(1); } else { console.log(successPrefix + 'Created roles: ' + roleNames.join(', ')); process.exit(0); } }); }); } createRoles();