node_terminus
Version:
Pantheon Terminus cli wrapper and extensions
72 lines (64 loc) • 1.57 kB
JavaScript
//let Pantheon = require('./nt/libs/pantheon/index')
//let p = new Pantheon()
//let c = p.addCmd('site','','some description','org')
const _ = require('lodash')
const NodeTerminus = require('./app')
let nt = new NodeTerminus();
// let loginAndRun = async () => {
// return nt.terminus.cmd.auth_login.run()
// .then(()=>{
// return nt.terminus.cmd.auth_whoami.run('')
// .then(data => {
// return data
// })
// })
// .then(data => {
// this.whoami = data.trim()
// console.log(`Logged in as: ${this.whoami}`)
// })
// }
async function querySiteIds() {
return nt.terminus.cmd.site_list.run('--format=json')
}
let getResults = getSiteIds
async function getSiteIds() {
return querySiteIds()
.then(data => {
let sites = _.map(JSON.parse(data),d=>{
return d
})
return sites
})
}
async function addSiteEnv(site_name,site_id) {
return nt.terminus.cmd.env_list.run('--format=json',`${site_id}`)
}
getSiteIds()
.then(sites =>{
return _.each(sites,s =>{
let getEnvs = async (site_id) =>{
return nt.terminus.cmd.env_list.run('--format=json',`${site_id}`)
.then((envs) =>{
return envs
})
}
return getEnvs(s.id)
.then(envs => {
let results = {
name: s.name,
envs: envs
}
return results
})
})
})
.then(results => {
let siteResults = _.map(results,r =>{
let s = {
site: r.name,
envs: r
}
return s
});
return siteResults;
})