'use strict' let cli = require('heroku-cli-util') let co = require('co') function * run (context, heroku) { let app = yield heroku.get(`/organizations/apps/${context.app}`) if (app.locked) { throw new Error(`Error: cannot lock ${cli.color.cyan(app.name)} This app is already locked.`) } let request = heroku.request({ method: 'PATCH', path: `/organizations/apps/${app.name}`, body: { locked: true } }) yield cli.action(`Locking ${cli.color.cyan(app.name)}`, request) } let cmd = { description: 'prevent organization members from joining an app', needsAuth: true, needsApp: true, run: cli.command(co.wrap(run)) } module.exports = [ Object.assign({ topic: 'apps', command: 'lock' }, cmd), Object.assign({ topic: 'lock' }, cmd) ]