Built motion from commit (unavailable).|2.5.10
[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 _0xad72=['delete','dump','Unknown\x20id','lodash','../../config/pm2','../../config/logger','path','exec','bluebird','sendStatus','status','json','error','stack','name','send','npm\x20install','info','index','reject','express','motion2','length','then','describe','create','body','script','join','../../files/plugins','cwd','chdir','start','catch','Missing\x20name\x20and/or\x20path','update','restart','stop','hasOwnProperty','params','destroy'];(function(_0x2f399b,_0x32f990){var _0x5eabc0=function(_0x25d0c4){while(--_0x25d0c4){_0x2f399b['push'](_0x2f399b['shift']());}};_0x5eabc0(++_0x32f990);}(_0xad72,0xf9));var _0x2ad7=function(_0x32afe4,_0x5658a9){_0x32afe4=_0x32afe4-0x0;var _0x3c2c7b=_0xad72[_0x32afe4];return _0x3c2c7b;};'use strict';var _=require(_0x2ad7('0x0'));var pm2=require(_0x2ad7('0x1'));var logger=require(_0x2ad7('0x2'))('api');var path=require(_0x2ad7('0x3'));var exec=require('child_process')[_0x2ad7('0x4')];var BPromise=require(_0x2ad7('0x5'));function handleEntityNotFound(_0x4e054e,_0x68b018){return function(_0x416deb){if(!_0x416deb){_0x4e054e[_0x2ad7('0x6')](0x194);;}return _0x416deb;};}function respondWithResult(_0x243546,_0xb30b0f){_0xb30b0f=_0xb30b0f||0xc8;return function(_0x44dc62){if(_0x44dc62){return _0x243546[_0x2ad7('0x7')](_0xb30b0f)[_0x2ad7('0x8')](_0x44dc62);}return null;};}function handleError(_0x3ac0ab,_0x417921){_0x417921=_0x417921||0x1f4;return function(_0x36280e){logger[_0x2ad7('0x9')](_0x36280e[_0x2ad7('0xa')]);if(_0x36280e[_0x2ad7('0xb')]){delete _0x36280e[_0x2ad7('0xb')];}_0x3ac0ab['status'](_0x417921)[_0x2ad7('0xc')](_0x36280e);};}function execChildProcess(){return new BPromise(function(_0x54af3d,_0x24f74a){exec(_0x2ad7('0xd'),function(_0x403a66,_0x51e44a,_0x488bd4){logger[_0x2ad7('0xe')](_0x51e44a);logger[_0x2ad7('0xe')](_0x488bd4);if(_0x403a66){logger[_0x2ad7('0x9')](_0x403a66);return _0x24f74a(_0x403a66);}return _0x54af3d(_0x51e44a);});});}exports[_0x2ad7('0xf')]=function(_0x2ff9a0,_0x309581){return pm2['list']()['then'](function(_0x39df20){if(_0x39df20){var _0x367c72=_[_0x2ad7('0x10')](_0x39df20,function(_0x5c1f2e){return _0x5c1f2e[_0x2ad7('0xb')]===_0x2ad7('0x11')||_0x5c1f2e[_0x2ad7('0xb')]===_0x2ad7('0x12');});return{'rows':_0x367c72,'count':_0x367c72[_0x2ad7('0x13')]};}return null;})[_0x2ad7('0x14')](respondWithResult(_0x309581,null))['catch'](handleError(_0x309581,null));};exports['show']=function(_0x4ddf84,_0x50a2be){return pm2[_0x2ad7('0x15')](_0x4ddf84['params']['id'])['then'](respondWithResult(_0x50a2be,null))[_0x2ad7('0x14')](handleEntityNotFound(_0x50a2be,null))['catch'](handleError(_0x50a2be,null));};exports[_0x2ad7('0x16')]=function(_0x3dfd71,_0xa90fa9){if(_0x3dfd71['body'][_0x2ad7('0xb')]&&_0x3dfd71[_0x2ad7('0x17')][_0x2ad7('0x18')]){var _0x2c2913=path[_0x2ad7('0x19')](__dirname,_0x2ad7('0x1a'),_0x3dfd71[_0x2ad7('0x17')][_0x2ad7('0x18')]);var _0x5c4067=process[_0x2ad7('0x1b')]();process[_0x2ad7('0x1c')](path['dirname'](_0x2c2913));return execChildProcess()[_0x2ad7('0x14')](function(_0xbeac61){process[_0x2ad7('0x1c')](_0x5c4067);return pm2[_0x2ad7('0x1d')]({'name':_0x3dfd71[_0x2ad7('0x17')][_0x2ad7('0xb')],'script':_0x2c2913});})[_0x2ad7('0x14')](function(_0x25d52b){pm2['dump']();return _0x25d52b[0x0];})[_0x2ad7('0x14')](respondWithResult(_0xa90fa9,0xc9))[_0x2ad7('0x1e')](handleError(_0xa90fa9,null));}else{return _0xa90fa9[_0x2ad7('0x7')](0x1f4)[_0x2ad7('0xc')]({'message':_0x2ad7('0x1f')});}};exports[_0x2ad7('0x20')]=function(_0x46597b,_0xc3a51e){if(_0x46597b[_0x2ad7('0x17')]['id']){delete _0x46597b[_0x2ad7('0x17')]['id'];}var _0x99ebf8={'online':_0x2ad7('0x21'),'stopped':_0x2ad7('0x22')};if(_0x99ebf8[_0x2ad7('0x23')](_0x46597b['body']['status'])){return pm2[_0x99ebf8[_0x46597b[_0x2ad7('0x17')]['status']]](_0x46597b[_0x2ad7('0x24')]['id'])[_0x2ad7('0x14')](respondWithResult(_0xc3a51e,0xc8))[_0x2ad7('0x1e')](handleError(_0xc3a51e,null));}else{return _0xc3a51e[_0x2ad7('0x7')](0x1f4)[_0x2ad7('0xc')]({'message':'Unknown\x20status'});}};exports[_0x2ad7('0x25')]=function(_0x2c8602,_0x3d3054){if(_0x2c8602['body']['id']){delete _0x2c8602['body']['id'];}if(_0x2c8602[_0x2ad7('0x24')]['id']){return pm2[_0x2ad7('0x26')](_0x2c8602['params']['id'])[_0x2ad7('0x14')](function(_0x43049a){pm2[_0x2ad7('0x27')]();return _0x43049a[0x0];})[_0x2ad7('0x14')](respondWithResult(_0x3d3054,null))['catch'](handleError(_0x3d3054,null));}else{return _0x3d3054[_0x2ad7('0x7')](0x1f4)[_0x2ad7('0xc')]({'message':_0x2ad7('0x28')});}};