var mapToRegistry = require('./utils/map-to-registry.js') var npm = require('./npm') var output = require('./utils/output.js') module.exports = team team.subcommands = ['create', 'destroy', 'add', 'rm', 'ls', 'edit'] team.usage = 'npm team create \n' + 'npm team destroy \n' + 'npm team add \n' + 'npm team rm \n' + 'npm team ls |\n' + 'npm team edit ' team.completion = function (opts, cb) { var argv = opts.conf.argv.remain if (argv.length === 2) { return cb(null, team.subcommands) } switch (argv[2]) { case 'ls': case 'create': case 'destroy': case 'add': case 'rm': case 'edit': return cb(null, []) default: return cb(new Error(argv[2] + ' not recognized')) } } function team (args, cb) { // Entities are in the format : var cmd = args.shift() var entity = (args.shift() || '').split(':') return mapToRegistry('/', npm.config, function (err, uri, auth) { if (err) { return cb(err) } try { return npm.registry.team(cmd, uri, { auth: auth, scope: entity[0], team: entity[1], user: args.shift() }, function (err, data) { !err && data && output(JSON.stringify(data, undefined, 2)) cb(err, data) }) } catch (e) { cb(e.message + '\n\nUsage:\n' + team.usage) } }) }