Built motion from commit (unavailable).|2.5.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 _0xcf84=['../../config/pm2','../../config/logger','api','path','exec','bluebird','sendStatus','status','json','error','stack','name','send','npm\x20install','info','index','then','express','motion2','describe','catch','create','body','script','../../files/plugins','cwd','chdir','dirname','start','Missing\x20name\x20and/or\x20path','hasOwnProperty','Unknown\x20status','destroy','params','delete','dump','Unknown\x20id','lodash'];(function(_0x57f7a5,_0x11b664){var _0x3e3d18=function(_0x372a52){while(--_0x372a52){_0x57f7a5['push'](_0x57f7a5['shift']());}};_0x3e3d18(++_0x11b664);}(_0xcf84,0x1c7));var _0x4cf8=function(_0x3d87c9,_0x19cedd){_0x3d87c9=_0x3d87c9-0x0;var _0x43d3f0=_0xcf84[_0x3d87c9];return _0x43d3f0;};'use strict';var _=require(_0x4cf8('0x0'));var pm2=require(_0x4cf8('0x1'));var logger=require(_0x4cf8('0x2'))(_0x4cf8('0x3'));var path=require(_0x4cf8('0x4'));var exec=require('child_process')[_0x4cf8('0x5')];var BPromise=require(_0x4cf8('0x6'));function handleEntityNotFound(_0x45a7d0,_0x4c6c78){return function(_0x462bd4){if(!_0x462bd4){_0x45a7d0[_0x4cf8('0x7')](0x194);;}return _0x462bd4;};}function respondWithResult(_0x270b71,_0x41b5c3){_0x41b5c3=_0x41b5c3||0xc8;return function(_0x22c579){if(_0x22c579){return _0x270b71[_0x4cf8('0x8')](_0x41b5c3)[_0x4cf8('0x9')](_0x22c579);}return null;};}function handleError(_0x3c6757,_0x2fa7c2){_0x2fa7c2=_0x2fa7c2||0x1f4;return function(_0xcea596){logger[_0x4cf8('0xa')](_0xcea596[_0x4cf8('0xb')]);if(_0xcea596[_0x4cf8('0xc')]){delete _0xcea596[_0x4cf8('0xc')];}_0x3c6757['status'](_0x2fa7c2)[_0x4cf8('0xd')](_0xcea596);};}function execChildProcess(){return new BPromise(function(_0xcef714,_0x1fc4b2){exec(_0x4cf8('0xe'),function(_0x4b0ccb,_0x37e187,_0x4e3594){logger['info'](_0x37e187);logger[_0x4cf8('0xf')](_0x4e3594);if(_0x4b0ccb){logger[_0x4cf8('0xa')](_0x4b0ccb);return _0x1fc4b2(_0x4b0ccb);}return _0xcef714(_0x37e187);});});}exports[_0x4cf8('0x10')]=function(_0x48ba95,_0x233fa4){return pm2['list']()[_0x4cf8('0x11')](function(_0x4e4164){if(_0x4e4164){var _0x576880=_['reject'](_0x4e4164,function(_0x4b8cc7){return _0x4b8cc7[_0x4cf8('0xc')]===_0x4cf8('0x12')||_0x4b8cc7[_0x4cf8('0xc')]===_0x4cf8('0x13');});return{'rows':_0x576880,'count':_0x576880['length']};}return null;})[_0x4cf8('0x11')](respondWithResult(_0x233fa4,null))['catch'](handleError(_0x233fa4,null));};exports['show']=function(_0x4bb074,_0x3aef4b){return pm2[_0x4cf8('0x14')](_0x4bb074['params']['id'])['then'](respondWithResult(_0x3aef4b,null))[_0x4cf8('0x11')](handleEntityNotFound(_0x3aef4b,null))[_0x4cf8('0x15')](handleError(_0x3aef4b,null));};exports[_0x4cf8('0x16')]=function(_0x29f9d9,_0x328425){if(_0x29f9d9[_0x4cf8('0x17')][_0x4cf8('0xc')]&&_0x29f9d9['body'][_0x4cf8('0x18')]){var _0x54fd56=path['join'](__dirname,_0x4cf8('0x19'),_0x29f9d9['body'][_0x4cf8('0x18')]);var _0xc692e1=process[_0x4cf8('0x1a')]();process[_0x4cf8('0x1b')](path[_0x4cf8('0x1c')](_0x54fd56));return execChildProcess()[_0x4cf8('0x11')](function(_0x3534ad){process[_0x4cf8('0x1b')](_0xc692e1);return pm2[_0x4cf8('0x1d')]({'name':_0x29f9d9[_0x4cf8('0x17')][_0x4cf8('0xc')],'script':_0x54fd56});})['then'](function(_0x2a3720){pm2['dump']();return _0x2a3720[0x0];})[_0x4cf8('0x11')](respondWithResult(_0x328425,0xc9))[_0x4cf8('0x15')](handleError(_0x328425,null));}else{return _0x328425[_0x4cf8('0x8')](0x1f4)[_0x4cf8('0xd')]({'message':_0x4cf8('0x1e')});}};exports['update']=function(_0x545b52,_0x4840da){if(_0x545b52[_0x4cf8('0x17')]['id']){delete _0x545b52[_0x4cf8('0x17')]['id'];}var _0x493395={'online':'restart','stopped':'stop'};if(_0x493395[_0x4cf8('0x1f')](_0x545b52['body'][_0x4cf8('0x8')])){return pm2[_0x493395[_0x545b52[_0x4cf8('0x17')][_0x4cf8('0x8')]]](_0x545b52['params']['id'])['then'](respondWithResult(_0x4840da,0xc8))[_0x4cf8('0x15')](handleError(_0x4840da,null));}else{return _0x4840da[_0x4cf8('0x8')](0x1f4)['send']({'message':_0x4cf8('0x20')});}};exports[_0x4cf8('0x21')]=function(_0x425c55,_0x573f4f){if(_0x425c55[_0x4cf8('0x17')]['id']){delete _0x425c55[_0x4cf8('0x17')]['id'];}if(_0x425c55[_0x4cf8('0x22')]['id']){return pm2[_0x4cf8('0x23')](_0x425c55[_0x4cf8('0x22')]['id'])[_0x4cf8('0x11')](function(_0xa25964){pm2[_0x4cf8('0x24')]();return _0xa25964[0x0];})[_0x4cf8('0x11')](respondWithResult(_0x573f4f,null))[_0x4cf8('0x15')](handleError(_0x573f4f,null));}else{return _0x573f4f['status'](0x1f4)['send']({'message':_0x4cf8('0x25')});}};