a4c61ae9c457e4b5f50c1c15cfa7d1c74d813788
[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 _0xa607=['child_process','bluebird','sendStatus','status','json','error','stack','name','send','npm\x20install','info','list','then','reject','express','motion2','length','describe','params','catch','body','script','join','../../files/plugins','cwd','chdir','dirname','start','dump','Missing\x20name\x20and/or\x20path','restart','hasOwnProperty','Unknown\x20status','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api'];(function(_0x4c3969,_0x237dac){var _0x4e63f3=function(_0x46a22f){while(--_0x46a22f){_0x4c3969['push'](_0x4c3969['shift']());}};_0x4e63f3(++_0x237dac);}(_0xa607,0x182));var _0x7a60=function(_0x2c96f6,_0x877207){_0x2c96f6=_0x2c96f6-0x0;var _0x6d4808=_0xa607[_0x2c96f6];return _0x6d4808;};'use strict';var _=require(_0x7a60('0x0'));var pm2=require(_0x7a60('0x1'));var logger=require(_0x7a60('0x2'))(_0x7a60('0x3'));var path=require('path');var exec=require(_0x7a60('0x4'))['exec'];var BPromise=require(_0x7a60('0x5'));function handleEntityNotFound(_0x2a2b7f,_0x69c1d1){return function(_0x5c4be4){if(!_0x5c4be4){_0x2a2b7f[_0x7a60('0x6')](0x194);;}return _0x5c4be4;};}function respondWithResult(_0x29b43f,_0x35e272){_0x35e272=_0x35e272||0xc8;return function(_0x1ae659){if(_0x1ae659){return _0x29b43f[_0x7a60('0x7')](_0x35e272)[_0x7a60('0x8')](_0x1ae659);}return null;};}function handleError(_0xcde9ff,_0x3eaf49){_0x3eaf49=_0x3eaf49||0x1f4;return function(_0x2a0414){logger[_0x7a60('0x9')](_0x2a0414[_0x7a60('0xa')]);if(_0x2a0414[_0x7a60('0xb')]){delete _0x2a0414[_0x7a60('0xb')];}_0xcde9ff[_0x7a60('0x7')](_0x3eaf49)[_0x7a60('0xc')](_0x2a0414);};}function execChildProcess(){return new BPromise(function(_0x54f7d6,_0x23ccd9){exec(_0x7a60('0xd'),function(_0x451163,_0x159c60,_0x4247e4){logger[_0x7a60('0xe')](_0x159c60);logger['info'](_0x4247e4);if(_0x451163){logger[_0x7a60('0x9')](_0x451163);return _0x23ccd9(_0x451163);}return _0x54f7d6(_0x159c60);});});}exports['index']=function(_0x2cf696,_0x447a56){return pm2[_0x7a60('0xf')]()[_0x7a60('0x10')](function(_0x30e3d1){if(_0x30e3d1){var _0x2973b6=_[_0x7a60('0x11')](_0x30e3d1,function(_0x5cc21e){return _0x5cc21e[_0x7a60('0xb')]===_0x7a60('0x12')||_0x5cc21e[_0x7a60('0xb')]===_0x7a60('0x13');});return{'rows':_0x2973b6,'count':_0x2973b6[_0x7a60('0x14')]};}return null;})['then'](respondWithResult(_0x447a56,null))['catch'](handleError(_0x447a56,null));};exports['show']=function(_0x51248e,_0x5dbde2){return pm2[_0x7a60('0x15')](_0x51248e[_0x7a60('0x16')]['id'])[_0x7a60('0x10')](respondWithResult(_0x5dbde2,null))[_0x7a60('0x10')](handleEntityNotFound(_0x5dbde2,null))[_0x7a60('0x17')](handleError(_0x5dbde2,null));};exports['create']=function(_0x3bad0d,_0x50d4d4){if(_0x3bad0d[_0x7a60('0x18')][_0x7a60('0xb')]&&_0x3bad0d[_0x7a60('0x18')][_0x7a60('0x19')]){var _0x46f57d=path[_0x7a60('0x1a')](__dirname,_0x7a60('0x1b'),_0x3bad0d[_0x7a60('0x18')][_0x7a60('0x19')]);var _0xaeb76e=process[_0x7a60('0x1c')]();process[_0x7a60('0x1d')](path[_0x7a60('0x1e')](_0x46f57d));return execChildProcess()[_0x7a60('0x10')](function(_0x513daf){process[_0x7a60('0x1d')](_0xaeb76e);return pm2[_0x7a60('0x1f')]({'name':_0x3bad0d[_0x7a60('0x18')][_0x7a60('0xb')],'script':_0x46f57d});})[_0x7a60('0x10')](function(_0x464686){pm2[_0x7a60('0x20')]();return _0x464686[0x0];})[_0x7a60('0x10')](respondWithResult(_0x50d4d4,0xc9))[_0x7a60('0x17')](handleError(_0x50d4d4,null));}else{return _0x50d4d4[_0x7a60('0x7')](0x1f4)['send']({'message':_0x7a60('0x21')});}};exports['update']=function(_0x181cec,_0x3b4fe6){if(_0x181cec[_0x7a60('0x18')]['id']){delete _0x181cec[_0x7a60('0x18')]['id'];}var _0x3012aa={'online':_0x7a60('0x22'),'stopped':'stop'};if(_0x3012aa[_0x7a60('0x23')](_0x181cec['body']['status'])){return pm2[_0x3012aa[_0x181cec[_0x7a60('0x18')]['status']]](_0x181cec[_0x7a60('0x16')]['id'])[_0x7a60('0x10')](respondWithResult(_0x3b4fe6,0xc8))[_0x7a60('0x17')](handleError(_0x3b4fe6,null));}else{return _0x3b4fe6['status'](0x1f4)[_0x7a60('0xc')]({'message':_0x7a60('0x24')});}};exports['destroy']=function(_0x5af224,_0x2e12d8){if(_0x5af224[_0x7a60('0x18')]['id']){delete _0x5af224[_0x7a60('0x18')]['id'];}if(_0x5af224[_0x7a60('0x16')]['id']){return pm2[_0x7a60('0x25')](_0x5af224[_0x7a60('0x16')]['id'])[_0x7a60('0x10')](function(_0x262b52){pm2[_0x7a60('0x20')]();return _0x262b52[0x0];})[_0x7a60('0x10')](respondWithResult(_0x2e12d8,null))[_0x7a60('0x17')](handleError(_0x2e12d8,null));}else{return _0x2e12d8[_0x7a60('0x7')](0x1f4)[_0x7a60('0xc')]({'message':_0x7a60('0x26')});}};