Built motion from commit (unavailable).|2.5.9
[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 _0xc758=['dirname','start','dump','Missing\x20name\x20and/or\x20path','restart','stop','hasOwnProperty','Unknown\x20status','destroy','delete','lodash','../../config/pm2','../../config/logger','api','path','child_process','exec','bluebird','status','stack','name','send','npm\x20install','info','error','list','then','reject','express','motion2','length','catch','show','params','create','body','join','../../files/plugins','script','chdir'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0xc758,0x19a));var _0x8c75=function(_0x5039dd,_0x2f56e6){_0x5039dd=_0x5039dd-0x0;var _0xf4d0f2=_0xc758[_0x5039dd];return _0xf4d0f2;};'use strict';var _=require(_0x8c75('0x0'));var pm2=require(_0x8c75('0x1'));var logger=require(_0x8c75('0x2'))(_0x8c75('0x3'));var path=require(_0x8c75('0x4'));var exec=require(_0x8c75('0x5'))[_0x8c75('0x6')];var BPromise=require(_0x8c75('0x7'));function handleEntityNotFound(_0x3442e0,_0x23b28e){return function(_0x6718a6){if(!_0x6718a6){_0x3442e0['sendStatus'](0x194);;}return _0x6718a6;};}function respondWithResult(_0x260905,_0x223f1b){_0x223f1b=_0x223f1b||0xc8;return function(_0x3ef62b){if(_0x3ef62b){return _0x260905[_0x8c75('0x8')](_0x223f1b)['json'](_0x3ef62b);}return null;};}function handleError(_0x36d118,_0x354b2d){_0x354b2d=_0x354b2d||0x1f4;return function(_0x2eec7b){logger['error'](_0x2eec7b[_0x8c75('0x9')]);if(_0x2eec7b['name']){delete _0x2eec7b[_0x8c75('0xa')];}_0x36d118[_0x8c75('0x8')](_0x354b2d)[_0x8c75('0xb')](_0x2eec7b);};}function execChildProcess(){return new BPromise(function(_0x5dcc20,_0x5d9d07){exec(_0x8c75('0xc'),function(_0x4c3cec,_0x315618,_0x50dfa7){logger['info'](_0x315618);logger[_0x8c75('0xd')](_0x50dfa7);if(_0x4c3cec){logger[_0x8c75('0xe')](_0x4c3cec);return _0x5d9d07(_0x4c3cec);}return _0x5dcc20(_0x315618);});});}exports['index']=function(_0x9527f9,_0x27c0cc){return pm2[_0x8c75('0xf')]()[_0x8c75('0x10')](function(_0x5e271e){if(_0x5e271e){var _0x4919d5=_[_0x8c75('0x11')](_0x5e271e,function(_0x2388df){return _0x2388df['name']===_0x8c75('0x12')||_0x2388df[_0x8c75('0xa')]===_0x8c75('0x13');});return{'rows':_0x4919d5,'count':_0x4919d5[_0x8c75('0x14')]};}return null;})['then'](respondWithResult(_0x27c0cc,null))[_0x8c75('0x15')](handleError(_0x27c0cc,null));};exports[_0x8c75('0x16')]=function(_0x21a9b0,_0x244767){return pm2['describe'](_0x21a9b0[_0x8c75('0x17')]['id'])[_0x8c75('0x10')](respondWithResult(_0x244767,null))[_0x8c75('0x10')](handleEntityNotFound(_0x244767,null))[_0x8c75('0x15')](handleError(_0x244767,null));};exports[_0x8c75('0x18')]=function(_0x2723df,_0x1ae6a8){if(_0x2723df[_0x8c75('0x19')][_0x8c75('0xa')]&&_0x2723df['body']['script']){var _0x1778bb=path[_0x8c75('0x1a')](__dirname,_0x8c75('0x1b'),_0x2723df[_0x8c75('0x19')][_0x8c75('0x1c')]);var _0x3ed0fc=process['cwd']();process[_0x8c75('0x1d')](path[_0x8c75('0x1e')](_0x1778bb));return execChildProcess()[_0x8c75('0x10')](function(_0x549dc0){process[_0x8c75('0x1d')](_0x3ed0fc);return pm2[_0x8c75('0x1f')]({'name':_0x2723df[_0x8c75('0x19')][_0x8c75('0xa')],'script':_0x1778bb});})[_0x8c75('0x10')](function(_0x3e0717){pm2[_0x8c75('0x20')]();return _0x3e0717[0x0];})['then'](respondWithResult(_0x1ae6a8,0xc9))['catch'](handleError(_0x1ae6a8,null));}else{return _0x1ae6a8[_0x8c75('0x8')](0x1f4)['send']({'message':_0x8c75('0x21')});}};exports['update']=function(_0x27f8ad,_0x5edfd1){if(_0x27f8ad[_0x8c75('0x19')]['id']){delete _0x27f8ad[_0x8c75('0x19')]['id'];}var _0x4d5485={'online':_0x8c75('0x22'),'stopped':_0x8c75('0x23')};if(_0x4d5485[_0x8c75('0x24')](_0x27f8ad[_0x8c75('0x19')][_0x8c75('0x8')])){return pm2[_0x4d5485[_0x27f8ad[_0x8c75('0x19')][_0x8c75('0x8')]]](_0x27f8ad[_0x8c75('0x17')]['id'])[_0x8c75('0x10')](respondWithResult(_0x5edfd1,0xc8))[_0x8c75('0x15')](handleError(_0x5edfd1,null));}else{return _0x5edfd1[_0x8c75('0x8')](0x1f4)['send']({'message':_0x8c75('0x25')});}};exports[_0x8c75('0x26')]=function(_0x508296,_0x4e18cd){if(_0x508296['body']['id']){delete _0x508296['body']['id'];}if(_0x508296['params']['id']){return pm2[_0x8c75('0x27')](_0x508296[_0x8c75('0x17')]['id'])[_0x8c75('0x10')](function(_0x354686){pm2[_0x8c75('0x20')]();return _0x354686[0x0];})[_0x8c75('0x10')](respondWithResult(_0x4e18cd,null))[_0x8c75('0x15')](handleError(_0x4e18cd,null));}else{return _0x4e18cd[_0x8c75('0x8')](0x1f4)['send']({'message':'Unknown\x20id'});}};