Built motion from commit (unavailable).|2.4.20
[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 _0xa90a=['send','npm\x20install','info','index','then','reject','motion2','length','catch','params','create','body','script','../../files/plugins','chdir','dirname','start','Missing\x20name\x20and/or\x20path','stop','hasOwnProperty','Unknown\x20status','dump','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','exec','bluebird','sendStatus','status','error','name'];(function(_0x365814,_0x5cdf65){var _0x347031=function(_0x5c585c){while(--_0x5c585c){_0x365814['push'](_0x365814['shift']());}};_0x347031(++_0x5cdf65);}(_0xa90a,0x7d));var _0xaa90=function(_0x5b797b,_0x1fec8f){_0x5b797b=_0x5b797b-0x0;var _0x49bfa5=_0xa90a[_0x5b797b];return _0x49bfa5;};'use strict';var _=require(_0xaa90('0x0'));var pm2=require(_0xaa90('0x1'));var logger=require(_0xaa90('0x2'))(_0xaa90('0x3'));var path=require(_0xaa90('0x4'));var exec=require('child_process')[_0xaa90('0x5')];var BPromise=require(_0xaa90('0x6'));function handleEntityNotFound(_0x450a78,_0x4e9ad7){return function(_0x294255){if(!_0x294255){_0x450a78[_0xaa90('0x7')](0x194);;}return _0x294255;};}function respondWithResult(_0x3b7594,_0x282e8c){_0x282e8c=_0x282e8c||0xc8;return function(_0xd4dc72){if(_0xd4dc72){return _0x3b7594[_0xaa90('0x8')](_0x282e8c)['json'](_0xd4dc72);}return null;};}function handleError(_0xff99c2,_0xc4de48){_0xc4de48=_0xc4de48||0x1f4;return function(_0x420812){logger[_0xaa90('0x9')](_0x420812['stack']);if(_0x420812[_0xaa90('0xa')]){delete _0x420812[_0xaa90('0xa')];}_0xff99c2['status'](_0xc4de48)[_0xaa90('0xb')](_0x420812);};}function execChildProcess(){return new BPromise(function(_0x3d36a0,_0x2e2970){exec(_0xaa90('0xc'),function(_0x54bd07,_0x3acdc3,_0x4437c4){logger[_0xaa90('0xd')](_0x3acdc3);logger[_0xaa90('0xd')](_0x4437c4);if(_0x54bd07){logger['error'](_0x54bd07);return _0x2e2970(_0x54bd07);}return _0x3d36a0(_0x3acdc3);});});}exports[_0xaa90('0xe')]=function(_0xa2ea3b,_0x50878b){return pm2['list']()[_0xaa90('0xf')](function(_0x4244ac){if(_0x4244ac){var _0x59b4d1=_[_0xaa90('0x10')](_0x4244ac,function(_0x3f050e){return _0x3f050e[_0xaa90('0xa')]==='express'||_0x3f050e[_0xaa90('0xa')]===_0xaa90('0x11');});return{'rows':_0x59b4d1,'count':_0x59b4d1[_0xaa90('0x12')]};}return null;})[_0xaa90('0xf')](respondWithResult(_0x50878b,null))[_0xaa90('0x13')](handleError(_0x50878b,null));};exports['show']=function(_0x2fa2be,_0x16c8c8){return pm2['describe'](_0x2fa2be[_0xaa90('0x14')]['id'])[_0xaa90('0xf')](respondWithResult(_0x16c8c8,null))[_0xaa90('0xf')](handleEntityNotFound(_0x16c8c8,null))[_0xaa90('0x13')](handleError(_0x16c8c8,null));};exports[_0xaa90('0x15')]=function(_0x36a78f,_0x2a2cdc){if(_0x36a78f['body']['name']&&_0x36a78f[_0xaa90('0x16')][_0xaa90('0x17')]){var _0xf5bf3=path['join'](__dirname,_0xaa90('0x18'),_0x36a78f[_0xaa90('0x16')][_0xaa90('0x17')]);var _0x1820db=process['cwd']();process[_0xaa90('0x19')](path[_0xaa90('0x1a')](_0xf5bf3));return execChildProcess()[_0xaa90('0xf')](function(_0x168858){process[_0xaa90('0x19')](_0x1820db);return pm2[_0xaa90('0x1b')]({'name':_0x36a78f[_0xaa90('0x16')][_0xaa90('0xa')],'script':_0xf5bf3});})['then'](function(_0x3196b2){pm2['dump']();return _0x3196b2[0x0];})[_0xaa90('0xf')](respondWithResult(_0x2a2cdc,0xc9))[_0xaa90('0x13')](handleError(_0x2a2cdc,null));}else{return _0x2a2cdc[_0xaa90('0x8')](0x1f4)[_0xaa90('0xb')]({'message':_0xaa90('0x1c')});}};exports['update']=function(_0x21c34a,_0x58bb1d){if(_0x21c34a[_0xaa90('0x16')]['id']){delete _0x21c34a[_0xaa90('0x16')]['id'];}var _0x481076={'online':'restart','stopped':_0xaa90('0x1d')};if(_0x481076[_0xaa90('0x1e')](_0x21c34a[_0xaa90('0x16')][_0xaa90('0x8')])){return pm2[_0x481076[_0x21c34a[_0xaa90('0x16')][_0xaa90('0x8')]]](_0x21c34a[_0xaa90('0x14')]['id'])[_0xaa90('0xf')](respondWithResult(_0x58bb1d,0xc8))[_0xaa90('0x13')](handleError(_0x58bb1d,null));}else{return _0x58bb1d['status'](0x1f4)[_0xaa90('0xb')]({'message':_0xaa90('0x1f')});}};exports['destroy']=function(_0x335047,_0x335fdd){if(_0x335047[_0xaa90('0x16')]['id']){delete _0x335047['body']['id'];}if(_0x335047[_0xaa90('0x14')]['id']){return pm2['delete'](_0x335047[_0xaa90('0x14')]['id'])[_0xaa90('0xf')](function(_0x4eee86){pm2[_0xaa90('0x20')]();return _0x4eee86[0x0];})[_0xaa90('0xf')](respondWithResult(_0x335fdd,null))[_0xaa90('0x13')](handleError(_0x335fdd,null));}else{return _0x335fdd['status'](0x1f4)['send']({'message':_0xaa90('0x21')});}};