Built motion from commit (unavailable).|2.4.19
[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 _0x4b7d=['destroy','delete','lodash','../../config/pm2','../../config/logger','path','exec','bluebird','sendStatus','status','json','error','stack','name','send','npm\x20install','info','list','then','reject','express','motion2','length','catch','params','create','body','join','script','chdir','start','dump','Missing\x20name\x20and/or\x20path','update','restart','Unknown\x20status'];(function(_0x5948dd,_0x1f6ac8){var _0xb1f8be=function(_0x31a8d2){while(--_0x31a8d2){_0x5948dd['push'](_0x5948dd['shift']());}};_0xb1f8be(++_0x1f6ac8);}(_0x4b7d,0x146));var _0xd4b7=function(_0x189fec,_0x11be66){_0x189fec=_0x189fec-0x0;var _0x6ab1c8=_0x4b7d[_0x189fec];return _0x6ab1c8;};'use strict';var _=require(_0xd4b7('0x0'));var pm2=require(_0xd4b7('0x1'));var logger=require(_0xd4b7('0x2'))('api');var path=require(_0xd4b7('0x3'));var exec=require('child_process')[_0xd4b7('0x4')];var BPromise=require(_0xd4b7('0x5'));function handleEntityNotFound(_0x3adfbf,_0x249269){return function(_0x48078a){if(!_0x48078a){_0x3adfbf[_0xd4b7('0x6')](0x194);;}return _0x48078a;};}function respondWithResult(_0x366b23,_0x247e10){_0x247e10=_0x247e10||0xc8;return function(_0x4b8ac5){if(_0x4b8ac5){return _0x366b23[_0xd4b7('0x7')](_0x247e10)[_0xd4b7('0x8')](_0x4b8ac5);}return null;};}function handleError(_0x3cd31d,_0xe5c86a){_0xe5c86a=_0xe5c86a||0x1f4;return function(_0x34ea7d){logger[_0xd4b7('0x9')](_0x34ea7d[_0xd4b7('0xa')]);if(_0x34ea7d[_0xd4b7('0xb')]){delete _0x34ea7d['name'];}_0x3cd31d[_0xd4b7('0x7')](_0xe5c86a)[_0xd4b7('0xc')](_0x34ea7d);};}function execChildProcess(){return new BPromise(function(_0x5515a1,_0x580d19){exec(_0xd4b7('0xd'),function(_0xfa9b5,_0x2e87cd,_0x34cf8c){logger[_0xd4b7('0xe')](_0x2e87cd);logger['info'](_0x34cf8c);if(_0xfa9b5){logger['error'](_0xfa9b5);return _0x580d19(_0xfa9b5);}return _0x5515a1(_0x2e87cd);});});}exports['index']=function(_0x2ac1c3,_0x2ef07d){return pm2[_0xd4b7('0xf')]()[_0xd4b7('0x10')](function(_0x476e27){if(_0x476e27){var _0x425f12=_[_0xd4b7('0x11')](_0x476e27,function(_0x2ff4e5){return _0x2ff4e5[_0xd4b7('0xb')]===_0xd4b7('0x12')||_0x2ff4e5['name']===_0xd4b7('0x13');});return{'rows':_0x425f12,'count':_0x425f12[_0xd4b7('0x14')]};}return null;})['then'](respondWithResult(_0x2ef07d,null))[_0xd4b7('0x15')](handleError(_0x2ef07d,null));};exports['show']=function(_0x152d7b,_0x2ed19a){return pm2['describe'](_0x152d7b[_0xd4b7('0x16')]['id'])[_0xd4b7('0x10')](respondWithResult(_0x2ed19a,null))['then'](handleEntityNotFound(_0x2ed19a,null))[_0xd4b7('0x15')](handleError(_0x2ed19a,null));};exports[_0xd4b7('0x17')]=function(_0x14bc52,_0x497111){if(_0x14bc52['body'][_0xd4b7('0xb')]&&_0x14bc52[_0xd4b7('0x18')]['script']){var _0x324f33=path[_0xd4b7('0x19')](__dirname,'../../files/plugins',_0x14bc52[_0xd4b7('0x18')][_0xd4b7('0x1a')]);var _0x46b0a1=process['cwd']();process[_0xd4b7('0x1b')](path['dirname'](_0x324f33));return execChildProcess()[_0xd4b7('0x10')](function(_0x4a0752){process[_0xd4b7('0x1b')](_0x46b0a1);return pm2[_0xd4b7('0x1c')]({'name':_0x14bc52[_0xd4b7('0x18')][_0xd4b7('0xb')],'script':_0x324f33});})[_0xd4b7('0x10')](function(_0xefa62){pm2[_0xd4b7('0x1d')]();return _0xefa62[0x0];})[_0xd4b7('0x10')](respondWithResult(_0x497111,0xc9))[_0xd4b7('0x15')](handleError(_0x497111,null));}else{return _0x497111[_0xd4b7('0x7')](0x1f4)[_0xd4b7('0xc')]({'message':_0xd4b7('0x1e')});}};exports[_0xd4b7('0x1f')]=function(_0x152787,_0x1c0789){if(_0x152787['body']['id']){delete _0x152787[_0xd4b7('0x18')]['id'];}var _0x571d0f={'online':_0xd4b7('0x20'),'stopped':'stop'};if(_0x571d0f['hasOwnProperty'](_0x152787[_0xd4b7('0x18')][_0xd4b7('0x7')])){return pm2[_0x571d0f[_0x152787[_0xd4b7('0x18')]['status']]](_0x152787['params']['id'])[_0xd4b7('0x10')](respondWithResult(_0x1c0789,0xc8))['catch'](handleError(_0x1c0789,null));}else{return _0x1c0789[_0xd4b7('0x7')](0x1f4)['send']({'message':_0xd4b7('0x21')});}};exports[_0xd4b7('0x22')]=function(_0x128917,_0x527d7c){if(_0x128917[_0xd4b7('0x18')]['id']){delete _0x128917[_0xd4b7('0x18')]['id'];}if(_0x128917[_0xd4b7('0x16')]['id']){return pm2[_0xd4b7('0x23')](_0x128917[_0xd4b7('0x16')]['id'])[_0xd4b7('0x10')](function(_0x39b9df){pm2['dump']();return _0x39b9df[0x0];})[_0xd4b7('0x10')](respondWithResult(_0x527d7c,null))[_0xd4b7('0x15')](handleError(_0x527d7c,null));}else{return _0x527d7c[_0xd4b7('0x7')](0x1f4)[_0xd4b7('0xc')]({'message':'Unknown\x20id'});}};