Built motion from commit (unavailable).|2.5.31
[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 _0x4e8c=['name','send','npm\x20install','info','index','list','then','reject','express','length','catch','describe','create','body','script','join','chdir','dirname','start','Missing\x20name\x20and/or\x20path','update','restart','stop','hasOwnProperty','destroy','delete','params','dump','lodash','../../config/pm2','../../config/logger','api','path','exec','sendStatus','status','json','error','stack'];(function(_0x44b827,_0x1bb1aa){var _0x527342=function(_0x481338){while(--_0x481338){_0x44b827['push'](_0x44b827['shift']());}};_0x527342(++_0x1bb1aa);}(_0x4e8c,0x17b));var _0xc4e8=function(_0x1ea5a5,_0x22e0d9){_0x1ea5a5=_0x1ea5a5-0x0;var _0x317464=_0x4e8c[_0x1ea5a5];return _0x317464;};'use strict';var _=require(_0xc4e8('0x0'));var pm2=require(_0xc4e8('0x1'));var logger=require(_0xc4e8('0x2'))(_0xc4e8('0x3'));var path=require(_0xc4e8('0x4'));var exec=require('child_process')[_0xc4e8('0x5')];var BPromise=require('bluebird');function handleEntityNotFound(_0x16d986,_0x5bfdbe){return function(_0x5ae810){if(!_0x5ae810){_0x16d986[_0xc4e8('0x6')](0x194);;}return _0x5ae810;};}function respondWithResult(_0x70cdd7,_0xda300b){_0xda300b=_0xda300b||0xc8;return function(_0x267e5d){if(_0x267e5d){return _0x70cdd7[_0xc4e8('0x7')](_0xda300b)[_0xc4e8('0x8')](_0x267e5d);}return null;};}function handleError(_0x263fb0,_0x8a5d9a){_0x8a5d9a=_0x8a5d9a||0x1f4;return function(_0x563854){logger[_0xc4e8('0x9')](_0x563854[_0xc4e8('0xa')]);if(_0x563854['name']){delete _0x563854[_0xc4e8('0xb')];}_0x263fb0[_0xc4e8('0x7')](_0x8a5d9a)[_0xc4e8('0xc')](_0x563854);};}function execChildProcess(){return new BPromise(function(_0x52626b,_0x2cb2bb){exec(_0xc4e8('0xd'),function(_0x2929c7,_0xc28025,_0x5e169d){logger['info'](_0xc28025);logger[_0xc4e8('0xe')](_0x5e169d);if(_0x2929c7){logger[_0xc4e8('0x9')](_0x2929c7);return _0x2cb2bb(_0x2929c7);}return _0x52626b(_0xc28025);});});}exports[_0xc4e8('0xf')]=function(_0x51d0e8,_0x271d73){return pm2[_0xc4e8('0x10')]()[_0xc4e8('0x11')](function(_0x141c02){if(_0x141c02){var _0x534dc8=_[_0xc4e8('0x12')](_0x141c02,function(_0x2ef9da){return _0x2ef9da[_0xc4e8('0xb')]===_0xc4e8('0x13')||_0x2ef9da[_0xc4e8('0xb')]==='motion2';});return{'rows':_0x534dc8,'count':_0x534dc8[_0xc4e8('0x14')]};}return null;})[_0xc4e8('0x11')](respondWithResult(_0x271d73,null))[_0xc4e8('0x15')](handleError(_0x271d73,null));};exports['show']=function(_0x5f3d4a,_0x3b7f33){return pm2[_0xc4e8('0x16')](_0x5f3d4a['params']['id'])[_0xc4e8('0x11')](respondWithResult(_0x3b7f33,null))['then'](handleEntityNotFound(_0x3b7f33,null))['catch'](handleError(_0x3b7f33,null));};exports[_0xc4e8('0x17')]=function(_0x3fd5f5,_0x4a5527){if(_0x3fd5f5[_0xc4e8('0x18')]['name']&&_0x3fd5f5[_0xc4e8('0x18')][_0xc4e8('0x19')]){var _0x574328=path[_0xc4e8('0x1a')](__dirname,'../../files/plugins',_0x3fd5f5['body']['script']);var _0x4117b2=process['cwd']();process[_0xc4e8('0x1b')](path[_0xc4e8('0x1c')](_0x574328));return execChildProcess()['then'](function(_0x382520){process[_0xc4e8('0x1b')](_0x4117b2);return pm2[_0xc4e8('0x1d')]({'name':_0x3fd5f5[_0xc4e8('0x18')]['name'],'script':_0x574328});})[_0xc4e8('0x11')](function(_0x104a1c){pm2['dump']();return _0x104a1c[0x0];})[_0xc4e8('0x11')](respondWithResult(_0x4a5527,0xc9))[_0xc4e8('0x15')](handleError(_0x4a5527,null));}else{return _0x4a5527[_0xc4e8('0x7')](0x1f4)[_0xc4e8('0xc')]({'message':_0xc4e8('0x1e')});}};exports[_0xc4e8('0x1f')]=function(_0x4aabce,_0x59d16e){if(_0x4aabce['body']['id']){delete _0x4aabce[_0xc4e8('0x18')]['id'];}var _0x5749bc={'online':_0xc4e8('0x20'),'stopped':_0xc4e8('0x21')};if(_0x5749bc[_0xc4e8('0x22')](_0x4aabce[_0xc4e8('0x18')]['status'])){return pm2[_0x5749bc[_0x4aabce['body'][_0xc4e8('0x7')]]](_0x4aabce['params']['id'])[_0xc4e8('0x11')](respondWithResult(_0x59d16e,0xc8))[_0xc4e8('0x15')](handleError(_0x59d16e,null));}else{return _0x59d16e[_0xc4e8('0x7')](0x1f4)[_0xc4e8('0xc')]({'message':'Unknown\x20status'});}};exports[_0xc4e8('0x23')]=function(_0x23aea3,_0x32b7a5){if(_0x23aea3['body']['id']){delete _0x23aea3['body']['id'];}if(_0x23aea3['params']['id']){return pm2[_0xc4e8('0x24')](_0x23aea3[_0xc4e8('0x25')]['id'])['then'](function(_0x21a022){pm2[_0xc4e8('0x26')]();return _0x21a022[0x0];})[_0xc4e8('0x11')](respondWithResult(_0x32b7a5,null))['catch'](handleError(_0x32b7a5,null));}else{return _0x32b7a5[_0xc4e8('0x7')](0x1f4)['send']({'message':'Unknown\x20id'});}};