Built motion from commit (unavailable).|2.5.29
[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 _0x6462=['length','catch','show','params','create','body','script','join','../../files/plugins','chdir','start','dump','send','Missing\x20name\x20and/or\x20path','update','restart','stop','hasOwnProperty','Unknown\x20status','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','child_process','exec','bluebird','status','json','name','npm\x20install','info','error','index','list','then','express'];(function(_0x1ebd81,_0x44a6e5){var _0x4bd979=function(_0x3c6942){while(--_0x3c6942){_0x1ebd81['push'](_0x1ebd81['shift']());}};_0x4bd979(++_0x44a6e5);}(_0x6462,0x16a));var _0x2646=function(_0x15e03c,_0x44aad7){_0x15e03c=_0x15e03c-0x0;var _0xc86d9a=_0x6462[_0x15e03c];return _0xc86d9a;};'use strict';var _=require(_0x2646('0x0'));var pm2=require(_0x2646('0x1'));var logger=require(_0x2646('0x2'))(_0x2646('0x3'));var path=require(_0x2646('0x4'));var exec=require(_0x2646('0x5'))[_0x2646('0x6')];var BPromise=require(_0x2646('0x7'));function handleEntityNotFound(_0x53a2f4,_0x2fb9b5){return function(_0x919519){if(!_0x919519){_0x53a2f4['sendStatus'](0x194);;}return _0x919519;};}function respondWithResult(_0x57f740,_0x4b700f){_0x4b700f=_0x4b700f||0xc8;return function(_0x4344dd){if(_0x4344dd){return _0x57f740[_0x2646('0x8')](_0x4b700f)[_0x2646('0x9')](_0x4344dd);}return null;};}function handleError(_0x44d973,_0x3695b5){_0x3695b5=_0x3695b5||0x1f4;return function(_0x208e3a){logger['error'](_0x208e3a['stack']);if(_0x208e3a[_0x2646('0xa')]){delete _0x208e3a[_0x2646('0xa')];}_0x44d973['status'](_0x3695b5)['send'](_0x208e3a);};}function execChildProcess(){return new BPromise(function(_0x2b9cc6,_0x23f81c){exec(_0x2646('0xb'),function(_0x1a7f86,_0x177b78,_0xd0bf4){logger[_0x2646('0xc')](_0x177b78);logger['info'](_0xd0bf4);if(_0x1a7f86){logger[_0x2646('0xd')](_0x1a7f86);return _0x23f81c(_0x1a7f86);}return _0x2b9cc6(_0x177b78);});});}exports[_0x2646('0xe')]=function(_0x143f29,_0x23b36a){return pm2[_0x2646('0xf')]()[_0x2646('0x10')](function(_0x412731){if(_0x412731){var _0x471bee=_['reject'](_0x412731,function(_0x642b78){return _0x642b78['name']===_0x2646('0x11')||_0x642b78[_0x2646('0xa')]==='motion2';});return{'rows':_0x471bee,'count':_0x471bee[_0x2646('0x12')]};}return null;})['then'](respondWithResult(_0x23b36a,null))[_0x2646('0x13')](handleError(_0x23b36a,null));};exports[_0x2646('0x14')]=function(_0x4ab5e2,_0x525795){return pm2['describe'](_0x4ab5e2[_0x2646('0x15')]['id'])['then'](respondWithResult(_0x525795,null))[_0x2646('0x10')](handleEntityNotFound(_0x525795,null))[_0x2646('0x13')](handleError(_0x525795,null));};exports[_0x2646('0x16')]=function(_0x131dd8,_0x1e7ee5){if(_0x131dd8[_0x2646('0x17')][_0x2646('0xa')]&&_0x131dd8[_0x2646('0x17')][_0x2646('0x18')]){var _0x5bd3b1=path[_0x2646('0x19')](__dirname,_0x2646('0x1a'),_0x131dd8[_0x2646('0x17')][_0x2646('0x18')]);var _0x595291=process['cwd']();process[_0x2646('0x1b')](path['dirname'](_0x5bd3b1));return execChildProcess()[_0x2646('0x10')](function(_0x216120){process['chdir'](_0x595291);return pm2[_0x2646('0x1c')]({'name':_0x131dd8['body']['name'],'script':_0x5bd3b1});})['then'](function(_0x1a67a8){pm2[_0x2646('0x1d')]();return _0x1a67a8[0x0];})[_0x2646('0x10')](respondWithResult(_0x1e7ee5,0xc9))[_0x2646('0x13')](handleError(_0x1e7ee5,null));}else{return _0x1e7ee5[_0x2646('0x8')](0x1f4)[_0x2646('0x1e')]({'message':_0x2646('0x1f')});}};exports[_0x2646('0x20')]=function(_0x452aed,_0x1611a6){if(_0x452aed[_0x2646('0x17')]['id']){delete _0x452aed[_0x2646('0x17')]['id'];}var _0x3bbeac={'online':_0x2646('0x21'),'stopped':_0x2646('0x22')};if(_0x3bbeac[_0x2646('0x23')](_0x452aed[_0x2646('0x17')][_0x2646('0x8')])){return pm2[_0x3bbeac[_0x452aed[_0x2646('0x17')][_0x2646('0x8')]]](_0x452aed['params']['id'])[_0x2646('0x10')](respondWithResult(_0x1611a6,0xc8))[_0x2646('0x13')](handleError(_0x1611a6,null));}else{return _0x1611a6[_0x2646('0x8')](0x1f4)[_0x2646('0x1e')]({'message':_0x2646('0x24')});}};exports['destroy']=function(_0x3086e9,_0x5a382f){if(_0x3086e9['body']['id']){delete _0x3086e9[_0x2646('0x17')]['id'];}if(_0x3086e9[_0x2646('0x15')]['id']){return pm2['delete'](_0x3086e9[_0x2646('0x15')]['id'])[_0x2646('0x10')](function(_0x55897c){pm2[_0x2646('0x1d')]();return _0x55897c[0x0];})[_0x2646('0x10')](respondWithResult(_0x5a382f,null))[_0x2646('0x13')](handleError(_0x5a382f,null));}else{return _0x5a382f[_0x2646('0x8')](0x1f4)['send']({'message':_0x2646('0x25')});}};