Browse Source

Added cihsr use

production
Pradeep Bhaskaran 4 years ago
parent
commit
846f78123b
1 changed files with 86 additions and 44 deletions
  1. 86
    44
      index.js

+ 86
- 44
index.js View File

@@ -3,6 +3,7 @@
// elxr
// A cli tool for elixr.
const { existsSync } = require('fs');
const fs = require('fs')
const { spawn, spawnSync } = require('child_process');
const cliargs = require('../elxr/cliargs'); // Use minimist...
const processedArgs = cliargs(process.argv.slice(2));
@@ -110,19 +111,30 @@ var gitRepos = [
, 'clientverse'
, 'serververse'
, 'client'
// , 'client/server'
, 'elxr'
, 'elixir-client'
, 'elixir-client-unlinked'
, 'ember-searchable-select'
, 'loopback-component-jsonapi'
, 'config'
, 'elixir-config'
, 'cihsr-config'
, 'cihsr-data'
, 'elixir-data'
, 'loopback-connector-ds'
, 'chess-server-lib'
, 'elixir-server'
, 'chess-server'
, 'setup'
]

// Repositiories that have symlinks that required elevated priviletes in windows to create symlinks
//
var elevatedRunasRepos = [
'elixir-server'
, 'cihsr-server'
, 'chess-server'
]


var env = Object.assign({}, process.env); // Shallow clone it.
var __runcmd = function(label){

@@ -215,6 +227,27 @@ var __runcmd = function(label){
// env: env
// })

var performPull = repo => {
if(existsSync(repo)) {
console.log('pulling ' + repo)
nodeShellExec('git', ['pull'], {
inherit : true, shell: true,
cwd : repo
// , env: process.env
, title : `git pull ${repo}`
}).catch((e)=>{ console.error(e) })
}
else {
console.log('cloning ' + repo)
nodeShellExec('git', ['clone', '//172.16.0.27/repos/' + repo + '.git'],
{
inherit : true, shell: true,
env: process.env
, title : `git clone ${'//172.16.0.27/repos/' + repo + '.git'}`
}).catch((e)=>{ console.error(e) })
}
}

var isElevated;
try {
nodeShellExec( "fsutil", ["dirty", "query", "C:"], {
@@ -223,50 +256,29 @@ var __runcmd = function(label){
, title : `check privileged execution mode using fsutil dirty query C:`
}).then((exitcode)=>{
console.log('Elevated')
var isElevated = true;
console.dir(processedArgs._[1])
if(processedArgs._[1] === 'runas') elevatedRunasRepos.forEach(performPull);
else gitRepos.forEach(performPull);
}).catch(()=>{
console.log('Not Elevated')
console.log('Not Elevated');
gitRepos.forEach(performPull)
console.log('Requesting Elevated Privileges')
nodeShellExec('MSHTA', ["javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('node', 'elxr pull', '', 'runas', 1);close();"]
nodeShellExec('MSHTA', ["javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('node', 'elxr pull runas', '', 'runas', 1);close();"]
, {
inherit : true
// inherit : true
// , shell: true
, env: process.env
,
title : `runsAs`
env: process.env
, title : `runas`
}
);
});
// isElevated = true;
}
catch ( e ) {
// isElevated = false;
console.error(e)
}
// nodeShellExec('MSHTA', ["javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('node', 'elxr pull', '', 'runas', 1);close();"]);


gitRepos.forEach(repo => {
if(existsSync(repo)) {
console.log('pulling ' + repo)
nodeShellExec('git', ['pull'], {
inherit : true, shell: true,
cwd : repo
, env: process.env
, title : `git pull ${repo}`
}).catch((e)=>{ console.error(e) })
}
else {
console.log('cloning ' + repo)
nodeShellExec('git', ['clone', '//172.16.0.27/repos/' + repo + '.git'],
{
inherit : true, shell: true,
cwd : repo
, env: process.env
, title : `git clone ${'//172.16.0.27/repos/' + repo + '.git'}`
}).catch((e)=>{ console.error(e) })
}
})
}
, 'npmi' : ()=>{
var tasks = [];
@@ -306,19 +318,12 @@ var __runcmd = function(label){
env.DEBUG = 'loopback:connector:' + dbForLabel(label)
nodeShellExec('node', ['--inspect=9228', 'elixir/server.js'], {
inherit : true,
// inherit : true,
shell: true, detached: true,
cwd : 'elixir-server',
env: env
})

nodeShellExec('node', ['--inspect=9227', 'elixr/server.js'], {
inherit : true,
shell: true, detached: true,
cwd : 'elixir-server',
env: env
})
// nodeShellExec('node', ['--inspect=9226', ' bin/www'], {
// inherit : true,
// shell: true, detached: true,
@@ -328,12 +333,49 @@ var __runcmd = function(label){
// })

nodeShellExec('ember', ['s'], {
inherit : true,
// inherit : true,
shell: true, detached: true,
cwd : 'client/',
env: env
})
}
, 'use' : ()=>{
try {
var runconfig = require('./run.js')
if(processedArgs._[1] && runconfig.use === processedArgs._[1]) {
return;
}
else runconfig.use = processedArgs._[1];
fs.writeFileSync('./run.js', 'module.exports = ' + JSON.stringify(runconfig))
}
catch(e) {
runconfig = { use : processedArgs._[1] };
fs.writeFileSync('./run.js', 'module.exports = ' + JSON.stringify(runconfig))
}
var tasks = [
()=>{
var p = nodeShellExec('mklink', ['/D', 'data', 'data-' + runconfig.use], {
inherit : true, shell: true
, env: process.env
}).catch((e)=>{ console.error(e) })
return p;
},
()=>{
var p = nodeShellExec('mklink', ['/D', 'config', 'config-' + runconfig.use], {
inherit : true, shell: true
, env: process.env
}).catch((e)=>{ console.error(e) })
return p;
}
]
any(tasks)

// Antibiotic stewardship program.
// 1st use is fine.
// Max vials dispense
// 2nd use Pharmacy needs justification Form.
// Approval after a certain period of time.
}
, 'g' : ()=>{
if(processedArgs.h) {


Loading…
Cancel
Save