Built motion from commit (unavailable).|2.5.22
[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 _0x427e=['delete','dump','Unknown\x20id','lodash','../../config/pm2','api','path','child_process','exec','bluebird','json','error','stack','name','send','npm\x20install','info','index','reject','express','motion2','length','then','catch','show','describe','params','body','script','join','dirname','chdir','start','Missing\x20name\x20and/or\x20path','update','restart','stop','hasOwnProperty','status','Unknown\x20status'];(function(_0x159665,_0x464016){var _0x30bc4c=function(_0x21b6e9){while(--_0x21b6e9){_0x159665['push'](_0x159665['shift']());}};_0x30bc4c(++_0x464016);}(_0x427e,0xf3));var _0xe427=function(_0x37ac9d,_0xafe035){_0x37ac9d=_0x37ac9d-0x0;var _0x2c01a2=_0x427e[_0x37ac9d];return _0x2c01a2;};'use strict';var _=require(_0xe427('0x0'));var pm2=require(_0xe427('0x1'));var logger=require('../../config/logger')(_0xe427('0x2'));var path=require(_0xe427('0x3'));var exec=require(_0xe427('0x4'))[_0xe427('0x5')];var BPromise=require(_0xe427('0x6'));function handleEntityNotFound(_0x301d85,_0x4fe5f2){return function(_0x46685f){if(!_0x46685f){_0x301d85['sendStatus'](0x194);;}return _0x46685f;};}function respondWithResult(_0x1b0ac3,_0x287a96){_0x287a96=_0x287a96||0xc8;return function(_0x2ec037){if(_0x2ec037){return _0x1b0ac3['status'](_0x287a96)[_0xe427('0x7')](_0x2ec037);}return null;};}function handleError(_0x58a47a,_0xc78472){_0xc78472=_0xc78472||0x1f4;return function(_0x11e983){logger[_0xe427('0x8')](_0x11e983[_0xe427('0x9')]);if(_0x11e983['name']){delete _0x11e983[_0xe427('0xa')];}_0x58a47a['status'](_0xc78472)[_0xe427('0xb')](_0x11e983);};}function execChildProcess(){return new BPromise(function(_0x49fbaf,_0x4ac3de){exec(_0xe427('0xc'),function(_0x1540e3,_0x13d50c,_0x18b341){logger[_0xe427('0xd')](_0x13d50c);logger[_0xe427('0xd')](_0x18b341);if(_0x1540e3){logger[_0xe427('0x8')](_0x1540e3);return _0x4ac3de(_0x1540e3);}return _0x49fbaf(_0x13d50c);});});}exports[_0xe427('0xe')]=function(_0x4bb82f,_0x407e01){return pm2['list']()['then'](function(_0xe57ac7){if(_0xe57ac7){var _0xe04176=_[_0xe427('0xf')](_0xe57ac7,function(_0xafde89){return _0xafde89[_0xe427('0xa')]===_0xe427('0x10')||_0xafde89['name']===_0xe427('0x11');});return{'rows':_0xe04176,'count':_0xe04176[_0xe427('0x12')]};}return null;})[_0xe427('0x13')](respondWithResult(_0x407e01,null))[_0xe427('0x14')](handleError(_0x407e01,null));};exports[_0xe427('0x15')]=function(_0x53af52,_0x4d48aa){return pm2[_0xe427('0x16')](_0x53af52[_0xe427('0x17')]['id'])[_0xe427('0x13')](respondWithResult(_0x4d48aa,null))[_0xe427('0x13')](handleEntityNotFound(_0x4d48aa,null))[_0xe427('0x14')](handleError(_0x4d48aa,null));};exports['create']=function(_0x3ddc3f,_0xdc8a08){if(_0x3ddc3f[_0xe427('0x18')][_0xe427('0xa')]&&_0x3ddc3f[_0xe427('0x18')][_0xe427('0x19')]){var _0x34d1a4=path[_0xe427('0x1a')](__dirname,'../../files/plugins',_0x3ddc3f[_0xe427('0x18')][_0xe427('0x19')]);var _0x5d266d=process['cwd']();process['chdir'](path[_0xe427('0x1b')](_0x34d1a4));return execChildProcess()[_0xe427('0x13')](function(_0x28e1a5){process[_0xe427('0x1c')](_0x5d266d);return pm2[_0xe427('0x1d')]({'name':_0x3ddc3f['body'][_0xe427('0xa')],'script':_0x34d1a4});})[_0xe427('0x13')](function(_0x1f4daa){pm2['dump']();return _0x1f4daa[0x0];})[_0xe427('0x13')](respondWithResult(_0xdc8a08,0xc9))['catch'](handleError(_0xdc8a08,null));}else{return _0xdc8a08['status'](0x1f4)['send']({'message':_0xe427('0x1e')});}};exports[_0xe427('0x1f')]=function(_0x234910,_0x252987){if(_0x234910[_0xe427('0x18')]['id']){delete _0x234910[_0xe427('0x18')]['id'];}var _0x58f2e5={'online':_0xe427('0x20'),'stopped':_0xe427('0x21')};if(_0x58f2e5[_0xe427('0x22')](_0x234910['body'][_0xe427('0x23')])){return pm2[_0x58f2e5[_0x234910[_0xe427('0x18')]['status']]](_0x234910['params']['id'])[_0xe427('0x13')](respondWithResult(_0x252987,0xc8))[_0xe427('0x14')](handleError(_0x252987,null));}else{return _0x252987[_0xe427('0x23')](0x1f4)[_0xe427('0xb')]({'message':_0xe427('0x24')});}};exports['destroy']=function(_0x9801d8,_0x3e4454){if(_0x9801d8['body']['id']){delete _0x9801d8['body']['id'];}if(_0x9801d8[_0xe427('0x17')]['id']){return pm2[_0xe427('0x25')](_0x9801d8[_0xe427('0x17')]['id'])[_0xe427('0x13')](function(_0x4b6069){pm2[_0xe427('0x26')]();return _0x4b6069[0x0];})['then'](respondWithResult(_0x3e4454,null))[_0xe427('0x14')](handleError(_0x3e4454,null));}else{return _0x3e4454[_0xe427('0x23')](0x1f4)['send']({'message':_0xe427('0x27')});}};