Built motion from commit (unavailable).|2.5.26
[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 _0x6558=['Unknown\x20status','destroy','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','child_process','exec','bluebird','sendStatus','status','json','name','info','error','index','list','then','express','length','catch','show','describe','params','create','body','script','join','../../files/plugins','cwd','chdir','dirname','start','dump','update','restart','hasOwnProperty','send'];(function(_0x3b9d5f,_0x2e9039){var _0x39924e=function(_0x5752ee){while(--_0x5752ee){_0x3b9d5f['push'](_0x3b9d5f['shift']());}};_0x39924e(++_0x2e9039);}(_0x6558,0xfa));var _0x8655=function(_0xf0bcac,_0x531755){_0xf0bcac=_0xf0bcac-0x0;var _0x4e4c65=_0x6558[_0xf0bcac];return _0x4e4c65;};'use strict';var _=require(_0x8655('0x0'));var pm2=require(_0x8655('0x1'));var logger=require(_0x8655('0x2'))(_0x8655('0x3'));var path=require(_0x8655('0x4'));var exec=require(_0x8655('0x5'))[_0x8655('0x6')];var BPromise=require(_0x8655('0x7'));function handleEntityNotFound(_0x1f283f,_0x3f0b9a){return function(_0x44bfc2){if(!_0x44bfc2){_0x1f283f[_0x8655('0x8')](0x194);;}return _0x44bfc2;};}function respondWithResult(_0x129fbc,_0x595090){_0x595090=_0x595090||0xc8;return function(_0x46dc1e){if(_0x46dc1e){return _0x129fbc[_0x8655('0x9')](_0x595090)[_0x8655('0xa')](_0x46dc1e);}return null;};}function handleError(_0x508156,_0x3497c4){_0x3497c4=_0x3497c4||0x1f4;return function(_0x41ec83){logger['error'](_0x41ec83['stack']);if(_0x41ec83[_0x8655('0xb')]){delete _0x41ec83[_0x8655('0xb')];}_0x508156[_0x8655('0x9')](_0x3497c4)['send'](_0x41ec83);};}function execChildProcess(){return new BPromise(function(_0x4bc56b,_0x2956df){exec('npm\x20install',function(_0x1cf49e,_0x1bce3,_0x4fdb38){logger[_0x8655('0xc')](_0x1bce3);logger[_0x8655('0xc')](_0x4fdb38);if(_0x1cf49e){logger[_0x8655('0xd')](_0x1cf49e);return _0x2956df(_0x1cf49e);}return _0x4bc56b(_0x1bce3);});});}exports[_0x8655('0xe')]=function(_0x25074c,_0x1de7ff){return pm2[_0x8655('0xf')]()[_0x8655('0x10')](function(_0x1326ec){if(_0x1326ec){var _0x5f5924=_['reject'](_0x1326ec,function(_0x410b31){return _0x410b31[_0x8655('0xb')]===_0x8655('0x11')||_0x410b31['name']==='motion2';});return{'rows':_0x5f5924,'count':_0x5f5924[_0x8655('0x12')]};}return null;})[_0x8655('0x10')](respondWithResult(_0x1de7ff,null))[_0x8655('0x13')](handleError(_0x1de7ff,null));};exports[_0x8655('0x14')]=function(_0x1d2d79,_0x438db1){return pm2[_0x8655('0x15')](_0x1d2d79[_0x8655('0x16')]['id'])['then'](respondWithResult(_0x438db1,null))['then'](handleEntityNotFound(_0x438db1,null))['catch'](handleError(_0x438db1,null));};exports[_0x8655('0x17')]=function(_0x51a2e9,_0x2d38f8){if(_0x51a2e9[_0x8655('0x18')][_0x8655('0xb')]&&_0x51a2e9[_0x8655('0x18')][_0x8655('0x19')]){var _0xf32ff=path[_0x8655('0x1a')](__dirname,_0x8655('0x1b'),_0x51a2e9[_0x8655('0x18')][_0x8655('0x19')]);var _0x2754cc=process[_0x8655('0x1c')]();process[_0x8655('0x1d')](path[_0x8655('0x1e')](_0xf32ff));return execChildProcess()['then'](function(_0x28cb06){process[_0x8655('0x1d')](_0x2754cc);return pm2[_0x8655('0x1f')]({'name':_0x51a2e9[_0x8655('0x18')][_0x8655('0xb')],'script':_0xf32ff});})[_0x8655('0x10')](function(_0x5a5ca9){pm2[_0x8655('0x20')]();return _0x5a5ca9[0x0];})[_0x8655('0x10')](respondWithResult(_0x2d38f8,0xc9))[_0x8655('0x13')](handleError(_0x2d38f8,null));}else{return _0x2d38f8[_0x8655('0x9')](0x1f4)['send']({'message':'Missing\x20name\x20and/or\x20path'});}};exports[_0x8655('0x21')]=function(_0x2bf70e,_0x2441d3){if(_0x2bf70e[_0x8655('0x18')]['id']){delete _0x2bf70e[_0x8655('0x18')]['id'];}var _0xe0176={'online':_0x8655('0x22'),'stopped':'stop'};if(_0xe0176[_0x8655('0x23')](_0x2bf70e[_0x8655('0x18')][_0x8655('0x9')])){return pm2[_0xe0176[_0x2bf70e[_0x8655('0x18')][_0x8655('0x9')]]](_0x2bf70e['params']['id'])[_0x8655('0x10')](respondWithResult(_0x2441d3,0xc8))[_0x8655('0x13')](handleError(_0x2441d3,null));}else{return _0x2441d3[_0x8655('0x9')](0x1f4)[_0x8655('0x24')]({'message':_0x8655('0x25')});}};exports[_0x8655('0x26')]=function(_0x20b931,_0x5d42e7){if(_0x20b931['body']['id']){delete _0x20b931[_0x8655('0x18')]['id'];}if(_0x20b931['params']['id']){return pm2[_0x8655('0x27')](_0x20b931[_0x8655('0x16')]['id'])[_0x8655('0x10')](function(_0x37b4e2){pm2[_0x8655('0x20')]();return _0x37b4e2[0x0];})[_0x8655('0x10')](respondWithResult(_0x5d42e7,null))['catch'](handleError(_0x5d42e7,null));}else{return _0x5d42e7['status'](0x1f4)['send']({'message':_0x8655('0x28')});}};