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 _0xee98=['bluebird','sendStatus','status','error','name','info','index','list','then','express','motion2','length','catch','describe','params','create','body','join','../../files/plugins','script','cwd','dump','send','Missing\x20name\x20and/or\x20path','update','restart','stop','Unknown\x20status','destroy','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','child_process','exec'];(function(_0x2731df,_0x51e6b6){var _0x39e16a=function(_0x44855e){while(--_0x44855e){_0x2731df['push'](_0x2731df['shift']());}};_0x39e16a(++_0x51e6b6);}(_0xee98,0x175));var _0x8ee9=function(_0x46698a,_0x8de1e4){_0x46698a=_0x46698a-0x0;var _0x356db0=_0xee98[_0x46698a];return _0x356db0;};'use strict';var _=require(_0x8ee9('0x0'));var pm2=require(_0x8ee9('0x1'));var logger=require(_0x8ee9('0x2'))(_0x8ee9('0x3'));var path=require(_0x8ee9('0x4'));var exec=require(_0x8ee9('0x5'))[_0x8ee9('0x6')];var BPromise=require(_0x8ee9('0x7'));function handleEntityNotFound(_0x3f9493,_0xbdc2a7){return function(_0x353bdf){if(!_0x353bdf){_0x3f9493[_0x8ee9('0x8')](0x194);;}return _0x353bdf;};}function respondWithResult(_0x5e85ae,_0x44b833){_0x44b833=_0x44b833||0xc8;return function(_0x5f3277){if(_0x5f3277){return _0x5e85ae[_0x8ee9('0x9')](_0x44b833)['json'](_0x5f3277);}return null;};}function handleError(_0x1cc3bb,_0x3b5dca){_0x3b5dca=_0x3b5dca||0x1f4;return function(_0x335461){logger[_0x8ee9('0xa')](_0x335461['stack']);if(_0x335461['name']){delete _0x335461[_0x8ee9('0xb')];}_0x1cc3bb[_0x8ee9('0x9')](_0x3b5dca)['send'](_0x335461);};}function execChildProcess(){return new BPromise(function(_0x2ebf59,_0x44824f){exec('npm\x20install',function(_0x281ed2,_0x5a9fd7,_0x162d6){logger[_0x8ee9('0xc')](_0x5a9fd7);logger['info'](_0x162d6);if(_0x281ed2){logger[_0x8ee9('0xa')](_0x281ed2);return _0x44824f(_0x281ed2);}return _0x2ebf59(_0x5a9fd7);});});}exports[_0x8ee9('0xd')]=function(_0x364ef2,_0xbc406e){return pm2[_0x8ee9('0xe')]()[_0x8ee9('0xf')](function(_0x297a0f){if(_0x297a0f){var _0x5d15d8=_['reject'](_0x297a0f,function(_0xa6e40d){return _0xa6e40d[_0x8ee9('0xb')]===_0x8ee9('0x10')||_0xa6e40d[_0x8ee9('0xb')]===_0x8ee9('0x11');});return{'rows':_0x5d15d8,'count':_0x5d15d8[_0x8ee9('0x12')]};}return null;})['then'](respondWithResult(_0xbc406e,null))[_0x8ee9('0x13')](handleError(_0xbc406e,null));};exports['show']=function(_0x34e13f,_0x6506fc){return pm2[_0x8ee9('0x14')](_0x34e13f[_0x8ee9('0x15')]['id'])[_0x8ee9('0xf')](respondWithResult(_0x6506fc,null))[_0x8ee9('0xf')](handleEntityNotFound(_0x6506fc,null))[_0x8ee9('0x13')](handleError(_0x6506fc,null));};exports[_0x8ee9('0x16')]=function(_0x2e994a,_0x2171a3){if(_0x2e994a[_0x8ee9('0x17')]['name']&&_0x2e994a[_0x8ee9('0x17')]['script']){var _0x56c06c=path[_0x8ee9('0x18')](__dirname,_0x8ee9('0x19'),_0x2e994a['body'][_0x8ee9('0x1a')]);var _0x6e8dfe=process[_0x8ee9('0x1b')]();process['chdir'](path['dirname'](_0x56c06c));return execChildProcess()['then'](function(_0x2b8f2d){process['chdir'](_0x6e8dfe);return pm2['start']({'name':_0x2e994a[_0x8ee9('0x17')]['name'],'script':_0x56c06c});})[_0x8ee9('0xf')](function(_0x4b925a){pm2[_0x8ee9('0x1c')]();return _0x4b925a[0x0];})[_0x8ee9('0xf')](respondWithResult(_0x2171a3,0xc9))[_0x8ee9('0x13')](handleError(_0x2171a3,null));}else{return _0x2171a3[_0x8ee9('0x9')](0x1f4)[_0x8ee9('0x1d')]({'message':_0x8ee9('0x1e')});}};exports[_0x8ee9('0x1f')]=function(_0x1f3229,_0x1f5664){if(_0x1f3229['body']['id']){delete _0x1f3229[_0x8ee9('0x17')]['id'];}var _0x1876dd={'online':_0x8ee9('0x20'),'stopped':_0x8ee9('0x21')};if(_0x1876dd['hasOwnProperty'](_0x1f3229[_0x8ee9('0x17')][_0x8ee9('0x9')])){return pm2[_0x1876dd[_0x1f3229[_0x8ee9('0x17')][_0x8ee9('0x9')]]](_0x1f3229[_0x8ee9('0x15')]['id'])[_0x8ee9('0xf')](respondWithResult(_0x1f5664,0xc8))[_0x8ee9('0x13')](handleError(_0x1f5664,null));}else{return _0x1f5664['status'](0x1f4)['send']({'message':_0x8ee9('0x22')});}};exports[_0x8ee9('0x23')]=function(_0x23258d,_0x5243c8){if(_0x23258d[_0x8ee9('0x17')]['id']){delete _0x23258d[_0x8ee9('0x17')]['id'];}if(_0x23258d['params']['id']){return pm2[_0x8ee9('0x24')](_0x23258d[_0x8ee9('0x15')]['id'])[_0x8ee9('0xf')](function(_0x524b53){pm2['dump']();return _0x524b53[0x0];})[_0x8ee9('0xf')](respondWithResult(_0x5243c8,null))[_0x8ee9('0x13')](handleError(_0x5243c8,null));}else{return _0x5243c8[_0x8ee9('0x9')](0x1f4)[_0x8ee9('0x1d')]({'message':_0x8ee9('0x25')});}};