Built motion from commit (unavailable).|2.5.2
[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 _0x2277=['name','send','npm\x20install','info','index','then','reject','express','motion2','catch','show','params','create','body','script','join','../../files/plugins','cwd','dirname','chdir','dump','Missing\x20name\x20and/or\x20path','stop','hasOwnProperty','Unknown\x20status','destroy','delete','Unknown\x20id','lodash','../../config/pm2','api','path','child_process','exec','bluebird','sendStatus','status','json','error','stack'];(function(_0x203f22,_0x471338){var _0x5d09fc=function(_0x7ca888){while(--_0x7ca888){_0x203f22['push'](_0x203f22['shift']());}};_0x5d09fc(++_0x471338);}(_0x2277,0x184));var _0x7227=function(_0x5de914,_0x27faab){_0x5de914=_0x5de914-0x0;var _0x3092b4=_0x2277[_0x5de914];return _0x3092b4;};'use strict';var _=require(_0x7227('0x0'));var pm2=require(_0x7227('0x1'));var logger=require('../../config/logger')(_0x7227('0x2'));var path=require(_0x7227('0x3'));var exec=require(_0x7227('0x4'))[_0x7227('0x5')];var BPromise=require(_0x7227('0x6'));function handleEntityNotFound(_0x2cb90e,_0x1812ca){return function(_0x6c38e1){if(!_0x6c38e1){_0x2cb90e[_0x7227('0x7')](0x194);;}return _0x6c38e1;};}function respondWithResult(_0x3cb99c,_0x33dc27){_0x33dc27=_0x33dc27||0xc8;return function(_0x1e1f6d){if(_0x1e1f6d){return _0x3cb99c[_0x7227('0x8')](_0x33dc27)[_0x7227('0x9')](_0x1e1f6d);}return null;};}function handleError(_0x594103,_0x4a0a25){_0x4a0a25=_0x4a0a25||0x1f4;return function(_0x2b34e9){logger[_0x7227('0xa')](_0x2b34e9[_0x7227('0xb')]);if(_0x2b34e9[_0x7227('0xc')]){delete _0x2b34e9[_0x7227('0xc')];}_0x594103[_0x7227('0x8')](_0x4a0a25)[_0x7227('0xd')](_0x2b34e9);};}function execChildProcess(){return new BPromise(function(_0x173c77,_0x2b4999){exec(_0x7227('0xe'),function(_0x220673,_0x3f070d,_0x362107){logger[_0x7227('0xf')](_0x3f070d);logger[_0x7227('0xf')](_0x362107);if(_0x220673){logger[_0x7227('0xa')](_0x220673);return _0x2b4999(_0x220673);}return _0x173c77(_0x3f070d);});});}exports[_0x7227('0x10')]=function(_0x408f06,_0x51996e){return pm2['list']()[_0x7227('0x11')](function(_0x5cff88){if(_0x5cff88){var _0x2bf949=_[_0x7227('0x12')](_0x5cff88,function(_0x87a19c){return _0x87a19c[_0x7227('0xc')]===_0x7227('0x13')||_0x87a19c[_0x7227('0xc')]===_0x7227('0x14');});return{'rows':_0x2bf949,'count':_0x2bf949['length']};}return null;})[_0x7227('0x11')](respondWithResult(_0x51996e,null))[_0x7227('0x15')](handleError(_0x51996e,null));};exports[_0x7227('0x16')]=function(_0x483fb5,_0x219653){return pm2['describe'](_0x483fb5[_0x7227('0x17')]['id'])['then'](respondWithResult(_0x219653,null))['then'](handleEntityNotFound(_0x219653,null))[_0x7227('0x15')](handleError(_0x219653,null));};exports[_0x7227('0x18')]=function(_0xa60672,_0x12f4e8){if(_0xa60672[_0x7227('0x19')][_0x7227('0xc')]&&_0xa60672['body'][_0x7227('0x1a')]){var _0x165dad=path[_0x7227('0x1b')](__dirname,_0x7227('0x1c'),_0xa60672[_0x7227('0x19')]['script']);var _0x2044a9=process[_0x7227('0x1d')]();process['chdir'](path[_0x7227('0x1e')](_0x165dad));return execChildProcess()[_0x7227('0x11')](function(_0x4ace44){process[_0x7227('0x1f')](_0x2044a9);return pm2['start']({'name':_0xa60672[_0x7227('0x19')][_0x7227('0xc')],'script':_0x165dad});})['then'](function(_0x191c38){pm2[_0x7227('0x20')]();return _0x191c38[0x0];})[_0x7227('0x11')](respondWithResult(_0x12f4e8,0xc9))[_0x7227('0x15')](handleError(_0x12f4e8,null));}else{return _0x12f4e8[_0x7227('0x8')](0x1f4)[_0x7227('0xd')]({'message':_0x7227('0x21')});}};exports['update']=function(_0x58d5f0,_0x4c024f){if(_0x58d5f0[_0x7227('0x19')]['id']){delete _0x58d5f0[_0x7227('0x19')]['id'];}var _0x420bf1={'online':'restart','stopped':_0x7227('0x22')};if(_0x420bf1[_0x7227('0x23')](_0x58d5f0['body']['status'])){return pm2[_0x420bf1[_0x58d5f0[_0x7227('0x19')][_0x7227('0x8')]]](_0x58d5f0[_0x7227('0x17')]['id'])['then'](respondWithResult(_0x4c024f,0xc8))[_0x7227('0x15')](handleError(_0x4c024f,null));}else{return _0x4c024f[_0x7227('0x8')](0x1f4)['send']({'message':_0x7227('0x24')});}};exports[_0x7227('0x25')]=function(_0x5776a1,_0x3891aa){if(_0x5776a1[_0x7227('0x19')]['id']){delete _0x5776a1[_0x7227('0x19')]['id'];}if(_0x5776a1['params']['id']){return pm2[_0x7227('0x26')](_0x5776a1['params']['id'])[_0x7227('0x11')](function(_0x3efed3){pm2['dump']();return _0x3efed3[0x0];})['then'](respondWithResult(_0x3891aa,null))[_0x7227('0x15')](handleError(_0x3891aa,null));}else{return _0x3891aa[_0x7227('0x8')](0x1f4)[_0x7227('0xd')]({'message':_0x7227('0x27')});}};