commands/apps/lock.js
'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)
]