@blinkmobile/client-cli
Version:
CLI to deploy client-side web applications with BlinkMobile
38 lines (34 loc) • 1.16 kB
JavaScript
/* @flow */
const chalk = require('chalk')
const ora = require('ora')
const request = require('request')
function provisionEnvironment (
cfg /* : Object */,
env /* : string */,
accessToken /* : string | void */
) /* : Promise<void> */ {
const spinner = ora({spinner: 'dots', text: `Provisioning environment "${env}"...`}).start()
return new Promise((resolve, reject) => {
request.post(`${cfg.service.origin}/v1/service-instances/${cfg.scope}/environments/${env}`, {
auth: {
bearer: accessToken
},
json: true
}, (err, response, body) => {
if (err) {
return reject(err)
}
if (response.statusCode !== 200) {
return reject(new Error(body && body.message ? body.message : 'Unknown error, please try again and contact support if the problem persists'))
}
return resolve(body)
})
})
.then((body) => spinner.succeed('Deployment complete - Origin: ' + chalk.bold(body.brandedUrl)))
.catch((err) => {
spinner.fail(`Provisioning environment "${env}" failed!`)
return Promise.reject(err)
})
}
module.exports = provisionEnvironment