Built motion from commit (unavailable).|2.5.24
[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 _0x8ed4=['sendStatus','status','error','name','send','npm\x20install','info','index','then','reject','motion2','length','catch','describe','params','create','body','script','join','../../files/plugins','chdir','dirname','dump','update','restart','stop','hasOwnProperty','Unknown\x20status','destroy','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','child_process','exec','bluebird'];(function(_0x19f000,_0x39ac54){var _0x81cee0=function(_0x1ea7b8){while(--_0x1ea7b8){_0x19f000['push'](_0x19f000['shift']());}};_0x81cee0(++_0x39ac54);}(_0x8ed4,0x102));var _0x48ed=function(_0x425e53,_0x98bad7){_0x425e53=_0x425e53-0x0;var _0x4a8c94=_0x8ed4[_0x425e53];return _0x4a8c94;};'use strict';var _=require(_0x48ed('0x0'));var pm2=require(_0x48ed('0x1'));var logger=require(_0x48ed('0x2'))(_0x48ed('0x3'));var path=require(_0x48ed('0x4'));var exec=require(_0x48ed('0x5'))[_0x48ed('0x6')];var BPromise=require(_0x48ed('0x7'));function handleEntityNotFound(_0x435e46,_0x1bc054){return function(_0x108aee){if(!_0x108aee){_0x435e46[_0x48ed('0x8')](0x194);;}return _0x108aee;};}function respondWithResult(_0x5662d1,_0x1e3eef){_0x1e3eef=_0x1e3eef||0xc8;return function(_0x2b7041){if(_0x2b7041){return _0x5662d1[_0x48ed('0x9')](_0x1e3eef)['json'](_0x2b7041);}return null;};}function handleError(_0x573731,_0x16e0d2){_0x16e0d2=_0x16e0d2||0x1f4;return function(_0x2782e1){logger[_0x48ed('0xa')](_0x2782e1['stack']);if(_0x2782e1['name']){delete _0x2782e1[_0x48ed('0xb')];}_0x573731['status'](_0x16e0d2)[_0x48ed('0xc')](_0x2782e1);};}function execChildProcess(){return new BPromise(function(_0x37f369,_0x5cccf4){exec(_0x48ed('0xd'),function(_0x504dc8,_0xf7bb4b,_0xf79c8){logger[_0x48ed('0xe')](_0xf7bb4b);logger[_0x48ed('0xe')](_0xf79c8);if(_0x504dc8){logger[_0x48ed('0xa')](_0x504dc8);return _0x5cccf4(_0x504dc8);}return _0x37f369(_0xf7bb4b);});});}exports[_0x48ed('0xf')]=function(_0x54381a,_0x4f6821){return pm2['list']()[_0x48ed('0x10')](function(_0x49d742){if(_0x49d742){var _0x127ed9=_[_0x48ed('0x11')](_0x49d742,function(_0x4c929c){return _0x4c929c['name']==='express'||_0x4c929c['name']===_0x48ed('0x12');});return{'rows':_0x127ed9,'count':_0x127ed9[_0x48ed('0x13')]};}return null;})[_0x48ed('0x10')](respondWithResult(_0x4f6821,null))[_0x48ed('0x14')](handleError(_0x4f6821,null));};exports['show']=function(_0x385587,_0x4b21d5){return pm2[_0x48ed('0x15')](_0x385587[_0x48ed('0x16')]['id'])[_0x48ed('0x10')](respondWithResult(_0x4b21d5,null))['then'](handleEntityNotFound(_0x4b21d5,null))[_0x48ed('0x14')](handleError(_0x4b21d5,null));};exports[_0x48ed('0x17')]=function(_0x281876,_0x516f7f){if(_0x281876[_0x48ed('0x18')][_0x48ed('0xb')]&&_0x281876['body'][_0x48ed('0x19')]){var _0x1b46a2=path[_0x48ed('0x1a')](__dirname,_0x48ed('0x1b'),_0x281876['body'][_0x48ed('0x19')]);var _0x1a0b42=process['cwd']();process[_0x48ed('0x1c')](path[_0x48ed('0x1d')](_0x1b46a2));return execChildProcess()[_0x48ed('0x10')](function(_0x55beb4){process['chdir'](_0x1a0b42);return pm2['start']({'name':_0x281876[_0x48ed('0x18')][_0x48ed('0xb')],'script':_0x1b46a2});})[_0x48ed('0x10')](function(_0x54a0cf){pm2[_0x48ed('0x1e')]();return _0x54a0cf[0x0];})[_0x48ed('0x10')](respondWithResult(_0x516f7f,0xc9))[_0x48ed('0x14')](handleError(_0x516f7f,null));}else{return _0x516f7f['status'](0x1f4)[_0x48ed('0xc')]({'message':'Missing\x20name\x20and/or\x20path'});}};exports[_0x48ed('0x1f')]=function(_0x270e8e,_0x4485c2){if(_0x270e8e[_0x48ed('0x18')]['id']){delete _0x270e8e[_0x48ed('0x18')]['id'];}var _0x43bfae={'online':_0x48ed('0x20'),'stopped':_0x48ed('0x21')};if(_0x43bfae[_0x48ed('0x22')](_0x270e8e[_0x48ed('0x18')][_0x48ed('0x9')])){return pm2[_0x43bfae[_0x270e8e['body']['status']]](_0x270e8e[_0x48ed('0x16')]['id'])[_0x48ed('0x10')](respondWithResult(_0x4485c2,0xc8))[_0x48ed('0x14')](handleError(_0x4485c2,null));}else{return _0x4485c2[_0x48ed('0x9')](0x1f4)[_0x48ed('0xc')]({'message':_0x48ed('0x23')});}};exports[_0x48ed('0x24')]=function(_0x5f28bf,_0x5ba0a5){if(_0x5f28bf[_0x48ed('0x18')]['id']){delete _0x5f28bf[_0x48ed('0x18')]['id'];}if(_0x5f28bf[_0x48ed('0x16')]['id']){return pm2['delete'](_0x5f28bf[_0x48ed('0x16')]['id'])[_0x48ed('0x10')](function(_0x227fab){pm2[_0x48ed('0x1e')]();return _0x227fab[0x0];})[_0x48ed('0x10')](respondWithResult(_0x5ba0a5,null))[_0x48ed('0x14')](handleError(_0x5ba0a5,null));}else{return _0x5ba0a5[_0x48ed('0x9')](0x1f4)['send']({'message':_0x48ed('0x25')});}};