Built motion from commit (unavailable).|2.4.18
[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 _0x4f19=['bluebird','sendStatus','status','error','stack','name','info','list','then','reject','motion2','length','catch','show','params','create','script','join','../../files/plugins','body','cwd','chdir','start','dump','send','Missing\x20name\x20and/or\x20path','restart','hasOwnProperty','Unknown\x20status','delete','lodash','../../config/pm2','../../config/logger','api','exec'];(function(_0xd2a21c,_0x3ac007){var _0xba17b2=function(_0x43e1df){while(--_0x43e1df){_0xd2a21c['push'](_0xd2a21c['shift']());}};_0xba17b2(++_0x3ac007);}(_0x4f19,0xaa));var _0x94f1=function(_0x45fc00,_0x1fc7a9){_0x45fc00=_0x45fc00-0x0;var _0x505449=_0x4f19[_0x45fc00];return _0x505449;};'use strict';var _=require(_0x94f1('0x0'));var pm2=require(_0x94f1('0x1'));var logger=require(_0x94f1('0x2'))(_0x94f1('0x3'));var path=require('path');var exec=require('child_process')[_0x94f1('0x4')];var BPromise=require(_0x94f1('0x5'));function handleEntityNotFound(_0x4cd97e,_0x17a1f2){return function(_0xcecf4b){if(!_0xcecf4b){_0x4cd97e[_0x94f1('0x6')](0x194);;}return _0xcecf4b;};}function respondWithResult(_0x3e2991,_0x203695){_0x203695=_0x203695||0xc8;return function(_0x2daa55){if(_0x2daa55){return _0x3e2991[_0x94f1('0x7')](_0x203695)['json'](_0x2daa55);}return null;};}function handleError(_0x5a06d9,_0x2fd65a){_0x2fd65a=_0x2fd65a||0x1f4;return function(_0x2c9fc0){logger[_0x94f1('0x8')](_0x2c9fc0[_0x94f1('0x9')]);if(_0x2c9fc0[_0x94f1('0xa')]){delete _0x2c9fc0[_0x94f1('0xa')];}_0x5a06d9[_0x94f1('0x7')](_0x2fd65a)['send'](_0x2c9fc0);};}function execChildProcess(){return new BPromise(function(_0x444417,_0x3fd41e){exec('npm\x20install',function(_0x200dde,_0x1b115f,_0x45eb5d){logger[_0x94f1('0xb')](_0x1b115f);logger[_0x94f1('0xb')](_0x45eb5d);if(_0x200dde){logger[_0x94f1('0x8')](_0x200dde);return _0x3fd41e(_0x200dde);}return _0x444417(_0x1b115f);});});}exports['index']=function(_0x2f960d,_0x47125f){return pm2[_0x94f1('0xc')]()[_0x94f1('0xd')](function(_0x301f49){if(_0x301f49){var _0xe83f50=_[_0x94f1('0xe')](_0x301f49,function(_0x44bf95){return _0x44bf95[_0x94f1('0xa')]==='express'||_0x44bf95[_0x94f1('0xa')]===_0x94f1('0xf');});return{'rows':_0xe83f50,'count':_0xe83f50[_0x94f1('0x10')]};}return null;})['then'](respondWithResult(_0x47125f,null))[_0x94f1('0x11')](handleError(_0x47125f,null));};exports[_0x94f1('0x12')]=function(_0x594f2c,_0x2437be){return pm2['describe'](_0x594f2c[_0x94f1('0x13')]['id'])['then'](respondWithResult(_0x2437be,null))[_0x94f1('0xd')](handleEntityNotFound(_0x2437be,null))[_0x94f1('0x11')](handleError(_0x2437be,null));};exports[_0x94f1('0x14')]=function(_0x3c5c95,_0x5993e3){if(_0x3c5c95['body'][_0x94f1('0xa')]&&_0x3c5c95['body'][_0x94f1('0x15')]){var _0x47b4ca=path[_0x94f1('0x16')](__dirname,_0x94f1('0x17'),_0x3c5c95[_0x94f1('0x18')]['script']);var _0x4399ec=process[_0x94f1('0x19')]();process[_0x94f1('0x1a')](path['dirname'](_0x47b4ca));return execChildProcess()['then'](function(_0x728e50){process['chdir'](_0x4399ec);return pm2[_0x94f1('0x1b')]({'name':_0x3c5c95[_0x94f1('0x18')][_0x94f1('0xa')],'script':_0x47b4ca});})['then'](function(_0x2ab45e){pm2[_0x94f1('0x1c')]();return _0x2ab45e[0x0];})[_0x94f1('0xd')](respondWithResult(_0x5993e3,0xc9))['catch'](handleError(_0x5993e3,null));}else{return _0x5993e3['status'](0x1f4)[_0x94f1('0x1d')]({'message':_0x94f1('0x1e')});}};exports['update']=function(_0x31bb56,_0x4f6aa1){if(_0x31bb56[_0x94f1('0x18')]['id']){delete _0x31bb56[_0x94f1('0x18')]['id'];}var _0x313c01={'online':_0x94f1('0x1f'),'stopped':'stop'};if(_0x313c01[_0x94f1('0x20')](_0x31bb56[_0x94f1('0x18')][_0x94f1('0x7')])){return pm2[_0x313c01[_0x31bb56['body'][_0x94f1('0x7')]]](_0x31bb56[_0x94f1('0x13')]['id'])[_0x94f1('0xd')](respondWithResult(_0x4f6aa1,0xc8))[_0x94f1('0x11')](handleError(_0x4f6aa1,null));}else{return _0x4f6aa1['status'](0x1f4)[_0x94f1('0x1d')]({'message':_0x94f1('0x21')});}};exports['destroy']=function(_0x3dc8d6,_0x2d3047){if(_0x3dc8d6['body']['id']){delete _0x3dc8d6[_0x94f1('0x18')]['id'];}if(_0x3dc8d6[_0x94f1('0x13')]['id']){return pm2[_0x94f1('0x22')](_0x3dc8d6[_0x94f1('0x13')]['id'])['then'](function(_0x1cb87d){pm2['dump']();return _0x1cb87d[0x0];})[_0x94f1('0xd')](respondWithResult(_0x2d3047,null))[_0x94f1('0x11')](handleError(_0x2d3047,null));}else{return _0x2d3047['status'](0x1f4)[_0x94f1('0x1d')]({'message':'Unknown\x20id'});}};