Built motion from commit (unavailable).|2.4.21
[motion2.git] / server / api / pm2 / pm2.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x1f0e=['name','send','npm\x20install','info','index','list','motion2','length','then','show','describe','params','catch','create','body','script','../../files/plugins','chdir','dirname','start','dump','Missing\x20name\x20and/or\x20path','update','stop','Unknown\x20status','destroy','delete','lodash','../../config/pm2','api','exec','bluebird','sendStatus','status','json','error','stack'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0x1f0e,0x168));var _0xe1f0=function(_0x246f5e,_0x2460db){_0x246f5e=_0x246f5e-0x0;var _0x1a87be=_0x1f0e[_0x246f5e];return _0x1a87be;};'use strict';var _=require(_0xe1f0('0x0'));var pm2=require(_0xe1f0('0x1'));var logger=require('../../config/logger')(_0xe1f0('0x2'));var path=require('path');var exec=require('child_process')[_0xe1f0('0x3')];var BPromise=require(_0xe1f0('0x4'));function handleEntityNotFound(_0x125c64,_0x13959b){return function(_0x1bbb30){if(!_0x1bbb30){_0x125c64[_0xe1f0('0x5')](0x194);;}return _0x1bbb30;};}function respondWithResult(_0x341a91,_0x4bc2a2){_0x4bc2a2=_0x4bc2a2||0xc8;return function(_0x40444a){if(_0x40444a){return _0x341a91[_0xe1f0('0x6')](_0x4bc2a2)[_0xe1f0('0x7')](_0x40444a);}return null;};}function handleError(_0x31545c,_0x168dd3){_0x168dd3=_0x168dd3||0x1f4;return function(_0x55fd19){logger[_0xe1f0('0x8')](_0x55fd19[_0xe1f0('0x9')]);if(_0x55fd19[_0xe1f0('0xa')]){delete _0x55fd19[_0xe1f0('0xa')];}_0x31545c['status'](_0x168dd3)[_0xe1f0('0xb')](_0x55fd19);};}function execChildProcess(){return new BPromise(function(_0x510a1a,_0x3a6b78){exec(_0xe1f0('0xc'),function(_0x3e8487,_0x175c02,_0x300d2b){logger[_0xe1f0('0xd')](_0x175c02);logger['info'](_0x300d2b);if(_0x3e8487){logger[_0xe1f0('0x8')](_0x3e8487);return _0x3a6b78(_0x3e8487);}return _0x510a1a(_0x175c02);});});}exports[_0xe1f0('0xe')]=function(_0x5cdb6b,_0x15e81f){return pm2[_0xe1f0('0xf')]()['then'](function(_0xcddcf5){if(_0xcddcf5){var _0xe5649=_['reject'](_0xcddcf5,function(_0x52da1a){return _0x52da1a['name']==='express'||_0x52da1a[_0xe1f0('0xa')]===_0xe1f0('0x10');});return{'rows':_0xe5649,'count':_0xe5649[_0xe1f0('0x11')]};}return null;})[_0xe1f0('0x12')](respondWithResult(_0x15e81f,null))['catch'](handleError(_0x15e81f,null));};exports[_0xe1f0('0x13')]=function(_0x197124,_0x31944f){return pm2[_0xe1f0('0x14')](_0x197124[_0xe1f0('0x15')]['id'])['then'](respondWithResult(_0x31944f,null))[_0xe1f0('0x12')](handleEntityNotFound(_0x31944f,null))[_0xe1f0('0x16')](handleError(_0x31944f,null));};exports[_0xe1f0('0x17')]=function(_0x4df76b,_0x4c480e){if(_0x4df76b[_0xe1f0('0x18')][_0xe1f0('0xa')]&&_0x4df76b[_0xe1f0('0x18')][_0xe1f0('0x19')]){var _0x8647b4=path['join'](__dirname,_0xe1f0('0x1a'),_0x4df76b['body'][_0xe1f0('0x19')]);var _0x4e08b2=process['cwd']();process[_0xe1f0('0x1b')](path[_0xe1f0('0x1c')](_0x8647b4));return execChildProcess()[_0xe1f0('0x12')](function(_0x48a944){process['chdir'](_0x4e08b2);return pm2[_0xe1f0('0x1d')]({'name':_0x4df76b[_0xe1f0('0x18')][_0xe1f0('0xa')],'script':_0x8647b4});})['then'](function(_0x581ed6){pm2[_0xe1f0('0x1e')]();return _0x581ed6[0x0];})[_0xe1f0('0x12')](respondWithResult(_0x4c480e,0xc9))[_0xe1f0('0x16')](handleError(_0x4c480e,null));}else{return _0x4c480e[_0xe1f0('0x6')](0x1f4)[_0xe1f0('0xb')]({'message':_0xe1f0('0x1f')});}};exports[_0xe1f0('0x20')]=function(_0x982627,_0x5bf645){if(_0x982627[_0xe1f0('0x18')]['id']){delete _0x982627['body']['id'];}var _0x165546={'online':'restart','stopped':_0xe1f0('0x21')};if(_0x165546['hasOwnProperty'](_0x982627[_0xe1f0('0x18')][_0xe1f0('0x6')])){return pm2[_0x165546[_0x982627['body'][_0xe1f0('0x6')]]](_0x982627[_0xe1f0('0x15')]['id'])['then'](respondWithResult(_0x5bf645,0xc8))['catch'](handleError(_0x5bf645,null));}else{return _0x5bf645['status'](0x1f4)[_0xe1f0('0xb')]({'message':_0xe1f0('0x22')});}};exports[_0xe1f0('0x23')]=function(_0x52e821,_0x1afef1){if(_0x52e821['body']['id']){delete _0x52e821['body']['id'];}if(_0x52e821[_0xe1f0('0x15')]['id']){return pm2[_0xe1f0('0x24')](_0x52e821[_0xe1f0('0x15')]['id'])[_0xe1f0('0x12')](function(_0x33a852){pm2[_0xe1f0('0x1e')]();return _0x33a852[0x0];})[_0xe1f0('0x12')](respondWithResult(_0x1afef1,null))[_0xe1f0('0x16')](handleError(_0x1afef1,null));}else{return _0x1afef1[_0xe1f0('0x6')](0x1f4)[_0xe1f0('0xb')]({'message':'Unknown\x20id'});}};